ecm_sliders 0.0.4.pre → 1.0.0.pre

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.
@@ -10,16 +10,21 @@ class Ecm::Sliders::Slider < ActiveRecord::Base
10
10
  :inverse_of => :ecm_sliders_slider
11
11
 
12
12
  # attributes
13
- attr_accessible :description,
13
+ attr_accessible :auto_start,
14
+ :description,
14
15
  :ecm_sliders_items_attributes,
15
16
  :ecm_sliders_items_count,
16
17
  :identifier,
18
+ :interval,
17
19
  :locale,
18
20
  :name,
19
21
  :slug
20
22
 
21
23
  accepts_nested_attributes_for :ecm_sliders_items, :allow_destroy => true
22
24
 
25
+ # callbacks
26
+ after_initialize :set_defaults
27
+
23
28
  # friendly id
24
29
  extend FriendlyId
25
30
  friendly_id :name, :use => :slugged
@@ -38,5 +43,20 @@ class Ecm::Sliders::Slider < ActiveRecord::Base
38
43
  )
39
44
  ).order('locale DESC')
40
45
  end
46
+
47
+ # instance methods
48
+
49
+ def interval_in_milliseconds
50
+ (interval * 1000).to_i
51
+ end
52
+
53
+ private
54
+
55
+ def set_defaults
56
+ if new_record?
57
+ self.auto_start = Ecm::Sliders::Configuration.slider_auto_start if auto_start.nil?
58
+ self.interval ||= Ecm::Sliders::Configuration.slider_interval
59
+ end
60
+ end
41
61
  end
42
62
 
@@ -1,5 +1,5 @@
1
1
  <div class="slider">
2
- <div id="slider-<%= slider.to_param %>" class="carousel slide">
2
+ <div id="slider-<%= slider.to_param %>" class="carousel slide" data-interval="<%= slider.interval_in_milliseconds %>">
3
3
  <div class="carousel-inner">
4
4
  <%= render slider.ecm_sliders_items %>
5
5
  </div>
@@ -7,4 +7,12 @@
7
7
  <a class="carousel-control right" href="#slider-<%= slider.to_param %>" data-slide="next">&rsaquo;</a>
8
8
  </div>
9
9
  </div>
10
-
10
+ <% if slider.auto_start %>
11
+ <script>
12
+ $('#slider-<%= slider.to_param %>').carousel(
13
+ {
14
+ interval: <%= slider.interval_in_milliseconds %>
15
+ }
16
+ );
17
+ </script>
18
+ <% end %>
@@ -4,6 +4,8 @@ class CreateEcmSlidersSliders < ActiveRecord::Migration
4
4
  t.string :locale
5
5
  t.string :name
6
6
  t.text :description
7
+ t.boolean :auto_start
8
+ t.decimal :interval, :precision => 8, :scale => 2
7
9
 
8
10
  # friendly id
9
11
  t.string :slug
@@ -11,6 +11,11 @@ ActiveAdmin.register Ecm::Sliders::Slider do
11
11
  f.input :description
12
12
  end
13
13
 
14
+ f.inputs do
15
+ f.input :auto_start
16
+ f.input :interval
17
+ end
18
+
14
19
  f.inputs do
15
20
  f.has_many :ecm_sliders_items do |item|
16
21
  if item.object.persisted?
@@ -34,6 +39,8 @@ ActiveAdmin.register Ecm::Sliders::Slider do
34
39
  column :locale
35
40
  column :description
36
41
  column :ecm_sliders_items_count
42
+ column :auto_start
43
+ column :interval
37
44
  column :created_at
38
45
  column :updated_at
39
46
 
@@ -69,6 +76,8 @@ ActiveAdmin.register Ecm::Sliders::Slider do
69
76
  row :name
70
77
  row :locale
71
78
  row :ecm_sliders_items_count
79
+ row :auto_start
80
+ row :interval
72
81
  row :created_at
73
82
  row :updated_at
74
83
  end
@@ -9,6 +9,12 @@ module Ecm
9
9
  yield self
10
10
  end
11
11
 
12
+ mattr_accessor :slider_auto_start
13
+ @@slider_auto_start = nil
14
+
15
+ mattr_accessor :slider_interval
16
+ @@slider_interval = nil
17
+
12
18
  mattr_accessor :item_image_styles
13
19
  @@item_image_styles = {}
14
20
 
@@ -1,5 +1,5 @@
1
1
  module Ecm
2
2
  module Sliders
3
- VERSION = "0.0.4.pre"
3
+ VERSION = "1.0.0.pre"
4
4
  end
5
5
  end
@@ -1,7 +1,25 @@
1
1
  Ecm::Sliders.configure do |config|
2
- # Item options
2
+ # Slider options #############################################################
3
+
4
+ # Autostart
5
+ #
6
+ # default: config.slider_auto_start = false
7
+ config.slider_auto_start = false
8
+
9
+ # Interval
10
+ #
11
+ # default: config.slider_interval = 5.0
12
+ config.slider_interval = 5.0
13
+
14
+ # Item options ###############################################################
3
15
 
4
16
  # image sizes for slider items
17
+ #
18
+ # default: config.item_image_styles = {
19
+ # :small_thumb => "80x60>",
20
+ # :medium_thumb => "160x120>",
21
+ # :slider => "830x477"
22
+ # }
5
23
  config.item_image_styles = {
6
24
  :small_thumb => "80x60>",
7
25
  :medium_thumb => "160x120>",
@@ -9,9 +27,13 @@ Ecm::Sliders.configure do |config|
9
27
  }
10
28
 
11
29
  # Accepted markup languages for the item body
30
+ #
31
+ # default: config.markup_languages = %w[ markdown rdoc textile ]
12
32
  config.markup_languages = %w[ markdown rdoc textile ]
13
33
 
14
34
  # Default markup language for the item body
35
+ #
36
+ # default: config.default_markup_language = 'textile'
15
37
  config.default_markup_language = 'textile'
16
38
  end
17
39
 
metadata CHANGED
@@ -4,11 +4,11 @@ version: !ruby/object:Gem::Version
4
4
  hash: 961915988
5
5
  prerelease: 6
6
6
  segments:
7
+ - 1
7
8
  - 0
8
9
  - 0
9
- - 4
10
10
  - pre
11
- version: 0.0.4.pre
11
+ version: 1.0.0.pre
12
12
  platform: ruby
13
13
  authors:
14
14
  - Roberto Vasquez Angel
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2012-11-04 00:00:00 Z
19
+ date: 2012-12-07 00:00:00 Z
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: active_admin-acts_as_list