tb_banners 1.2.1 → 1.3.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/README.markdown +2 -12
  3. data/Rakefile +2 -5
  4. data/app/assets/javascripts/admin/banners/banners.js +34 -41
  5. data/app/controllers/admin/banner_sets_controller.rb +15 -19
  6. data/app/controllers/admin/banners_controller.rb +30 -52
  7. data/app/helpers/spud_banners_helper.rb +12 -12
  8. data/app/models/spud_banner.rb +18 -18
  9. data/app/models/spud_banner_set.rb +15 -17
  10. data/app/views/admin/banners/_form.html.erb +1 -3
  11. data/lib/spud_banners/configuration.rb +2 -2
  12. data/lib/spud_banners/engine.rb +6 -6
  13. data/lib/spud_banners/liquid_tags.rb +6 -3
  14. data/lib/spud_banners/version.rb +1 -1
  15. data/lib/tb_banners.rb +1 -1
  16. data/spec/authlogic_helper.rb +1 -1
  17. data/spec/controllers/admin/banner_sets_controller_spec.rb +33 -33
  18. data/spec/dummy/config/application.rb +2 -3
  19. data/spec/dummy/config/boot.rb +1 -1
  20. data/spec/dummy/config/environments/production.rb +1 -1
  21. data/spec/dummy/config/environments/test.rb +3 -6
  22. data/spec/dummy/config.ru +1 -1
  23. data/spec/dummy/db/migrate/20121127192247_create_spud_users.spud_core.rb +12 -12
  24. data/spec/dummy/db/migrate/20121127192248_add_time_zone_to_spud_user.spud_core.rb +0 -1
  25. data/spec/dummy/db/migrate/20121127192249_add_scope_to_spud_admin_permissions.spud_core.rb +0 -1
  26. data/spec/dummy/db/migrate/20130920154443_create_spud_permissions.tb_core.rb +3 -3
  27. data/spec/dummy/db/migrate/20130920154444_create_spud_role_permissions.tb_core.rb +2 -2
  28. data/spec/dummy/db/migrate/20130920154446_create_spud_banners.tb_banners.rb +4 -4
  29. data/spec/dummy/db/migrate/20130920154447_create_spud_banner_sets.tb_banners.rb +5 -5
  30. data/spec/dummy/db/migrate/20130920154448_add_rich_text_to_spud_banners.tb_banners.rb +1 -1
  31. data/spec/dummy/db/migrate/20160310164644_add_requires_password_change_to_spud_users.tb_core.rb +1 -1
  32. data/spec/dummy/db/schema.rb +85 -92
  33. data/spec/dummy/script/rails +2 -2
  34. data/spec/rails_helper.rb +12 -5
  35. data/spec/spec_helper.rb +42 -44
  36. metadata +72 -31
  37. data/app/views/admin/banners/legacy.js.erb +0 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5084f24ce0780c4f094bda989dea064c2b444bd0
4
- data.tar.gz: c31a8e5ed4cf76249e77a8d169718d8bf3d535b6
3
+ metadata.gz: 4c5570408f1fd6f89b4ded74aaf55fbe28485c35
4
+ data.tar.gz: c747224366ee66af3f347a8c569d8d66bdb51956
5
5
  SHA512:
6
- metadata.gz: e500326dd50361f539c42aadc48aeebf51370b1ecd66bb2e98f7f0ccdffbb75ca373110155b17edaa4d3e9424d0dda94970082a12ccf5dce5c59d1704cd26be3
7
- data.tar.gz: 2e2c66573d537ee204f6751ae1b73cb6abb8647f15ef89a0fc6e2d7098df6a580cc20733f1db2f7d88384a2dfc757e4ba146860213f2c546edfc62033415dc9a
6
+ metadata.gz: 3f55b7a276d17e9215bb54c109fdda5d0fe1515bb41c01da8197f98daff23f192fc31dc9c47f5c9d633a3ccb11654fe818ce8cbb4a3b977283404fa7f617f824
7
+ data.tar.gz: 10bef6d2c769966df3dd61b1543e2371a78c0a8e7ec2b541d8680109ce2614c5ef7fdd675f5e997d6c4f36b1f20531575cb836bdbf37d5bfdba863a4dffb99ed
data/README.markdown CHANGED
@@ -103,21 +103,11 @@ Displaying banners using the helper, with a block for even more custom html.
103
103
  </ul>
104
104
  ```
105
105
 
106
- ## Liquid
107
-
108
- TB Banners comes with its own custom [Liquid][liquid] tag. For now the liquid tag only supports rendering the standard html as generated by the `spud_banners_for_set`. Will provide support more advanced options in the future.
109
-
110
- Usage:
111
-
112
- ```erb
113
- <%= raw Liquid::Template.parse("{% spud_banner_set Promotions %}").render %>
114
- ```
115
-
116
106
  ## Rich Text
117
107
 
118
- Banner Sets contain a configuration for rich text. Turning this feature on will enable a rich text editor on individual banners. The default setting for this option is off.
108
+ Banner Sets contain a configuration for rich text. Turning this feature on will enable a rich text editor on individual banners. The default setting for this option is off.
119
109
 
120
- Rich text is intended to be more of an edge case feature, and should be used only if your banner needs to include an editable HTML block. The built-in helpers described earlier will not automatically include your rich text; If you want to use this feature, you should supply a block to the helper and render the rich text yourself.
110
+ Rich text is intended to be more of an edge case feature, and should be used only if your banner needs to include an editable HTML block. The built-in helpers described earlier will not automatically include your rich text; If you want to use this feature, you should supply a block to the helper and render the rich text yourself.
121
111
 
122
112
  ```erb
123
113
  <ul id="slides">
data/Rakefile CHANGED
@@ -20,11 +20,9 @@ RDoc::Task.new(:rdoc) do |rdoc|
20
20
  rdoc.rdoc_files.include('lib/**/*.rb')
21
21
  end
22
22
 
23
- APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
23
+ APP_RAKEFILE = File.expand_path('../spec/dummy/Rakefile', __FILE__)
24
24
  load 'rails/tasks/engine.rake'
25
25
 
26
-
27
-
28
26
  Bundler::GemHelper.install_tasks
29
27
 
30
28
  require 'rake/testtask'
@@ -36,5 +34,4 @@ Rake::TestTask.new(:test) do |t|
36
34
  t.verbose = false
37
35
  end
38
36
 
39
-
40
- task :default => :test
37
+ task default: :test
@@ -3,7 +3,6 @@
3
3
 
4
4
  (function(){
5
5
 
6
- var html5upload = false;
7
6
  var bannerEditId = false;
8
7
 
9
8
  spud.admin.banners = {
@@ -11,9 +10,6 @@ spud.admin.banners = {
11
10
  // Index Page
12
11
  /////////////
13
12
  init: function(){
14
- if(typeof(FormData) != 'undefined'){
15
- html5upload = true;
16
- }
17
13
  $('.admin-banner-set-item-add').on('click', clickedAddNewBanner);
18
14
  $('.admin-banner-set-items-container').on('click', '.admin-banner-set-item-edit', clickedEditBanner);
19
15
  $('.admin-banner-set-items-container').on('click', '.admin-banner-set-item-delete', clickedDeleteBanner);
@@ -87,43 +83,41 @@ var clickedDeleteBanner = function(e){
87
83
  };
88
84
 
89
85
  var submittedBannerForm = function(e){
90
- if(html5upload){
91
- e.preventDefault();
86
+ e.preventDefault();
92
87
 
93
- var form = $(this);
94
- var fd = new FormData();
95
-
96
- $('input[type=text], input[type=hidden], select').each(function(index, element){
97
- var input = $(element);
98
- var name = input.attr('name');
99
- var value = input.val();
100
- fd.append(name, value);
101
- });
88
+ var form = $(this);
89
+ var fd = new FormData();
102
90
 
103
- var richText = form.find('.admin-banner-rich-text');
104
- if(richText.length > 0){
105
- fd.append('spud_banner[rich_text]', richText.val());
106
- }
107
- else{
108
- fd.append('spud_banner[rich_text]', '');
109
- }
91
+ $('input[type=text], input[type=hidden], select').each(function(index, element){
92
+ var input = $(element);
93
+ var name = input.attr('name');
94
+ var value = input.val();
95
+ fd.append(name, value);
96
+ });
110
97
 
111
- var file = form.find('#spud_banner_banner')[0].files[0];
112
- if(file){
113
- fd.append('spud_banner[banner]', file);
114
- $('.admin-banner-upload-progress').show();
115
- }
98
+ var richText = form.find('.admin-banner-rich-text');
99
+ if(richText.length > 0){
100
+ fd.append('spud_banner[rich_text]', richText.val());
101
+ }
102
+ else{
103
+ fd.append('spud_banner[rich_text]', '');
104
+ }
116
105
 
117
- var xhr = new XMLHttpRequest();
118
- xhr.upload.addEventListener('progress', onFileUploadProgress);
119
- xhr.addEventListener('load', onFileUploadComplete);
120
- xhr.addEventListener('error', onFileUploadError);
121
- xhr.addEventListener('abort', onFileUploadAbort);
122
- xhr.open('POST', form.attr('action'));
123
- xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
124
- xhr.send(fd);
125
- return false;
106
+ var file = form.find('#spud_banner_banner')[0].files[0];
107
+ if(file){
108
+ fd.append('spud_banner[banner]', file);
109
+ $('.admin-banner-upload-progress').show();
126
110
  }
111
+
112
+ var xhr = new XMLHttpRequest();
113
+ xhr.upload.addEventListener('progress', onFileUploadProgress);
114
+ xhr.addEventListener('load', onFileUploadComplete);
115
+ xhr.addEventListener('error', onFileUploadError);
116
+ xhr.addEventListener('abort', onFileUploadAbort);
117
+ xhr.open('POST', form.attr('action'));
118
+ xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
119
+ xhr.send(fd);
120
+ return false;
127
121
  };
128
122
 
129
123
  var onFileUploadProgress = function(e){
@@ -138,10 +132,10 @@ var onFileUploadProgress = function(e){
138
132
  var onFileUploadComplete = function(e){
139
133
  switch(this.status){
140
134
  case 200:
141
- spud.admin.banners.onLegacyUploadComplete(e.target.response);
135
+ onUploadComplete(e.target.response);
142
136
  break;
143
137
  case 422:
144
- spud.admin.banners.onLegacyUploadError(e.target.response);
138
+ onUploadError(e.target.response);
145
139
  break;
146
140
  default:
147
141
  window.alert("Whoops! Something has gone wrong.");
@@ -156,8 +150,7 @@ var onFileUploadAbort = function(e){
156
150
 
157
151
  };
158
152
 
159
- // Non-html5 upload
160
- spud.admin.banners.onLegacyUploadComplete = function(html){
153
+ var onUploadComplete = function(html){
161
154
  if(bannerEditId){
162
155
  var item = $('.admin-banner-set-item[data-id="'+bannerEditId+'"]');
163
156
  item.replaceWith(html);
@@ -168,7 +161,7 @@ spud.admin.banners.onLegacyUploadComplete = function(html){
168
161
  spud.admin.modal.hide();
169
162
  };
170
163
 
171
- spud.admin.banners.onLegacyUploadError = function(html){
164
+ var onUploadError = function(html){
172
165
  $('.admin-banner-form').replaceWith(html);
173
166
  initForm();
174
167
  };
@@ -1,6 +1,6 @@
1
1
  class Admin::BannerSetsController < Admin::ApplicationController
2
2
 
3
- before_filter :get_record, :only => [:show, :edit, :update, :destroy]
3
+ before_action :get_record, only: [:show, :edit, :update, :destroy]
4
4
  respond_to :html
5
5
  belongs_to_app :banner_sets
6
6
  add_breadcrumb 'Banner Sets', :admin_banner_sets_path
@@ -8,11 +8,11 @@ class Admin::BannerSetsController < Admin::ApplicationController
8
8
 
9
9
  def index
10
10
  @banner_sets = SpudBannerSet.all
11
- respond_with @banner_sets, :layout => 'admin/detail'
11
+ respond_with @banner_sets, layout: 'admin/detail'
12
12
  end
13
13
 
14
14
  def show
15
- respond_with @banner_set, :layout => 'admin/detail'
15
+ respond_with @banner_set, layout: 'admin/detail'
16
16
  end
17
17
 
18
18
  def new
@@ -23,10 +23,10 @@ class Admin::BannerSetsController < Admin::ApplicationController
23
23
  def create
24
24
  @banner_set = SpudBannerSet.new(banner_set_params)
25
25
  if @banner_set.save
26
- flash.now[:notice] = 'BannerSet created successfully'
26
+ flash.now[:notice] = 'BannerSet created successfully'
27
27
  render 'create'
28
28
  else
29
- render 'new', :status => 422
29
+ render 'new', status: 422
30
30
  end
31
31
  end
32
32
 
@@ -39,31 +39,27 @@ class Admin::BannerSetsController < Admin::ApplicationController
39
39
  flash.now[:notice] = 'BannerSet updated successfully'
40
40
  render 'create'
41
41
  else
42
- render 'edit', :status => 422
42
+ render 'edit', status: 422
43
43
  end
44
44
  end
45
45
 
46
46
  def destroy
47
- if @banner_set.destroy
48
- flash.now[:notice] = 'BannerSet deleted successfully'
49
- end
50
- render :nothing => true
47
+ flash.now[:notice] = 'BannerSet deleted successfully' if @banner_set.destroy
48
+ head :ok
51
49
  end
52
50
 
53
- private
51
+ private
54
52
 
55
53
  def get_record
56
- begin
57
- @banner_set = SpudBannerSet.find(params[:id])
58
- rescue ActiveRecord::RecordNotFound => e
59
- flash.now[:error] = "Could not find the requested BannerSet"
60
- redirect_to admin_banner_sets_path
61
- return false
62
- end
54
+ @banner_set = SpudBannerSet.find(params[:id])
55
+ rescue ActiveRecord::RecordNotFound => e
56
+ flash.now[:error] = 'Could not find the requested BannerSet'
57
+ redirect_to admin_banner_sets_path
58
+ return false
63
59
  end
64
60
 
65
61
  def banner_set_params
66
62
  params.require(:spud_banner_set).permit(:cropped, :height, :name, :short_name, :width, :has_rich_text)
67
63
  end
68
64
 
69
- end
65
+ end
@@ -1,14 +1,12 @@
1
1
  class Admin::BannersController < Admin::ApplicationController
2
2
 
3
- include RespondsToParent
4
-
5
- before_filter :get_set, :only => [:new, :create]
6
- before_filter :get_record, :only => [:edit, :update, :destroy]
3
+ before_action :get_set, only: [:new, :create]
4
+ before_action :get_record, only: [:edit, :update, :destroy]
7
5
  respond_to :html
8
6
  layout false
9
7
 
10
8
  def new
11
- @banner = @banner_set.banners.new(:start_date => Date.today)
9
+ @banner = @banner_set.banners.new(start_date: Date.today)
12
10
  respond_with @banner
13
11
  end
14
12
 
@@ -16,23 +14,14 @@ class Admin::BannersController < Admin::ApplicationController
16
14
  @banner = @banner_set.banners.build
17
15
  @banner.attributes = banner_params
18
16
 
19
- last_banner = SpudBanner.select('sort_order').where(:spud_banner_set_id => @banner_set.id).order('sort_order desc').first
20
- if last_banner
21
- @banner.sort_order = last_banner.sort_order + 1
22
- end
17
+ last_banner = SpudBanner.select('sort_order').where(spud_banner_set_id: @banner_set.id).order('sort_order desc').first
18
+ @banner.sort_order = last_banner.sort_order + 1 if last_banner
23
19
 
24
- if request.xhr?
25
- if @banner.save
26
- flash.now[:notice] = 'SpudBanner created successfully'
27
- render 'show'
28
- else
29
- render 'new', :status => 422
30
- end
20
+ if @banner.save
21
+ flash.now[:notice] = 'SpudBanner created successfully'
22
+ render 'show'
31
23
  else
32
- @banner.save
33
- respond_to_parent do
34
- render 'legacy', :formats => [:js]
35
- end
24
+ render 'new', status: 422
36
25
  end
37
26
  end
38
27
 
@@ -41,68 +30,57 @@ class Admin::BannersController < Admin::ApplicationController
41
30
  end
42
31
 
43
32
  def update
44
- if request.xhr?
45
- if @banner.update_attributes(banner_params)
46
- flash.now[:notice] = 'SpudBanner created successfully'
47
- render 'show'
48
- else
49
- render 'edit', :status => 422
50
- end
33
+ if @banner.update_attributes(banner_params)
34
+ flash.now[:notice] = 'SpudBanner created successfully'
35
+ render 'show'
51
36
  else
52
- @banner.update_attributes(banner_params)
53
- respond_to_parent do
54
- render 'legacy', :formats => [:js]
55
- end
37
+ render 'edit', status: 422
56
38
  end
57
39
  end
58
40
 
59
41
  def destroy
60
42
  if @banner.destroy
61
- flash.now[:notice] = 'SpudBanner deleted successfully'
43
+ flash.now[:notice] = 'SpudBanner deleted successfully'
62
44
  status = 200
63
45
  else
64
46
  status = 422
65
47
  end
66
- render :nothing => true, :status => status
48
+ render blank: true, status: status
67
49
  end
68
50
 
69
51
  def sort
70
52
  banner_ids = params[:spud_banner_ids]
71
- banners = SpudBanner.where(:id => banner_ids).to_a
53
+ banners = SpudBanner.where(id: banner_ids).to_a
72
54
  SpudBanner.transaction do
73
55
  banner_ids.each_with_index do |id, index|
74
- banner = banners.select{ |b| b.id == id.to_i }.first
56
+ banner = banners.select { |b| b.id == id.to_i }.first
75
57
  banner.update_column(:sort_order, index)
76
58
  end
77
59
  banners.last.owner.touch()
78
60
  end
79
- render :nothing => true, :status => 200
61
+ head :ok
80
62
  end
81
63
 
82
- private
64
+ private
83
65
 
84
66
  def get_set
85
- begin
86
- @banner_set = SpudBannerSet.find(params[:banner_set_id])
87
- rescue ActiveRecord::RecordNotFound => e
88
- flash.now[:error] = "Could not find the requested SpudBannerSet"
89
- render :nothing => true, :status => 404
90
- return false
91
- end
67
+ @banner_set = SpudBannerSet.find(params[:banner_set_id])
68
+ rescue ActiveRecord::RecordNotFound => e
69
+ flash.now[:error] = 'Could not find the requested SpudBannerSet'
70
+ render blank: true, status: 404
71
+ return false
92
72
  end
93
73
 
94
74
  def get_record
95
- begin
96
- @banner = SpudBanner.find(params[:id])
97
- rescue ActiveRecord::RecordNotFound => e
98
- flash.now[:error] = "Could not find the requested SpudBanner"
99
- redirect_to admin_banner_sets_path
100
- return false
101
- end
75
+ @banner = SpudBanner.find(params[:id])
76
+ rescue ActiveRecord::RecordNotFound => e
77
+ flash.now[:error] = 'Could not find the requested SpudBanner'
78
+ redirect_to admin_banner_sets_path
79
+ return false
102
80
  end
103
81
 
104
82
  def banner_params
105
83
  params.require(:spud_banner).permit(:banner, :link_to, :link_target, :title, :alt, :sort_order, :rich_text, :start_date, :end_date)
106
84
  end
107
85
 
108
- end
86
+ end
@@ -9,11 +9,11 @@ module SpudBannersHelper
9
9
  # - background_image: Pass true to return the banners as CSS background-image properties rather than <img/> tags
10
10
  #
11
11
  def spud_banners_for_set(set_or_identifier, options = {})
12
- if set_or_identifier.is_a?(SpudBannerSet)
13
- banner_set = set_or_identifier
14
- else
15
- banner_set = SpudBannerSet.find_by_identifier(set_or_identifier)
16
- end
12
+ banner_set = if set_or_identifier.is_a?(SpudBannerSet)
13
+ set_or_identifier
14
+ else
15
+ SpudBannerSet.find_with_identifier(set_or_identifier)
16
+ end
17
17
  return '' if banner_set.blank?
18
18
  cache(banner_set) do
19
19
  concat spud_banners_set_tag(banner_set, options)
@@ -39,13 +39,13 @@ module SpudBannersHelper
39
39
  content_tag(:div, :class => "spud-banner-set #{options[:wrapper_class]}", 'data-id' => banner_set.id) do
40
40
  banners_query.map do |banner|
41
41
  if background_image
42
- concat(content_tag(:div, :class => "spud-banner #{options[:banner_class]}", 'data-id' => banner.id, :style => "background-image:url('#{banner.banner.url(:banner)}');"){
42
+ concat(content_tag(:div, :class => "spud-banner #{options[:banner_class]}", 'data-id' => banner.id, :style => "background-image:url('#{banner.banner.url(:banner)}');") do
43
43
  if banner.rich_text
44
- content_tag :div, raw(banner.rich_text), :class => 'spud-banner-rich-text'
44
+ content_tag :div, raw(banner.rich_text), class: 'spud-banner-rich-text'
45
45
  end
46
- })
46
+ end)
47
47
  else
48
- concat(content_tag(:div, :class => "spud-banner #{options[:banner_class]}", 'data-id' => banner.id){ spud_banner_tag(banner, options) })
48
+ concat(content_tag(:div, :class => "spud-banner #{options[:banner_class]}", 'data-id' => banner.id) { spud_banner_tag(banner, options) })
49
49
  end
50
50
  end
51
51
  end
@@ -55,11 +55,11 @@ module SpudBannersHelper
55
55
  # Returns an HTML tag for a single banner
56
56
  # May return either an <img/> or an <a/> depending on the banner
57
57
  #
58
- def spud_banner_tag(banner, options={})
58
+ def spud_banner_tag(banner, _options = {})
59
59
  if banner.link_to.blank?
60
60
  spud_banner_image_tag(banner)
61
61
  else
62
- link_to(banner.link_to, :target => banner.link_target) do
62
+ link_to(banner.link_to, target: banner.link_target) do
63
63
  spud_banner_image_tag(banner)
64
64
  end
65
65
  end
@@ -68,7 +68,7 @@ module SpudBannersHelper
68
68
  # Returns an HTML <img/> tag for a single banner
69
69
  #
70
70
  def spud_banner_image_tag(banner)
71
- image_tag(banner.banner.url(:banner), :alt => banner.alt, :title => banner.title)
71
+ image_tag(banner.banner.url(:banner), alt: banner.alt, title: banner.title)
72
72
  end
73
73
 
74
74
  end
@@ -1,34 +1,34 @@
1
1
  class SpudBanner < ActiveRecord::Base
2
- belongs_to :owner, :class_name => 'SpudBannerSet', :foreign_key => 'spud_banner_set_id', :inverse_of => :banners, :touch => true
2
+ belongs_to :owner, class_name: 'SpudBannerSet', foreign_key: 'spud_banner_set_id', inverse_of: :banners, touch: true
3
3
 
4
- scope :active, ->{
4
+ scope :active, -> {
5
5
  where('(start_date IS NULL OR start_date <= ?) AND (end_date IS NULL OR end_date >= ?)', Date.today, Date.today)
6
6
  }
7
7
 
8
- has_attached_file :banner,
9
- :styles => lambda { |attachment| attachment.instance.dynamic_styles },
10
- :convert_options => {
11
- :tiny => '-strip -density 72x72',
12
- :banner => '-strip -density 72x72'
8
+ has_attached_file :banner,
9
+ styles: ->(attachment) { attachment.instance.dynamic_styles },
10
+ convert_options: {
11
+ tiny: '-strip -density 72x72',
12
+ banner: '-strip -density 72x72'
13
13
  },
14
- :storage => Spud::Banners.paperclip_storage,
15
- :s3_credentials => Spud::Banners.s3_credentials,
16
- :s3_protocol => Spud::Banners.s3_protocol,
17
- :url => Spud::Banners.storage_url,
18
- :path => Spud::Banners.storage_path
14
+ storage: Spud::Banners.paperclip_storage,
15
+ s3_credentials: Spud::Banners.s3_credentials,
16
+ s3_protocol: Spud::Banners.s3_protocol,
17
+ url: Spud::Banners.storage_url,
18
+ path: Spud::Banners.storage_path
19
19
 
20
20
  validates_attachment :banner,
21
- :presence => true,
22
- :content_type => {:content_type => ['image/jpg', 'image/jpeg', 'image/png']}
21
+ presence: true,
22
+ content_type: { content_type: ['image/jpg', 'image/jpeg', 'image/png'] }
23
23
 
24
24
  def dynamic_styles
25
25
  styles = {
26
- :tiny => '150x150'
26
+ tiny: '150x150'
27
27
  }
28
28
  owner_style = nil
29
- if self.owner
30
- owner_style = "#{self.owner.width}x#{self.owner.height}"
31
- owner_style += '#' if self.owner.cropped
29
+ if owner
30
+ owner_style = "#{owner.width}x#{owner.height}"
31
+ owner_style += '#' if owner.cropped
32
32
  styles[:banner] = owner_style
33
33
  end
34
34
  return styles
@@ -1,27 +1,27 @@
1
1
  class SpudBannerSet < ActiveRecord::Base
2
- has_many :banners, ->{ order('sort_order asc') }, :class_name => 'SpudBanner', :dependent => :destroy, :inverse_of => :owner
2
+ has_many :banners, -> { order('sort_order asc') }, class_name: 'SpudBanner', dependent: :destroy, inverse_of: :owner
3
3
 
4
- validates_presence_of :name
5
- validates_uniqueness_of :name
6
- validates_numericality_of :width, :height
4
+ validates :name, presence: true
5
+ validates :name, uniqueness: true
6
+ validates :width, :height, numericality: true
7
7
 
8
8
  acts_as_tb_liquid_tag :spud_banner_set, :name
9
9
 
10
10
  after_update :check_for_dimension_change
11
11
 
12
- def self.find_by_identifier(identifier)
13
- if identifier.class == String
14
- banner_set = SpudBannerSet.find_by_name(identifier)
15
- elsif identifier.class == Symbol
16
- banner_set = SpudBannerSet.find_by_name(identifier.to_s.titleize)
17
- else
18
- banner_set = SpudBannerSet.find(identifier)
19
- end
12
+ def self.find_with_identifier(identifier)
13
+ banner_set = if identifier.class == String
14
+ SpudBannerSet.find_by(name: identifier.strip)
15
+ elsif identifier.class == Symbol
16
+ SpudBannerSet.find_by(name: identifier.to_s.titleize)
17
+ else
18
+ SpudBannerSet.find(identifier)
19
+ end
20
20
  return banner_set
21
21
  end
22
22
 
23
23
  def reprocess_banners!
24
- self.banners.each do |banner|
24
+ banners.each do |banner|
25
25
  banner.banner.reprocess!
26
26
  end
27
27
  end
@@ -30,12 +30,10 @@ class SpudBannerSet < ActiveRecord::Base
30
30
  return name
31
31
  end
32
32
 
33
- private
33
+ private
34
34
 
35
35
  def check_for_dimension_change
36
- if self.height_changed? || self.width_changed? || self.cropped_changed?
37
- self.reprocess_banners!
38
- end
36
+ reprocess_banners! if height_changed? || width_changed? || cropped_changed?
39
37
  end
40
38
 
41
39
  end
@@ -1,4 +1,4 @@
1
- <%= form_for @banner, :url => path, :builder => TbCore::FormBuilder, :html => {:class => 'admin-banner-form', :target => 'admin-banner-upload-target'} do |f| %>
1
+ <%= form_for @banner, :url => path, :builder => TbCore::FormBuilder, :html => { :class => 'admin-banner-form' } do |f| %>
2
2
 
3
3
  <%= tb_form_errors(f.object) %>
4
4
 
@@ -63,5 +63,3 @@
63
63
  </div>
64
64
 
65
65
  <% end %>
66
-
67
- <iframe id="admin-banner-upload-target" name="admin-banner-upload-target" style="display:none;"></iframe>
@@ -5,7 +5,7 @@ module Spud
5
5
  self.paperclip_storage = :filesystem
6
6
  self.s3_credentials = "#{Rails.root}/config/s3.yml"
7
7
  self.s3_protocol = 'https'
8
- self.storage_path = ":rails_root/public/system/spud_banners/:id/:style/:basename.:extension"
9
- self.storage_url = "/system/spud_banners/:id/:style/:basename.:extension"
8
+ self.storage_path = ':rails_root/public/system/spud_banners/:id/:style/:basename.:extension'
9
+ self.storage_url = '/system/spud_banners/:id/:style/:basename.:extension'
10
10
  end
11
11
  end
@@ -6,14 +6,14 @@ module Spud
6
6
  module Banners
7
7
  class Engine < Rails::Engine
8
8
  engine_name :tb_banners
9
-
9
+
10
10
  initializer :admin do
11
11
  Spud::Core.config.admin_applications += [{
12
- :name => 'Banner Sets',
13
- :thumbnail => 'admin/banners/banners.png',
14
- :retina => true,
15
- :url => '/admin/banner_sets',
16
- :order => 120
12
+ name: 'Banner Sets',
13
+ thumbnail: 'admin/banners/banners.png',
14
+ retina: true,
15
+ url: '/admin/banner_sets',
16
+ order: 120
17
17
  }]
18
18
  end
19
19
 
@@ -10,8 +10,11 @@ module Spud
10
10
  include ActionView::Context
11
11
  include SpudBannersHelper
12
12
 
13
- def initialize(tag_name, set_identifer, tokens)
14
- @banner_set = SpudBannerSet.find_by_identifier(set_identifer)
13
+ def initialize(_tag_name, set_identifer, _tokens)
14
+ ActiveSupport::Deprecation.warn(
15
+ 'Support for the spud_banners liquid tag is going away. If you are using this, please refactor your code soon.'
16
+ )
17
+ @banner_set = SpudBannerSet.find_with_identifier(set_identifer)
15
18
  end
16
19
 
17
20
  def tag_name
@@ -22,7 +25,7 @@ module Spud
22
25
  return @banner_set.name
23
26
  end
24
27
 
25
- def render(context)
28
+ def render(_context)
26
29
  return spud_banners_set_tag(@banner_set)
27
30
  end
28
31
 
@@ -1,5 +1,5 @@
1
1
  module Spud
2
2
  module Banners
3
- VERSION = "1.2.1"
3
+ VERSION = '1.3.beta1'.freeze
4
4
  end
5
5
  end
data/lib/tb_banners.rb CHANGED
@@ -2,6 +2,6 @@ module Spud
2
2
  module Banners
3
3
  require 'spud_banners/configuration'
4
4
  require 'spud_banners/liquid_tags'
5
- require "spud_banners/engine" if defined?(Rails)
5
+ require 'spud_banners/engine' if defined?(Rails)
6
6
  end
7
7
  end
@@ -1,2 +1,2 @@
1
1
  require 'authlogic/test_case'
2
- include Authlogic::TestCase
2
+ include Authlogic::TestCase