ecm_sliders 0.0.1.pre → 0.0.2.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.
@@ -1,6 +1,6 @@
1
1
  class Ecm::Sliders::SlidersController < ApplicationController
2
2
  def index
3
- @sliders = Ecm::Sliders::Slider.all
3
+ @sliders = Ecm::Sliders::Slider.for_locale(I18n.locale).all
4
4
  end
5
5
  end
6
6
 
@@ -1,6 +1,6 @@
1
1
  module Ecm::SlidersHelper
2
2
  def render_slider(name, options = {})
3
- slider = Ecm::Sliders::Slider.where(:name => name.to_s).first
3
+ slider = Ecm::Sliders::Slider.where(:name => name.to_s).for_locale(I18n.locale).first
4
4
  if slider.nil?
5
5
  return I18n.t('ecm.sliders.slider.warnings.not_found', :name => name)
6
6
  else
@@ -14,6 +14,7 @@ class Ecm::Sliders::Slider < ActiveRecord::Base
14
14
  :ecm_sliders_items_attributes,
15
15
  :ecm_sliders_items_count,
16
16
  :identifier,
17
+ :locale,
17
18
  :name,
18
19
  :slug
19
20
 
@@ -24,7 +25,18 @@ class Ecm::Sliders::Slider < ActiveRecord::Base
24
25
  friendly_id :name, :use => :slugged
25
26
 
26
27
  # validations
28
+ validates :locale, :inclusion => I18n.available_locales.map(&:to_s),
29
+ :if => proc { |slider| slider.locale.present? }
27
30
  validates :name, :presence => true,
28
- :uniqueness => true
31
+ :uniqueness => { :scope => :locale }
32
+
33
+ # class methods
34
+ def self.for_locale(locale)
35
+ where(
36
+ self.arel_table[:locale].eq(locale).or(
37
+ self.arel_table[:locale].eq(nil)
38
+ )
39
+ ).order('locale DESC')
40
+ end
29
41
  end
30
42
 
@@ -1,13 +1,10 @@
1
1
  <div class="slider">
2
-
3
2
  <div id="slider-<%= slider.to_param %>" class="carousel slide">
4
- <!-- Carousel items -->
5
3
  <div class="carousel-inner">
6
4
  <%= render slider.ecm_sliders_items %>
7
5
  </div>
8
- <!-- Carousel nav -->
9
6
  <a class="carousel-control left" href="#slider-<%= slider.to_param %>" data-slide="prev">&lsaquo;</a>
10
7
  <a class="carousel-control right" href="#slider-<%= slider.to_param %>" data-slide="next">&rsaquo;</a>
11
8
  </div>
12
-
13
9
  </div>
10
+
@@ -1,3 +1,6 @@
1
1
  <h1><%= Ecm::Sliders::Slider.model_name.human(:count => :other) %></h1>
2
2
 
3
- <%= render @sliders %>
3
+ <% for slider in @sliders do %>
4
+ <h2><%= slider.name %></h2>
5
+ <%= render slider %>
6
+ <% end %>
@@ -1,6 +1,7 @@
1
1
  class CreateEcmSlidersSliders < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :ecm_sliders_sliders do |t|
4
+ t.string :locale
4
5
  t.string :name
5
6
  t.text :description
6
7
 
@@ -6,6 +6,7 @@ ActiveAdmin.register Ecm::Sliders::Slider do
6
6
 
7
7
  form do |f|
8
8
  f.inputs do
9
+ f.input :locale, :as => :select, :collection => I18n.available_locales.map(&:to_s)
9
10
  f.input :name
10
11
  f.input :description
11
12
  end
@@ -29,6 +30,7 @@ ActiveAdmin.register Ecm::Sliders::Slider do
29
30
  selectable_column
30
31
 
31
32
  column :name
33
+ column :locale
32
34
  column :description
33
35
  column :ecm_sliders_items_count
34
36
  column :created_at
@@ -64,6 +66,7 @@ ActiveAdmin.register Ecm::Sliders::Slider do
64
66
  sidebar Ecm::Sliders::Slider.human_attribute_name(:details), :only => :show do
65
67
  attributes_table_for ecm_sliders_slider do
66
68
  row :name
69
+ row :locale
67
70
  row :ecm_sliders_items_count
68
71
  row :created_at
69
72
  row :updated_at
@@ -1,5 +1,5 @@
1
1
  module Ecm
2
2
  module Sliders
3
- VERSION = "0.0.1.pre"
3
+ VERSION = "0.0.2.pre"
4
4
  end
5
5
  end
@@ -35,6 +35,13 @@ namespace :ecm do
35
35
  Ecm::Sliders::Slider.create! do |s|
36
36
  s.name = "Slider Gallery #{i}"
37
37
  end
38
+
39
+ I18n.available_locales.each do |locale|
40
+ Ecm::Sliders::Slider.create! do |s|
41
+ s.name = "Slider Gallery #{i}"
42
+ s.locale = locale.to_s
43
+ end if (rand(3) == 0)
44
+ end
38
45
  end
39
46
  end
40
47
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ecm_sliders
3
3
  version: !ruby/object:Gem::Version
4
- hash: 961915968
4
+ hash: 961915980
5
5
  prerelease: 6
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
9
+ - 2
10
10
  - pre
11
- version: 0.0.1.pre
11
+ version: 0.0.2.pre
12
12
  platform: ruby
13
13
  authors:
14
14
  - Roberto Vasquez Angel