From 7ff11b882741e397eeee0fdebccd10a2688da855 Mon Sep 17 00:00:00 2001 From: Tyrel Souza Date: Mon, 28 Apr 2014 14:16:43 -0400 Subject: [PATCH] Added tests, cleaning up, TDDing, javascript --- Gemfile | 1 + Gemfile.lock | 3 ++ app/assets/javascripts/application.js | 1 + app/assets/javascripts/videolistings.js | 6 +++ app/controllers/videolistings_controller.rb | 7 +++- app/models/campaign.rb | 7 +++- app/views/campaigns/_videolisting.html.erb | 6 +++ app/views/campaigns/index.html.erb | 6 ++- app/views/layouts/application.html.erb | 2 +- app/views/videolistings/show.html.erb | 46 +++++++++++++++++++++ spec/factories/videolistings.rb | 2 +- spec/models/campaign_spec.rb | 26 ++++++++++++ 12 files changed, 107 insertions(+), 6 deletions(-) create mode 100644 app/assets/javascripts/videolistings.js create mode 100644 app/views/videolistings/show.html.erb diff --git a/Gemfile b/Gemfile index 6de30ef..6c42880 100644 --- a/Gemfile +++ b/Gemfile @@ -23,6 +23,7 @@ gem 'devise' gem 'jbuilder' gem 'bootstrap-tagsinput-rails' gem 'cocoon', :git => 'git://github.com/nathanvda/cocoon' +gem 'zeroclipboard-rails' group :development do diff --git a/Gemfile.lock b/Gemfile.lock index cef1039..61a476a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -227,6 +227,8 @@ GEM crack (>= 0.3.2) xpath (2.0.0) nokogiri (~> 1.3) + zeroclipboard-rails (0.0.12) + railties (>= 3.1) PLATFORMS ruby @@ -270,3 +272,4 @@ DEPENDENCIES uglifier unicorn webmock + zeroclipboard-rails diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index c048aef..2cf6289 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -14,4 +14,5 @@ //= require jquery_ujs //= require bootstrap-tagsinput //= require cocoon +//= require zeroclipboard //= require_tree . diff --git a/app/assets/javascripts/videolistings.js b/app/assets/javascripts/videolistings.js new file mode 100644 index 0000000..8e99ab2 --- /dev/null +++ b/app/assets/javascripts/videolistings.js @@ -0,0 +1,6 @@ +/** + * Created by tsouza on 4/28/14. + */ + + + diff --git a/app/controllers/videolistings_controller.rb b/app/controllers/videolistings_controller.rb index f0e39c8..b875777 100644 --- a/app/controllers/videolistings_controller.rb +++ b/app/controllers/videolistings_controller.rb @@ -1,5 +1,5 @@ class VideolistingsController < ApplicationController - before_action :set_videolisting, only: [:publish] + before_action :set_videolisting, only: [:publish, :show] def publish if @videolisting.published? @@ -14,6 +14,11 @@ class VideolistingsController < ApplicationController end end + + def show + @videolisting + end + private # Use callbacks to share common setup or constraints between actions. def set_videolisting diff --git a/app/models/campaign.rb b/app/models/campaign.rb index a03b52e..9f3f5f8 100644 --- a/app/models/campaign.rb +++ b/app/models/campaign.rb @@ -16,7 +16,12 @@ class Campaign < ActiveRecord::Base errors.add(:base, 'Must add at least one Videolisting') if self.videolistings.blank? end - + def video_completion_percent + published = videolistings.where({published: true}).length + ((published.to_f / videolistings.count.to_f) * 100).to_i + rescue + 0 + end def send_to_better_video if self.processed_changed? && self.processed == true diff --git a/app/views/campaigns/_videolisting.html.erb b/app/views/campaigns/_videolisting.html.erb index 54e2fbd..0e30009 100644 --- a/app/views/campaigns/_videolisting.html.erb +++ b/app/views/campaigns/_videolisting.html.erb @@ -1,4 +1,10 @@