ecm_sliders 0.0.1.pre

Sign up to get free protection for your applications and to get access to all the features.
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2012 Roberto Vasquez Angel
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,3 @@
1
+ = ECM Sliders
2
+
3
+ This project rocks and uses MIT-LICENSE.
data/Rakefile ADDED
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env rake
2
+ begin
3
+ require 'bundler/setup'
4
+ rescue LoadError
5
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
6
+ end
7
+ begin
8
+ require 'rdoc/task'
9
+ rescue LoadError
10
+ require 'rdoc/rdoc'
11
+ require 'rake/rdoctask'
12
+ RDoc::Task = Rake::RDocTask
13
+ end
14
+
15
+ RDoc::Task.new(:rdoc) do |rdoc|
16
+ rdoc.rdoc_dir = 'rdoc'
17
+ rdoc.title = 'EcmSliders'
18
+ rdoc.options << '--line-numbers'
19
+ rdoc.rdoc_files.include('README.rdoc')
20
+ rdoc.rdoc_files.include('lib/**/*.rb')
21
+ end
22
+
23
+
24
+
25
+
26
+ Bundler::GemHelper.install_tasks
27
+
@@ -0,0 +1,6 @@
1
+ class Ecm::Sliders::SlidersController < ApplicationController
2
+ def index
3
+ @sliders = Ecm::Sliders::Slider.all
4
+ end
5
+ end
6
+
@@ -0,0 +1,10 @@
1
+ module Ecm::SlidersHelper
2
+ def render_slider(name, options = {})
3
+ slider = Ecm::Sliders::Slider.where(:name => name.to_s).first
4
+ if slider.nil?
5
+ return I18n.t('ecm.sliders.slider.warnings.not_found', :name => name)
6
+ else
7
+ return render(slider)
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,44 @@
1
+ class Ecm::Sliders::Item < ActiveRecord::Base
2
+ self.table_name = 'ecm_sliders_items'
3
+
4
+ # acts as list
5
+ acts_as_list :scope => :ecm_sliders_slider
6
+
7
+ # acts as markup
8
+ acts_as_markup :language => :variable, :columns => [ :body ]
9
+
10
+ # associations
11
+ belongs_to :ecm_sliders_slider,
12
+ :class_name => Ecm::Sliders::Slider,
13
+ :counter_cache => :ecm_sliders_items_count,
14
+ :inverse_of => :ecm_sliders_items
15
+
16
+ # attributes
17
+ attr_accessible :body,
18
+ :ecm_sliders_slider,
19
+ :ecm_sliders_slider_id,
20
+ :image,
21
+ :position,
22
+ :url
23
+
24
+ # callbacks
25
+ after_initialize :set_defaults
26
+
27
+ # paperclip
28
+ has_attached_file :image,
29
+ :styles => Ecm::Sliders::Configuration.item_image_styles
30
+
31
+ # validations
32
+ validates :ecm_sliders_slider_id, :presence => true
33
+ validates :markup_language, :presence => true,
34
+ :inclusion => Ecm::Sliders::Configuration.markup_languages
35
+
36
+ private
37
+
38
+ def set_defaults
39
+ if self.new_record?
40
+ self.markup_language ||= Ecm::Sliders::Configuration.default_markup_language
41
+ end
42
+ end
43
+ end
44
+
@@ -0,0 +1,30 @@
1
+ class Ecm::Sliders::Slider < ActiveRecord::Base
2
+ self.table_name = 'ecm_sliders_sliders'
3
+
4
+ # associations
5
+ has_many :ecm_sliders_items,
6
+ :class_name => Ecm::Sliders::Item,
7
+ :dependent => :destroy,
8
+ :foreign_key => :ecm_sliders_slider_id,
9
+ :order => 'position',
10
+ :inverse_of => :ecm_sliders_slider
11
+
12
+ # attributes
13
+ attr_accessible :description,
14
+ :ecm_sliders_items_attributes,
15
+ :ecm_sliders_items_count,
16
+ :identifier,
17
+ :name,
18
+ :slug
19
+
20
+ accepts_nested_attributes_for :ecm_sliders_items, :allow_destroy => true
21
+
22
+ # friendly id
23
+ extend FriendlyId
24
+ friendly_id :name, :use => :slugged
25
+
26
+ # validations
27
+ validates :name, :presence => true,
28
+ :uniqueness => true
29
+ end
30
+
@@ -0,0 +1,13 @@
1
+ <div class="item<%= " active" if item_counter == 0 %>">
2
+ <% if item.url.present? %>
3
+ <%= link_to(image_tag(item.image.url(:slider)), item.url) %>
4
+ <% else %>
5
+ <%= image_tag(item.image.url(:slider)) %>
6
+ <% end %>
7
+
8
+ <% if item.body.present? %>
9
+ <div class="carousel-caption slider-body">
10
+ <%= mu(item, :body) %>
11
+ </div>
12
+ <% end %>
13
+ </div>
@@ -0,0 +1,13 @@
1
+ <div class="slider">
2
+
3
+ <div id="slider-<%= slider.to_param %>" class="carousel slide">
4
+ <!-- Carousel items -->
5
+ <div class="carousel-inner">
6
+ <%= render slider.ecm_sliders_items %>
7
+ </div>
8
+ <!-- Carousel nav -->
9
+ <a class="carousel-control left" href="#slider-<%= slider.to_param %>" data-slide="prev">&lsaquo;</a>
10
+ <a class="carousel-control right" href="#slider-<%= slider.to_param %>" data-slide="next">&rsaquo;</a>
11
+ </div>
12
+
13
+ </div>
@@ -0,0 +1,3 @@
1
+ <h1><%= Ecm::Sliders::Slider.model_name.human(:count => :other) %></h1>
2
+
3
+ <%= render @sliders %>
@@ -0,0 +1,9 @@
1
+ de:
2
+ ecm:
3
+ sliders:
4
+ active_admin:
5
+ menu: Slider
6
+ slider:
7
+ warnings:
8
+ not_found: Slider %{name} nicht gefunden
9
+
@@ -0,0 +1,9 @@
1
+ en:
2
+ ecm:
3
+ sliders:
4
+ active_admin:
5
+ menu: sliders
6
+ slider:
7
+ warnings:
8
+ not_found: Could not find slider %{name}
9
+
@@ -0,0 +1,24 @@
1
+ ---
2
+ de:
3
+ activerecord:
4
+ models:
5
+ ecm/sliders/item:
6
+ one: Slider Item
7
+ other: Slider Items
8
+ attributes:
9
+ ecm/sliders/item:
10
+ body: Inhalt
11
+ created_at: Erstellt am
12
+ ecm_sliders_slider_id: Slider
13
+ ecm_sliders_slider: Slider
14
+ image_content_type: Dateintyp
15
+ image_file_name: Dateiname
16
+ image_file_size: Dateigrösse
17
+ image_fingerprint: Dateifingerabdruck
18
+ image_updated_at: Datei erstellt am
19
+ position: Position
20
+ updated_at: Aktualisiert am
21
+ url: URL
22
+ resources:
23
+ ecm_sliders_slider_items: slider-items
24
+
@@ -0,0 +1,24 @@
1
+ ---
2
+ en:
3
+ activerecord:
4
+ models:
5
+ ecm/sliders/item:
6
+ one: slider item
7
+ other: slider items
8
+ attributes:
9
+ ecm/sliders/item:
10
+ body: body
11
+ created_at: created at
12
+ ecm_sliders_slider_id: slider
13
+ ecm_sliders_slider: slider
14
+ image_content_type: image filetype
15
+ image_file_name: imagte filename
16
+ image_file_size: image filesize
17
+ image_fingerprint: image fingerprint
18
+ image_updated_at: image updated at
19
+ position: position
20
+ updated_at: updated at
21
+ url: url
22
+ resources:
23
+ ecm_sliders_slider_items: slider-items
24
+
@@ -0,0 +1,19 @@
1
+ ---
2
+ de:
3
+ activerecord:
4
+ models:
5
+ ecm/sliders/slider:
6
+ one: Slider
7
+ other: Slider
8
+ attributes:
9
+ ecm/sliders/slider:
10
+ created_at: Erstellt am
11
+ description: Beschreibung
12
+ ecm_sliders_items: Slider Items
13
+ ecm_sliders_items_count: Slider Items
14
+ name: Name
15
+ slug: Freundliche ID
16
+ updated_at: Aktualisiert am
17
+ resources:
18
+ ecm_sliders_sliders: sliders
19
+
@@ -0,0 +1,19 @@
1
+ ---
2
+ en:
3
+ activerecord:
4
+ models:
5
+ ecm/sliders/slider:
6
+ one: slider
7
+ other: sliders
8
+ attributes:
9
+ ecm/sliders/slider:
10
+ created_at: created at
11
+ description: description
12
+ ecm_sliders_items: slider items
13
+ ecm_sliders_items_count: slider items
14
+ name: name
15
+ slug: friendly id
16
+ updated_at: updated at
17
+ resources:
18
+ ecm_sliders_sliders: sliders
19
+
@@ -0,0 +1,16 @@
1
+ class CreateEcmSlidersSliders < ActiveRecord::Migration
2
+ def change
3
+ create_table :ecm_sliders_sliders do |t|
4
+ t.string :name
5
+ t.text :description
6
+
7
+ # friendly id
8
+ t.string :slug
9
+
10
+ # associations
11
+ t.integer :ecm_sliders_items_count, :default => 0, :null => false
12
+
13
+ t.timestamps
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,24 @@
1
+ class CreateEcmSlidersItems < ActiveRecord::Migration
2
+ def change
3
+ create_table :ecm_sliders_items do |t|
4
+ t.text :body
5
+ t.string :url
6
+ t.integer :position
7
+
8
+ # acts as markup
9
+ t.string :markup_language
10
+
11
+ # associations
12
+ t.references :ecm_sliders_slider
13
+
14
+ # paperclip
15
+ t.string :image_file_name
16
+ t.integer :image_file_size
17
+ t.string :image_content_type
18
+ t.timestamp :image_updated_at
19
+ t.string :image_fingerprint
20
+
21
+ t.timestamps
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,57 @@
1
+ include ActiveAdmin::ActsAsList::Helper if defined?(::ActiveAdmin)
2
+
3
+ ActiveAdmin.register Ecm::Sliders::Item do
4
+ # menu entry settings
5
+ menu :parent => Proc.new { I18n.t('ecm.sliders.active_admin.menu') }.call
6
+
7
+ # active_admin-acts_as_list
8
+ sortable_member_actions
9
+
10
+ form do |f|
11
+ f.inputs do
12
+ f.input :ecm_sliders_slider
13
+ f.input :image, :as => :file,
14
+ :hint => f.template.image_tag(f.object.image.url(:thumb))
15
+ f.input :url
16
+ f.input :body
17
+ end
18
+
19
+ f.actions
20
+ end
21
+
22
+ index do
23
+ selectable_column
24
+ column :thumbnail do |item|
25
+ link_to(image_tag(item.image.url(:small_thumb)), [:admin, item])
26
+ end
27
+ column :ecm_sliders_slider
28
+ column(:url) { |item| link_to_if(item.url.present?, item.url, item.url) }
29
+ column :created_at
30
+ column :updated_at
31
+ default_actions
32
+ end
33
+
34
+ show do
35
+ attributes_table do
36
+ row(:image) { |item| image_tag(item.image.url(:slider)) }
37
+ row :image_file_name
38
+ row :image_file_size
39
+ row :image_content_type
40
+ row :image_updated_at
41
+ row :image_fingerprint
42
+ end
43
+
44
+ panel Ecm::Sliders::Item.human_attribute_name(:body) do
45
+ div { ecm_sliders_item.body }
46
+ end
47
+ end # show
48
+
49
+ sidebar Ecm::Sliders::Item.human_attribute_name(:details), :only => :show do
50
+ attributes_table_for ecm_sliders_item do
51
+ row :ecm_sliders_slider
52
+ row(:url) { |item| link_to_if(item.url.present?, item.url, item.url) }
53
+ row :created_at
54
+ row :updated_at
55
+ end
56
+ end # sidebar
57
+ end if defined?(ActiveAdmin)
@@ -0,0 +1,73 @@
1
+ include ActiveAdmin::ActsAsList::Helper if defined?(::ActiveAdmin)
2
+
3
+ ActiveAdmin.register Ecm::Sliders::Slider do
4
+ # menu entry settings
5
+ menu :parent => Proc.new { I18n.t('ecm.sliders.active_admin.menu') }.call
6
+
7
+ form do |f|
8
+ f.inputs do
9
+ f.input :name
10
+ f.input :description
11
+ end
12
+
13
+ f.inputs do
14
+ f.has_many :ecm_sliders_items do |item|
15
+ if item.object.persisted?
16
+ item.input :_destroy, :as => :boolean, :label => I18n.t('active_admin.delete')
17
+ end
18
+ item.input :image, :as => :file,
19
+ :hint => item.template.image_tag(item.object.image.url(:thumb))
20
+ item.input :url
21
+ item.input :body
22
+ end # f.has_many
23
+ end
24
+
25
+ f.actions
26
+ end
27
+
28
+ index do
29
+ selectable_column
30
+
31
+ column :name
32
+ column :description
33
+ column :ecm_sliders_items_count
34
+ column :created_at
35
+ column :updated_at
36
+
37
+ default_actions
38
+ end
39
+
40
+ show do
41
+ panel Ecm::Sliders::Slider.human_attribute_name(:description) do
42
+ div { ecm_sliders_slider.description }
43
+ end
44
+
45
+ panel Ecm::Sliders::Slider.human_attribute_name(:ecm_sliders_items) do
46
+ table_for ecm_sliders_slider.ecm_sliders_items, :i18n => Ecm::Sliders::Item do
47
+ sortable_columns
48
+
49
+ column :thumbnail do |item|
50
+ link_to(image_tag(item.image.url(:small_thumb)), [:admin, item])
51
+ end
52
+ column(:url) { |item| link_to_if(item.url.present?, item.url, item.url) }
53
+ column :created_at
54
+ column :updated_at
55
+
56
+ column do |item|
57
+ link_to(I18n.t('active_admin.view'), [:admin, item], :class => "member_link view_link") +
58
+ link_to(I18n.t('active_admin.edit'), [:edit, :admin, item], :class => "member_link edit_link")
59
+ end
60
+ end
61
+ end
62
+ end
63
+
64
+ sidebar Ecm::Sliders::Slider.human_attribute_name(:details), :only => :show do
65
+ attributes_table_for ecm_sliders_slider do
66
+ row :name
67
+ row :ecm_sliders_items_count
68
+ row :created_at
69
+ row :updated_at
70
+ end
71
+ end # sidebar
72
+ end if defined?(ActiveAdmin)
73
+
@@ -0,0 +1,22 @@
1
+ require 'active_support/core_ext/module/delegation'
2
+ require 'active_support/core_ext/module/attribute_accessors'
3
+ require 'active_support/hash_with_indifferent_access'
4
+
5
+ module Ecm
6
+ module Sliders
7
+ module Configuration
8
+ def configure
9
+ yield self
10
+ end
11
+
12
+ mattr_accessor :item_image_styles
13
+ @@item_image_styles = {}
14
+
15
+ mattr_accessor :markup_languages
16
+ @@markup_languages = []
17
+
18
+ mattr_accessor :default_markup_language
19
+ @@default_markup_language = nil
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,12 @@
1
+ module Ecm
2
+ module Sliders
3
+ class Engine < ::Rails::Engine
4
+ # active admin
5
+ initializer :ecm_sliders_engine do
6
+ ::ActiveAdmin.setup do |active_admin_config|
7
+ active_admin_config.load_paths += Dir[File.dirname(__FILE__) + '/active_admin']
8
+ end
9
+ end if defined?(::ActiveAdmin)
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ module Ecm
2
+ module Sliders
3
+ class Routing
4
+ def self.routes(router, options = {})
5
+ options.reverse_merge!(
6
+ { :slider_actions => [ :index ] }
7
+ )
8
+
9
+ router.resources :ecm_sliders_sliders, :only => options[:slider_actions], :controller => 'ecm/sliders/sliders'
10
+ end
11
+ end
12
+ end
13
+ end
14
+
@@ -0,0 +1,5 @@
1
+ module Ecm
2
+ module Sliders
3
+ VERSION = "0.0.1.pre"
4
+ end
5
+ end
@@ -0,0 +1,15 @@
1
+ require 'active_admin-acts_as_list'
2
+ require 'acts_as_list'
3
+ require 'acts_as_markup'
4
+ require 'friendly_id'
5
+ require 'paperclip'
6
+
7
+ require 'ecm/sliders/engine'
8
+ require 'ecm/sliders/configuration'
9
+ require 'ecm/sliders/routing'
10
+
11
+ module Ecm
12
+ module Sliders
13
+ extend Configuration
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ module Ecm
2
+ module Sliders
3
+ module Generators
4
+ class InstallGenerator < Rails::Generators::Base
5
+ desc "Generates the intializer"
6
+
7
+ source_root File.expand_path('../templates', __FILE__)
8
+
9
+ def generate_intializer
10
+ copy_file "ecm_sliders.rb", "config/initializers/ecm_sliders.rb"
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ Ecm::Sliders.configure do |config|
2
+ # Item options
3
+
4
+ # image sizes for slider items
5
+ config.item_image_styles = {
6
+ :small_thumb => "80x60>",
7
+ :medium_thumb => "160x120>",
8
+ :slider => "830x477"
9
+ }
10
+
11
+ # Accepted markup languages for the item body
12
+ config.markup_languages = %w[ markdown rdoc textile ]
13
+
14
+ # Default markup language for the item body
15
+ config.default_markup_language = 'textile'
16
+ end
17
+
@@ -0,0 +1,23 @@
1
+ module Ecm
2
+ module Sliders
3
+ module Generators
4
+ class LocalesGenerator < Rails::Generators::Base
5
+ desc "Copies the locale files to your application"
6
+
7
+ source_root File.expand_path('../../../../../../config/locales', __FILE__)
8
+
9
+ def generate_locales
10
+ copy_file "ecm.sliders.en.yml", "config/locales/ecm.sliders.en.yml"
11
+ copy_file "ecm.sliders.de.yml", "config/locales/ecm.sliders.de.yml"
12
+
13
+ copy_file "ecm.sliders.item.en.yml", "config/locales/ecm.sliders.item.en.yml"
14
+ copy_file "ecm.sliders.item.de.yml", "config/locales/ecm.sliders.item.de.yml"
15
+
16
+ copy_file "ecm.sliders.slider.en.yml", "config/locales/ecm.sliders.slider.en.yml"
17
+ copy_file "ecm.sliders.slider.de.yml", "config/locales/ecm.sliders.slider.de.yml"
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+
@@ -0,0 +1,60 @@
1
+ namespace :ecm do
2
+ namespace :sliders do
3
+ namespace :db do
4
+ desc "Purges and creates example data"
5
+ task :populate!, [] => [:environment] do |t, args|
6
+ Rake::Task["ecm:sliders:db:clear!"].execute
7
+ Rake::Task["ecm:sliders:db:populate"].execute
8
+ end
9
+
10
+ desc "Clears all data!"
11
+ task :clear!, [] => [:environment] do |t, args|
12
+ Rake::Task["ecm:sliders:db:clear_sliders!"].execute
13
+ Rake::Task["ecm:sliders:db:clear_items!"].execute
14
+ end
15
+
16
+ desc "Clears all sliders!"
17
+ task :clear_sliders!, [] => [:environment] do |t, args|
18
+ Ecm::Sliders::Slider.delete_all
19
+ end
20
+
21
+ desc "Clears all items!"
22
+ task :clear_items!, [] => [:environment] do |t, args|
23
+ Ecm::Sliders::Item.delete_all
24
+ end
25
+
26
+ desc "Creates example data"
27
+ task :populate, [] => [:environment] do |t, args|
28
+ Rake::Task["ecm:sliders:db:populate_sliders"].execute
29
+ Rake::Task["ecm:sliders:db:populate_items"].execute
30
+ end
31
+
32
+ desc "Creates example data for sliders"
33
+ task :populate_sliders, [] => [:environment] do |t, args|
34
+ 5.times do |i|
35
+ Ecm::Sliders::Slider.create! do |s|
36
+ s.name = "Slider Gallery #{i}"
37
+ end
38
+ end
39
+ end
40
+
41
+ desc "Creates example data for items"
42
+ task :populate_items, [] => [:environment] do |t, args|
43
+ require "ffaker"
44
+ require "forgery"
45
+
46
+ sliders = Ecm::Sliders::Slider.all
47
+ 50.times do
48
+ Ecm::Sliders::Item.create! do |i|
49
+ i.ecm_sliders_slider = sliders.choice
50
+ i.image = File.open(File.join(Ecm::Sliders::Engine.root, 'spec/files', 'ecm/sliders/items', 'example.png'))
51
+ i.body = Faker::Lorem.paragraph(rand(3)) if (rand(4) != 0)
52
+ i.url = Faker::Internet.http_url if (rand(2) == 0)
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+
60
+
metadata ADDED
@@ -0,0 +1,406 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ecm_sliders
3
+ version: !ruby/object:Gem::Version
4
+ hash: 961915968
5
+ prerelease: 6
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ - pre
11
+ version: 0.0.1.pre
12
+ platform: ruby
13
+ authors:
14
+ - Roberto Vasquez Angel
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2012-09-24 00:00:00 Z
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: active_admin-acts_as_list
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ hash: 19
30
+ segments:
31
+ - 0
32
+ - 0
33
+ - 6
34
+ version: 0.0.6
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: acts_as_list
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ hash: 11
46
+ segments:
47
+ - 0
48
+ - 1
49
+ - 8
50
+ version: 0.1.8
51
+ type: :runtime
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: acts_as_markup
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ hash: 3
62
+ segments:
63
+ - 0
64
+ version: "0"
65
+ type: :runtime
66
+ version_requirements: *id003
67
+ - !ruby/object:Gem::Dependency
68
+ name: friendly_id
69
+ prerelease: false
70
+ requirement: &id004 !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ hash: 47
76
+ segments:
77
+ - 4
78
+ - 0
79
+ - 8
80
+ version: 4.0.8
81
+ type: :runtime
82
+ version_requirements: *id004
83
+ - !ruby/object:Gem::Dependency
84
+ name: paperclip
85
+ prerelease: false
86
+ requirement: &id005 !ruby/object:Gem::Requirement
87
+ none: false
88
+ requirements:
89
+ - - ~>
90
+ - !ruby/object:Gem::Version
91
+ hash: 13
92
+ segments:
93
+ - 2
94
+ - 7
95
+ version: "2.7"
96
+ type: :runtime
97
+ version_requirements: *id005
98
+ - !ruby/object:Gem::Dependency
99
+ name: rails
100
+ prerelease: false
101
+ requirement: &id006 !ruby/object:Gem::Requirement
102
+ none: false
103
+ requirements:
104
+ - - ~>
105
+ - !ruby/object:Gem::Version
106
+ hash: 31
107
+ segments:
108
+ - 3
109
+ - 2
110
+ - 8
111
+ version: 3.2.8
112
+ type: :runtime
113
+ version_requirements: *id006
114
+ - !ruby/object:Gem::Dependency
115
+ name: sqlite3
116
+ prerelease: false
117
+ requirement: &id007 !ruby/object:Gem::Requirement
118
+ none: false
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ hash: 3
123
+ segments:
124
+ - 0
125
+ version: "0"
126
+ type: :development
127
+ version_requirements: *id007
128
+ - !ruby/object:Gem::Dependency
129
+ name: thin
130
+ prerelease: false
131
+ requirement: &id008 !ruby/object:Gem::Requirement
132
+ none: false
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ hash: 3
137
+ segments:
138
+ - 0
139
+ version: "0"
140
+ type: :development
141
+ version_requirements: *id008
142
+ - !ruby/object:Gem::Dependency
143
+ name: yard
144
+ prerelease: false
145
+ requirement: &id009 !ruby/object:Gem::Requirement
146
+ none: false
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ hash: 3
151
+ segments:
152
+ - 0
153
+ version: "0"
154
+ type: :development
155
+ version_requirements: *id009
156
+ - !ruby/object:Gem::Dependency
157
+ name: activeadmin
158
+ prerelease: false
159
+ requirement: &id010 !ruby/object:Gem::Requirement
160
+ none: false
161
+ requirements:
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ hash: 3
165
+ segments:
166
+ - 0
167
+ version: "0"
168
+ type: :development
169
+ version_requirements: *id010
170
+ - !ruby/object:Gem::Dependency
171
+ name: sass-rails
172
+ prerelease: false
173
+ requirement: &id011 !ruby/object:Gem::Requirement
174
+ none: false
175
+ requirements:
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ hash: 3
179
+ segments:
180
+ - 0
181
+ version: "0"
182
+ type: :development
183
+ version_requirements: *id011
184
+ - !ruby/object:Gem::Dependency
185
+ name: coffee-rails
186
+ prerelease: false
187
+ requirement: &id012 !ruby/object:Gem::Requirement
188
+ none: false
189
+ requirements:
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ hash: 3
193
+ segments:
194
+ - 0
195
+ version: "0"
196
+ type: :development
197
+ version_requirements: *id012
198
+ - !ruby/object:Gem::Dependency
199
+ name: capybara
200
+ prerelease: false
201
+ requirement: &id013 !ruby/object:Gem::Requirement
202
+ none: false
203
+ requirements:
204
+ - - ">="
205
+ - !ruby/object:Gem::Version
206
+ hash: 3
207
+ segments:
208
+ - 0
209
+ version: "0"
210
+ type: :development
211
+ version_requirements: *id013
212
+ - !ruby/object:Gem::Dependency
213
+ name: rspec-rails
214
+ prerelease: false
215
+ requirement: &id014 !ruby/object:Gem::Requirement
216
+ none: false
217
+ requirements:
218
+ - - ~>
219
+ - !ruby/object:Gem::Version
220
+ hash: 3
221
+ segments:
222
+ - 2
223
+ - 0
224
+ version: "2.0"
225
+ type: :development
226
+ version_requirements: *id014
227
+ - !ruby/object:Gem::Dependency
228
+ name: shoulda-matchers
229
+ prerelease: false
230
+ requirement: &id015 !ruby/object:Gem::Requirement
231
+ none: false
232
+ requirements:
233
+ - - ">="
234
+ - !ruby/object:Gem::Version
235
+ hash: 3
236
+ segments:
237
+ - 0
238
+ version: "0"
239
+ type: :development
240
+ version_requirements: *id015
241
+ - !ruby/object:Gem::Dependency
242
+ name: factory_girl_rails
243
+ prerelease: false
244
+ requirement: &id016 !ruby/object:Gem::Requirement
245
+ none: false
246
+ requirements:
247
+ - - ~>
248
+ - !ruby/object:Gem::Version
249
+ hash: 15
250
+ segments:
251
+ - 1
252
+ - 0
253
+ version: "1.0"
254
+ type: :development
255
+ version_requirements: *id016
256
+ - !ruby/object:Gem::Dependency
257
+ name: ffaker
258
+ prerelease: false
259
+ requirement: &id017 !ruby/object:Gem::Requirement
260
+ none: false
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ hash: 3
265
+ segments:
266
+ - 0
267
+ version: "0"
268
+ type: :development
269
+ version_requirements: *id017
270
+ - !ruby/object:Gem::Dependency
271
+ name: forgery
272
+ prerelease: false
273
+ requirement: &id018 !ruby/object:Gem::Requirement
274
+ none: false
275
+ requirements:
276
+ - - "="
277
+ - !ruby/object:Gem::Version
278
+ hash: 11
279
+ segments:
280
+ - 0
281
+ - 5
282
+ - 0
283
+ version: 0.5.0
284
+ type: :development
285
+ version_requirements: *id018
286
+ - !ruby/object:Gem::Dependency
287
+ name: rb-inotify
288
+ prerelease: false
289
+ requirement: &id019 !ruby/object:Gem::Requirement
290
+ none: false
291
+ requirements:
292
+ - - ~>
293
+ - !ruby/object:Gem::Version
294
+ hash: 47
295
+ segments:
296
+ - 0
297
+ - 8
298
+ - 8
299
+ version: 0.8.8
300
+ type: :development
301
+ version_requirements: *id019
302
+ - !ruby/object:Gem::Dependency
303
+ name: guard-rspec
304
+ prerelease: false
305
+ requirement: &id020 !ruby/object:Gem::Requirement
306
+ none: false
307
+ requirements:
308
+ - - ">="
309
+ - !ruby/object:Gem::Version
310
+ hash: 3
311
+ segments:
312
+ - 0
313
+ version: "0"
314
+ type: :development
315
+ version_requirements: *id020
316
+ - !ruby/object:Gem::Dependency
317
+ name: guard-bundler
318
+ prerelease: false
319
+ requirement: &id021 !ruby/object:Gem::Requirement
320
+ none: false
321
+ requirements:
322
+ - - ">="
323
+ - !ruby/object:Gem::Version
324
+ hash: 3
325
+ segments:
326
+ - 0
327
+ version: "0"
328
+ type: :development
329
+ version_requirements: *id021
330
+ description: ECM Module Template.
331
+ email:
332
+ - roberto@vasquez-angel.de
333
+ executables: []
334
+
335
+ extensions: []
336
+
337
+ extra_rdoc_files: []
338
+
339
+ files:
340
+ - app/controllers/ecm/sliders/sliders_controller.rb
341
+ - app/helpers/ecm/sliders_helper.rb
342
+ - app/views/ecm/sliders/sliders/index.html.erb
343
+ - app/views/ecm/sliders/sliders/_slider.html.erb
344
+ - app/views/ecm/sliders/items/_item.html.erb
345
+ - app/models/ecm/sliders/item.rb
346
+ - app/models/ecm/sliders/slider.rb
347
+ - config/locales/ecm.sliders.de.yml
348
+ - config/locales/ecm.sliders.item.en.yml
349
+ - config/locales/ecm.sliders.slider.en.yml
350
+ - config/locales/ecm.sliders.item.de.yml
351
+ - config/locales/ecm.sliders.en.yml
352
+ - config/locales/ecm.sliders.slider.de.yml
353
+ - db/migrate/002_create_ecm_sliders_items.rb
354
+ - db/migrate/001_create_ecm_sliders_sliders.rb
355
+ - lib/generators/ecm/sliders/locales/locales_generator.rb
356
+ - lib/generators/ecm/sliders/install/install_generator.rb
357
+ - lib/generators/ecm/sliders/install/templates/ecm_sliders.rb
358
+ - lib/tasks/ecm_sliders_tasks.rake
359
+ - lib/ecm/sliders/active_admin/ecm_sliders_items.rb
360
+ - lib/ecm/sliders/active_admin/ecm_sliders_sliders.rb
361
+ - lib/ecm/sliders/engine.rb
362
+ - lib/ecm/sliders/version.rb
363
+ - lib/ecm/sliders/routing.rb
364
+ - lib/ecm/sliders/configuration.rb
365
+ - lib/ecm_sliders.rb
366
+ - MIT-LICENSE
367
+ - Rakefile
368
+ - README.rdoc
369
+ homepage: https://github.com/robotex82/ecm_faq
370
+ licenses: []
371
+
372
+ post_install_message:
373
+ rdoc_options: []
374
+
375
+ require_paths:
376
+ - lib
377
+ required_ruby_version: !ruby/object:Gem::Requirement
378
+ none: false
379
+ requirements:
380
+ - - ">="
381
+ - !ruby/object:Gem::Version
382
+ hash: 3
383
+ segments:
384
+ - 0
385
+ version: "0"
386
+ required_rubygems_version: !ruby/object:Gem::Requirement
387
+ none: false
388
+ requirements:
389
+ - - ">"
390
+ - !ruby/object:Gem::Version
391
+ hash: 25
392
+ segments:
393
+ - 1
394
+ - 3
395
+ - 1
396
+ version: 1.3.1
397
+ requirements: []
398
+
399
+ rubyforge_project:
400
+ rubygems_version: 1.8.24
401
+ signing_key:
402
+ specification_version: 3
403
+ summary: ECM Module Template.
404
+ test_files: []
405
+
406
+ has_rdoc: