diff --git a/ruby/Gemfile b/ruby/Gemfile index 67fa507f4..768695548 100644 --- a/ruby/Gemfile +++ b/ruby/Gemfile @@ -20,6 +20,7 @@ gem 'actionmailer', '3.2.13' gem 'sendgrid' gem 'aws-sdk', '1.29.1' gem 'carrierwave' +gem 'carrierwave_direct' gem 'aasm', '3.0.16' gem 'devise', '>= 1.1.2' gem 'postgres-copy' @@ -41,6 +42,7 @@ group :test do gem 'spork', '0.9.0' gem 'database_cleaner', '0.7.0' gem 'rest-client' + gem 'faker' end # Specify your gem's dependencies in jam_ruby.gemspec diff --git a/ruby/lib/jam_ruby.rb b/ruby/lib/jam_ruby.rb index c09ed211d..a2235ad27 100755 --- a/ruby/lib/jam_ruby.rb +++ b/ruby/lib/jam_ruby.rb @@ -2,6 +2,7 @@ require "pg" require "active_record" require "carrierwave" require "carrierwave/orm/activerecord" +require "carrierwave_direct" require "jampb" require "uuidtools" require "logging" diff --git a/ruby/lib/jam_ruby/models/promotional.rb b/ruby/lib/jam_ruby/models/promotional.rb index a48312516..20d83f1d0 100644 --- a/ruby/lib/jam_ruby/models/promotional.rb +++ b/ruby/lib/jam_ruby/models/promotional.rb @@ -36,8 +36,8 @@ class JamRuby::Promotional < ActiveRecord::Base end class JamRuby::PromoBuzz < JamRuby::Promotional - attr_accessible :original_fpfile_photo, :photo_url, :text_short, :text_long - + attr_accessible :image, :text_short, :text_long + def self.create_with_params(params) obj = self.new obj.text_short = params[:text_short] @@ -50,6 +50,15 @@ class JamRuby::PromoBuzz < JamRuby::Promotional "Buzz #{created_at.strftime('%Y-%m-%d %H-%M')}" end + def image_name + fn = image ? image.path || image.filename : nil + File.basename(fn) if fn + end + + def image_url + self.image.direct_fog_url(with_path: true) + end + end class JamRuby::PromoLatest < JamRuby::Promotional diff --git a/ruby/spec/factories.rb b/ruby/spec/factories.rb index dbb845cc5..285dd5ad5 100644 --- a/ruby/spec/factories.rb +++ b/ruby/spec/factories.rb @@ -1,3 +1,5 @@ +require 'faker' + FactoryGirl.define do factory :user, :class => JamRuby::User do sequence(:email) { |n| "person_#{n}@example.com"} @@ -132,4 +134,9 @@ FactoryGirl.define do sequence(:lng) { |n| [-78.85029, -122.4155311][(n-1).modulo(2)] } end + factory :promo_buzz, :class => JamRuby::PromoBuzz do + text_short Faker::Lorem.sentence + text_long Faker::Lorem.paragraphs(3).join("\n") + end + end