ecm_cms 0.0.1.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.
Files changed (55) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +55 -0
  3. data/Rakefile +27 -0
  4. data/app/assets/stylesheets/ecm_cms.css.less +3 -0
  5. data/app/controllers/ecm/cms/page_controller.rb +11 -0
  6. data/app/helpers/ecm/cms_helper.rb +42 -0
  7. data/app/models/ecm/cms.rb +5 -0
  8. data/app/models/ecm/cms/folder.rb +31 -0
  9. data/app/models/ecm/cms/navigation.rb +24 -0
  10. data/app/models/ecm/cms/navigation_item.rb +93 -0
  11. data/app/models/ecm/cms/page.rb +42 -0
  12. data/app/models/ecm/cms/partial.rb +31 -0
  13. data/app/models/ecm/cms/template.rb +31 -0
  14. data/config/locales/ecm.cms.de.yml +17 -0
  15. data/config/locales/ecm.cms.en.yml +17 -0
  16. data/config/locales/ecm.cms.navigation.de.yml +16 -0
  17. data/config/locales/ecm.cms.navigation.en.yml +16 -0
  18. data/config/locales/ecm.cms.navigation_item.de.yml +23 -0
  19. data/config/locales/ecm.cms.navigation_item.en.yml +23 -0
  20. data/config/locales/ecm.cms.page.de.yml +26 -0
  21. data/config/locales/ecm.cms.page.en.yml +26 -0
  22. data/config/locales/ecm.cms.partial.de.yml +22 -0
  23. data/config/locales/ecm.cms.partial.en.yml +22 -0
  24. data/config/locales/ecm.cms.template.de.yml +22 -0
  25. data/config/locales/ecm.cms.template.en.yml +22 -0
  26. data/db/migrate/001_create_ecm_cms_folders.rb +21 -0
  27. data/db/migrate/002_create_ecm_cms_pages.rb +19 -0
  28. data/db/migrate/003_create_ecm_cms_templates.rb +18 -0
  29. data/db/migrate/004_create_ecm_cms_partials.rb +19 -0
  30. data/db/migrate/005_create_ecm_cms_navigations.rb +13 -0
  31. data/db/migrate/006_create_ecm_cms_navigation_items.rb +28 -0
  32. data/lib/ecm/cms/action_view/template/handlers/textile.rb +18 -0
  33. data/lib/ecm/cms/action_view/template_patch.rb +19 -0
  34. data/lib/ecm/cms/action_view/template_renderer_patch.rb +30 -0
  35. data/lib/ecm/cms/active_admin/ecm_cms_navigation_items.rb +45 -0
  36. data/lib/ecm/cms/active_admin/ecm_cms_navigations.rb +61 -0
  37. data/lib/ecm/cms/active_admin/ecm_cms_pages.rb +70 -0
  38. data/lib/ecm/cms/active_admin/ecm_cms_partials.rb +47 -0
  39. data/lib/ecm/cms/active_admin/ecm_cms_templates.rb +46 -0
  40. data/lib/ecm/cms/configuration.rb +22 -0
  41. data/lib/ecm/cms/database_resolver.rb +101 -0
  42. data/lib/ecm/cms/database_template.rb +67 -0
  43. data/lib/ecm/cms/engine.rb +22 -0
  44. data/lib/ecm/cms/resolvers/ecm/cms/page_resolver.rb +37 -0
  45. data/lib/ecm/cms/resolvers/ecm/cms/partial_resolver.rb +30 -0
  46. data/lib/ecm/cms/resolvers/ecm/cms/template_resolver.rb +30 -0
  47. data/lib/ecm/cms/routing.rb +13 -0
  48. data/lib/ecm/cms/version.rb +5 -0
  49. data/lib/ecm_cms.rb +30 -0
  50. data/lib/generators/ecm/cms/install/install_generator.rb +15 -0
  51. data/lib/generators/ecm/cms/install/templates/ecm_cms.rb +7 -0
  52. data/lib/generators/ecm/cms/locales/locales_generator.rb +32 -0
  53. data/lib/rails_tools/i18n_controller.rb +24 -0
  54. data/lib/tasks/ecm_cms_tasks.rake +171 -0
  55. metadata +463 -0
@@ -0,0 +1,22 @@
1
+ module Ecm
2
+ module Cms
3
+ class Engine < ::Rails::Engine
4
+ # active admin
5
+ initializer :ecm_cms_engine do
6
+ ::ActiveAdmin.setup do |config|
7
+ config.load_paths += Dir[File.dirname(__FILE__) + '/active_admin']
8
+ config.register_stylesheet 'ecm_cms.css'
9
+ end
10
+ end if defined?(::ActiveAdmin)
11
+
12
+ # assets
13
+ if Rails.version >= '3.1'
14
+ initializer "ecm_cms.asset_pipeline" do |app|
15
+ # app.config.assets.precompile << 'ecm_cms.js'
16
+ app.config.assets.precompile << 'ecm_cms.css'
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+
@@ -0,0 +1,37 @@
1
+ require 'ecm/cms/database_resolver'
2
+
3
+ module Ecm
4
+ module Cms
5
+ class PageResolver < ::ActionView::Resolver
6
+ require 'singleton'
7
+ include Singleton
8
+
9
+ # add shared behaviour for database backed templates
10
+ include Ecm::Cms::DatabaseResolver
11
+
12
+ def build_source(record)
13
+ if record.body.nil?
14
+ source = ''
15
+ else
16
+ source = record.body
17
+ end
18
+ content_for_title = "<% content_for :title do %>#{Ecm::Cms::Configuration.site_title} - #{record.title}<% end %>"
19
+ content_for_meta_description = "<% content_for :meta_description do %>#{record.meta_description}<% end %>"
20
+ source << content_for_title << content_for_meta_description
21
+ end
22
+
23
+ def normalize_basename(basename)
24
+ basename
25
+ end
26
+
27
+ def resolve(partial_flag)
28
+ !partial_flag
29
+ end
30
+
31
+ def template_class
32
+ 'Ecm::Cms::Page'
33
+ end
34
+ end
35
+ end
36
+ end
37
+
@@ -0,0 +1,30 @@
1
+ require 'ecm/cms/database_resolver'
2
+
3
+ module Ecm
4
+ module Cms
5
+ class PartialResolver < ::ActionView::Resolver
6
+ require 'singleton'
7
+ include Singleton
8
+
9
+ # add shared behaviour for database backed templates
10
+ include Ecm::Cms::DatabaseResolver
11
+
12
+ def template_class
13
+ 'Ecm::Cms::Partial'
14
+ end
15
+
16
+ def build_source(record)
17
+ record.body
18
+ end
19
+
20
+ def normalize_basename(basename)
21
+ '_' << basename
22
+ end
23
+
24
+ def resolve(partial_flag)
25
+ partial_flag
26
+ end
27
+ end
28
+ end
29
+ end
30
+
@@ -0,0 +1,30 @@
1
+ require 'ecm/cms/database_resolver'
2
+
3
+ module Ecm
4
+ module Cms
5
+ class TemplateResolver < ::ActionView::Resolver
6
+ require 'singleton'
7
+ include Singleton
8
+
9
+ # add shared behaviour for database backed templates
10
+ include Ecm::Cms::DatabaseResolver
11
+
12
+ def build_source(record)
13
+ record.body
14
+ end
15
+
16
+ def normalize_basename(basename)
17
+ basename
18
+ end
19
+
20
+ def resolve(partial_flag)
21
+ !partial_flag
22
+ end
23
+
24
+ def template_class
25
+ 'Ecm::Cms::Template'
26
+ end
27
+ end
28
+ end
29
+ end
30
+
@@ -0,0 +1,13 @@
1
+ module Ecm
2
+ module Cms
3
+ class Routing
4
+ def self.routes(router, options = {})
5
+ options.reverse_merge!({})
6
+
7
+ router.match "/*page", :to => "ecm/cms/page#respond", :as => :page
8
+ router.match '/' => "ecm/cms/page#respond", :page => 'home', :as => :root
9
+ end
10
+ end
11
+ end
12
+ end
13
+
@@ -0,0 +1,5 @@
1
+ module Ecm
2
+ module Cms
3
+ VERSION = "0.0.1.pre"
4
+ end
5
+ end
@@ -0,0 +1,30 @@
1
+ require 'ecm/cms/action_view/template/handlers/textile'
2
+ require 'ecm/cms/action_view/template_patch'
3
+ require 'ecm/cms/action_view/template_renderer_patch'
4
+ require 'active_admin-awesome_nested_set'
5
+ require 'awesome_nested_set'
6
+ require 'i18n_routing'
7
+ require 'rails_tools/i18n_controller'
8
+ require 'redcloth'
9
+ require 'simple-navigation'
10
+ require 'simple-navigation-bootstrap'
11
+
12
+ require 'ecm/cms/engine'
13
+ require 'ecm/cms/configuration'
14
+ require 'ecm/cms/routing'
15
+
16
+ # require 'ecm/cms/database_resolver'
17
+ require 'ecm/cms/database_template'
18
+
19
+ require 'ecm/cms/resolvers/ecm/cms/page_resolver'
20
+ require 'ecm/cms/resolvers/ecm/cms/template_resolver'
21
+ require 'ecm/cms/resolvers/ecm/cms/partial_resolver'
22
+
23
+ ::ActionView::Template.register_template_handler :textile, ::ActionView::Template::Handlers::Textile.new
24
+
25
+ module Ecm
26
+ module Cms
27
+ extend Configuration
28
+ end
29
+ end
30
+
@@ -0,0 +1,15 @@
1
+ module Ecm
2
+ module Cms
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_cms.rb", "config/initializers/ecm_cms.rb"
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,7 @@
1
+ Ecm::Cms.configure do |config|
2
+ config.default_handlers = {
3
+ :page => :texterb,
4
+ :partial => :texterb,
5
+ :template => :texterb
6
+ }
7
+ end
@@ -0,0 +1,32 @@
1
+ module Ecm
2
+ module Cms
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.cms.en.yml", "config/locales/ecm.cms.en.yml"
11
+ copy_file "ecm.cms.de.yml", "config/locales/ecm.cms.de.yml"
12
+
13
+ copy_file "ecm.cms.navigation.en.yml", "config/locales/ecm.cms.navigation.en.yml"
14
+ copy_file "ecm.cms.navigation.de.yml", "config/locales/ecm.cms.navigation.de.yml"
15
+
16
+ copy_file "ecm.cms.navigation_item.en.yml", "config/locales/ecm.cms.navigation_item.en.yml"
17
+ copy_file "ecm.cms.navigation_item.de.yml", "config/locales/ecm.cms.navigation_item.de.yml"
18
+
19
+ copy_file "ecm.cms.page.en.yml", "config/locales/ecm.cms.page.en.yml"
20
+ copy_file "ecm.cms.page.de.yml", "config/locales/ecm.cms.page.de.yml"
21
+
22
+ copy_file "ecm.cms.partial.en.yml", "config/locales/ecm.cms.partial.en.yml"
23
+ copy_file "ecm.cms.partial.de.yml", "config/locales/ecm.cms.partial.de.yml"
24
+
25
+ copy_file "ecm.cms.template.en.yml", "config/locales/ecm.cms.template.en.yml"
26
+ copy_file "ecm.cms.template.de.yml", "config/locales/ecm.cms.template.de.yml"
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+
@@ -0,0 +1,24 @@
1
+ module RailsTools
2
+ module I18nController
3
+ def set_locale
4
+ I18n.locale = params[:i18n_locale]
5
+ end
6
+
7
+ def default_url_options(options = {})
8
+ { :i18n_locale => I18n.locale }
9
+ end
10
+
11
+
12
+ def self.included(base)
13
+ base.before_filter :set_locale
14
+ base.extend(ClassMethods)
15
+ end
16
+
17
+ module ClassMethods
18
+ def self.default_url_options(options = {})
19
+ { :i18n_locale => I18n.locale }
20
+ end
21
+ end
22
+ end
23
+ end
24
+
@@ -0,0 +1,171 @@
1
+ # encoding: utf-8
2
+ namespace :ecm do
3
+ namespace :cms do
4
+ namespace :db do
5
+ desc "Purges and creates example data"
6
+ task :populate!, [] => [:environment] do |t, args|
7
+ Rake::Task["ecm:cms:db:clear!"].execute
8
+ Rake::Task["ecm:cms:db:populate"].execute
9
+ end
10
+
11
+ desc "Clears all data!"
12
+ task :clear!, [] => [:environment] do |t, args|
13
+ Rake::Task["ecm:cms:db:clear_navigations!"].execute
14
+ Rake::Task["ecm:cms:db:clear_navigation_items!"].execute
15
+ Rake::Task["ecm:cms:db:clear_folders!"].execute
16
+ Rake::Task["ecm:cms:db:clear_pages!"].execute
17
+ # Rake::Task["ecm:cms:db:clear_templates!"].execute
18
+ # Rake::Task["ecm:cms:db:clear_partials!"].execute
19
+ end
20
+
21
+ desc "Clears all navigations!"
22
+ task :clear_navigations!, [] => [:environment] do |t, args|
23
+ Ecm::Cms::Navigation.delete_all
24
+ end
25
+
26
+ desc "Clears all navigation items!"
27
+ task :clear_navigation_items!, [] => [:environment] do |t, args|
28
+ Ecm::Cms::NavigationItem.delete_all
29
+ end
30
+
31
+ desc "Clears all folders!"
32
+ task :clear_folders!, [] => [:environment] do |t, args|
33
+ Ecm::Cms::Folder.delete_all
34
+ end
35
+
36
+ desc "Clears all pages!"
37
+ task :clear_pages!, [] => [:environment] do |t, args|
38
+ Ecm::Cms::Page.delete_all
39
+ end
40
+
41
+ desc "Clears all partials!"
42
+ task :clear_partials!, [] => [:environment] do |t, args|
43
+ Ecm::Cms::Partial.delete_all
44
+ end
45
+
46
+ desc "Clears all templates!"
47
+ task :clear_templates!, [] => [:environment] do |t, args|
48
+ Ecm::Cms::Template.delete_all
49
+ end
50
+
51
+ desc "Creates example data"
52
+ task :populate, [] => [:environment] do |t, args|
53
+ Rake::Task["ecm:cms:db:populate_folders"].execute
54
+ Rake::Task["ecm:cms:db:populate_pages"].execute
55
+ # Rake::Task["ecm:cms:db:populate_templates"].execute
56
+ # Rake::Task["ecm:cms:db:populate_partials"].execute
57
+ Rake::Task["ecm:cms:db:populate_navigations"].execute
58
+ Rake::Task["ecm:cms:db:populate_navigation_items"].execute
59
+ end
60
+
61
+ desc "Creates example navigations"
62
+ task :populate_navigations, [] => [:environment] do |t, args|
63
+ navigations = {
64
+ :de => [
65
+ { :name => 'i18n' },
66
+ { :name => 'legal' },
67
+ { :name => 'main' }
68
+ ],
69
+ :en => [
70
+ { :name => 'i18n' },
71
+ { :name => 'legal' },
72
+ { :name => 'main' }
73
+ ]
74
+ }.with_indifferent_access
75
+
76
+ I18n.available_locales.each do |locale|
77
+ navigations[locale].each do |navigation|
78
+ Ecm::Cms::Navigation.create!(navigation.reverse_merge!({ :locale => locale.to_s }))
79
+ end if navigations.has_key?(locale)
80
+ end
81
+ end
82
+
83
+ desc "Creates example navigation items"
84
+ task :populate_navigation_items, [] => [:environment] do |t, args|
85
+ items = {
86
+ :de => {
87
+ :i18n => [
88
+ { :name => 'Deutsch', :key => 'i18n_de', :url => '/de', :options => nil},
89
+ { :name => 'English', :key => 'i18n_de', :url => '/en', :options => nil}
90
+ ],
91
+ :legal => [
92
+ { :name => 'Impressum', :ecm_cms_page => Ecm::Cms::Page.where(:basename => 'impressum', :locale => 'de').first, :key => 'imprint', :url => nil, :options => nil},
93
+ { :name => 'AGB', :ecm_cms_page => Ecm::Cms::Page.where(:basename => 'agb', :locale => 'de').first, :key => 'terms_of_service', :url => nil, :options => nil}
94
+ ],
95
+ :main => [
96
+ { :name => 'Home', :ecm_cms_page => Ecm::Cms::Page.where(:basename => 'home', :locale => 'de').first, :key => 'home', :url => nil, :options => nil },
97
+ { :name => 'Über uns', :ecm_cms_page => Ecm::Cms::Page.where(:basename => 'ueber-uns', :locale => 'de').first, :key => 'about_us', :url => nil , :options => nil },
98
+ { :name => 'Anfahrt', :ecm_cms_page => Ecm::Cms::Page.where(:basename => 'anfahrt', :locale => 'de').first, :key => 'approach', :url => nil, :options => nil },
99
+ { :name => 'Kontakt', :ecm_cms_page => nil, :key => 'contact', :url => '/de/kontakt', :options => nil }
100
+ ]
101
+ },
102
+ :en => {
103
+ :i18n => [
104
+ { :name => 'Deutsch', :key => 'i18n_de', :url => '/de', :options => nil},
105
+ { :name => 'English', :key => 'i18n_en', :url => '/en', :options => nil}
106
+ ],
107
+ :legal => [
108
+ { :name => 'Imprint', :ecm_cms_page => Ecm::Cms::Page.where(:basename => 'imprint', :locale => 'en').first, :key => 'imprint', :url => nil, :options => nil},
109
+ { :name => 'Terms of Service', :ecm_cms_page => Ecm::Cms::Page.where(:basename => 'terms-of-service', :locale => 'en').first, :key => 'terms_of_service', :url => nil, :options => nil}
110
+ ],
111
+ :main => [
112
+ { :name => 'Home', :ecm_cms_page => Ecm::Cms::Page.where(:basename => 'home', :locale => 'en').first, :key => 'home', :url => nil, :options => nil },
113
+ { :name => 'About us', :ecm_cms_page => Ecm::Cms::Page.where(:basename => 'about-us', :locale => 'en').first, :key => 'about_us', :url => nil , :options => nil },
114
+ { :name => 'Approach', :ecm_cms_page => Ecm::Cms::Page.where(:basename => 'approach', :locale => 'en').first, :key => 'approach', :url => nil, :options => nil },
115
+ { :name => 'Contact', :ecm_cms_page => nil, :key => 'contact', :url => '/en/contact', :options => nil }
116
+ ]
117
+ }
118
+ }.with_indifferent_access
119
+
120
+ I18n.available_locales.each do |locale|
121
+ Ecm::Cms::Navigation.where(:locale => locale,:name => [items[locale].keys]).all.each do |navigation|
122
+ items[locale][navigation.name].each do |item|
123
+ navigation.ecm_cms_navigation_items.create!(item)
124
+ end
125
+ end
126
+ end
127
+ end
128
+
129
+ desc "Creates example folders"
130
+ task :populate_folders, [] => [:environment] do |t, args|
131
+
132
+ end
133
+
134
+ desc "Creates example pages"
135
+ task :populate_pages, [] => [:environment] do |t, args|
136
+ pages = {
137
+ :en => [
138
+ { :title => 'Home', :body => '<h1>Home (en)</h1>', :pathname => '/', :basename => 'home', :locale => 'en', :format => 'html', :handler => 'erb' },
139
+ { :title => 'Imprint', :body => '<h1>Imprint (en)</h1>', :pathname => '/', :basename => 'imprint', :locale => 'en', :format => 'html', :handler => 'erb' },
140
+ { :title => 'About us', :body => '<h1>About us (en)</h1>', :pathname => '/', :basename => 'about-us', :locale => 'en', :format => 'html', :handler => 'erb' },
141
+ { :title => 'Approach', :body => '<h1>Approach (en)</h1>', :pathname => '/', :basename => 'approach', :locale => 'en', :format => 'html', :handler => 'erb' },
142
+ { :title => 'Terms of Service', :body => '<h1>Terms of Service (en)</h1>', :pathname => '/', :basename => 'terms-of-service', :locale => 'en', :format => 'html', :handler => 'erb' }
143
+ ],
144
+ :de => [
145
+ { :title => 'Home', :body => '<h1>Home (de)</h1>', :pathname => '/', :basename => 'home', :locale => 'de', :format => 'html', :handler => 'erb' },
146
+ { :title => 'Impressum', :body => '<h1>Impressum (de)</h1>', :pathname => '/', :basename => 'impressum', :locale => 'de', :format => 'html', :handler => 'erb' },
147
+ { :title => 'Über uns', :body => '<h1>Über uns (de)</h1>', :pathname => '/', :basename => 'ueber-uns', :locale => 'de', :format => 'html', :handler => 'erb' },
148
+ { :title => 'Anfahrt', :body => '<h1>Anfahrt (de)</h1>', :pathname => '/', :basename => 'anfahrt', :locale => 'de', :format => 'html', :handler => 'erb' },
149
+ { :title => 'AGB', :body => '<h1>AGB (de)</h1>', :pathname => '/', :basename => 'agb', :locale => 'de', :format => 'html', :handler => 'erb' }
150
+ ]
151
+ }.with_indifferent_access
152
+
153
+ I18n.available_locales.each do |locale|
154
+ pages[locale].each do |page|
155
+ Ecm::Cms::Page.create!(page)
156
+ end if pages.has_key?(locale)
157
+ end
158
+ end
159
+
160
+ desc "Creates example templates"
161
+ task :populate_templates, [] => [:environment] do |t, args|
162
+
163
+ end
164
+
165
+ desc "Creates example partials"
166
+ task :populate_partials, [] => [:environment] do |t, args|
167
+
168
+ end
169
+ end
170
+ end
171
+ end
metadata ADDED
@@ -0,0 +1,463 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ecm_cms
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-10-25 00:00:00 Z
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rails
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ hash: 31
30
+ segments:
31
+ - 3
32
+ - 2
33
+ - 8
34
+ version: 3.2.8
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: active_admin-awesome_nested_set
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 3
46
+ segments:
47
+ - 0
48
+ version: "0"
49
+ type: :runtime
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: awesome_nested_set
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ hash: 3
60
+ segments:
61
+ - 0
62
+ version: "0"
63
+ type: :runtime
64
+ version_requirements: *id003
65
+ - !ruby/object:Gem::Dependency
66
+ name: draper
67
+ prerelease: false
68
+ requirement: &id004 !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ hash: 3
74
+ segments:
75
+ - 0
76
+ version: "0"
77
+ type: :runtime
78
+ version_requirements: *id004
79
+ - !ruby/object:Gem::Dependency
80
+ name: i18n_routing
81
+ prerelease: false
82
+ requirement: &id005 !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ hash: 3
88
+ segments:
89
+ - 0
90
+ version: "0"
91
+ type: :runtime
92
+ version_requirements: *id005
93
+ - !ruby/object:Gem::Dependency
94
+ name: RedCloth
95
+ prerelease: false
96
+ requirement: &id006 !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ hash: 3
102
+ segments:
103
+ - 0
104
+ version: "0"
105
+ type: :runtime
106
+ version_requirements: *id006
107
+ - !ruby/object:Gem::Dependency
108
+ name: simple-navigation
109
+ prerelease: false
110
+ requirement: &id007 !ruby/object:Gem::Requirement
111
+ none: false
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ hash: 3
116
+ segments:
117
+ - 0
118
+ version: "0"
119
+ type: :runtime
120
+ version_requirements: *id007
121
+ - !ruby/object:Gem::Dependency
122
+ name: simple-navigation-bootstrap
123
+ prerelease: false
124
+ requirement: &id008 !ruby/object:Gem::Requirement
125
+ none: false
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ hash: 3
130
+ segments:
131
+ - 0
132
+ version: "0"
133
+ type: :runtime
134
+ version_requirements: *id008
135
+ - !ruby/object:Gem::Dependency
136
+ name: sqlite3
137
+ prerelease: false
138
+ requirement: &id009 !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ hash: 3
144
+ segments:
145
+ - 0
146
+ version: "0"
147
+ type: :development
148
+ version_requirements: *id009
149
+ - !ruby/object:Gem::Dependency
150
+ name: thin
151
+ prerelease: false
152
+ requirement: &id010 !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ hash: 3
158
+ segments:
159
+ - 0
160
+ version: "0"
161
+ type: :development
162
+ version_requirements: *id010
163
+ - !ruby/object:Gem::Dependency
164
+ name: yard
165
+ prerelease: false
166
+ requirement: &id011 !ruby/object:Gem::Requirement
167
+ none: false
168
+ requirements:
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ hash: 3
172
+ segments:
173
+ - 0
174
+ version: "0"
175
+ type: :development
176
+ version_requirements: *id011
177
+ - !ruby/object:Gem::Dependency
178
+ name: activeadmin
179
+ prerelease: false
180
+ requirement: &id012 !ruby/object:Gem::Requirement
181
+ none: false
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ hash: 3
186
+ segments:
187
+ - 0
188
+ version: "0"
189
+ type: :development
190
+ version_requirements: *id012
191
+ - !ruby/object:Gem::Dependency
192
+ name: sass-rails
193
+ prerelease: false
194
+ requirement: &id013 !ruby/object:Gem::Requirement
195
+ none: false
196
+ requirements:
197
+ - - ">="
198
+ - !ruby/object:Gem::Version
199
+ hash: 3
200
+ segments:
201
+ - 0
202
+ version: "0"
203
+ type: :development
204
+ version_requirements: *id013
205
+ - !ruby/object:Gem::Dependency
206
+ name: coffee-rails
207
+ prerelease: false
208
+ requirement: &id014 !ruby/object:Gem::Requirement
209
+ none: false
210
+ requirements:
211
+ - - ">="
212
+ - !ruby/object:Gem::Version
213
+ hash: 3
214
+ segments:
215
+ - 0
216
+ version: "0"
217
+ type: :development
218
+ version_requirements: *id014
219
+ - !ruby/object:Gem::Dependency
220
+ name: twitter-bootstrap-rails
221
+ prerelease: false
222
+ requirement: &id015 !ruby/object:Gem::Requirement
223
+ none: false
224
+ requirements:
225
+ - - ">="
226
+ - !ruby/object:Gem::Version
227
+ hash: 3
228
+ segments:
229
+ - 0
230
+ version: "0"
231
+ type: :development
232
+ version_requirements: *id015
233
+ - !ruby/object:Gem::Dependency
234
+ name: capybara
235
+ prerelease: false
236
+ requirement: &id016 !ruby/object:Gem::Requirement
237
+ none: false
238
+ requirements:
239
+ - - ">="
240
+ - !ruby/object:Gem::Version
241
+ hash: 3
242
+ segments:
243
+ - 0
244
+ version: "0"
245
+ type: :development
246
+ version_requirements: *id016
247
+ - !ruby/object:Gem::Dependency
248
+ name: rspec-rails
249
+ prerelease: false
250
+ requirement: &id017 !ruby/object:Gem::Requirement
251
+ none: false
252
+ requirements:
253
+ - - ">="
254
+ - !ruby/object:Gem::Version
255
+ hash: 3
256
+ segments:
257
+ - 0
258
+ version: "0"
259
+ type: :development
260
+ version_requirements: *id017
261
+ - !ruby/object:Gem::Dependency
262
+ name: shoulda-matchers
263
+ prerelease: false
264
+ requirement: &id018 !ruby/object:Gem::Requirement
265
+ none: false
266
+ requirements:
267
+ - - ">="
268
+ - !ruby/object:Gem::Version
269
+ hash: 3
270
+ segments:
271
+ - 0
272
+ version: "0"
273
+ type: :development
274
+ version_requirements: *id018
275
+ - !ruby/object:Gem::Dependency
276
+ name: factory_girl_rails
277
+ prerelease: false
278
+ requirement: &id019 !ruby/object:Gem::Requirement
279
+ none: false
280
+ requirements:
281
+ - - ~>
282
+ - !ruby/object:Gem::Version
283
+ hash: 15
284
+ segments:
285
+ - 1
286
+ - 0
287
+ version: "1.0"
288
+ type: :development
289
+ version_requirements: *id019
290
+ - !ruby/object:Gem::Dependency
291
+ name: ffaker
292
+ prerelease: false
293
+ requirement: &id020 !ruby/object:Gem::Requirement
294
+ none: false
295
+ requirements:
296
+ - - ">="
297
+ - !ruby/object:Gem::Version
298
+ hash: 3
299
+ segments:
300
+ - 0
301
+ version: "0"
302
+ type: :development
303
+ version_requirements: *id020
304
+ - !ruby/object:Gem::Dependency
305
+ name: forgery
306
+ prerelease: false
307
+ requirement: &id021 !ruby/object:Gem::Requirement
308
+ none: false
309
+ requirements:
310
+ - - ">="
311
+ - !ruby/object:Gem::Version
312
+ hash: 3
313
+ segments:
314
+ - 0
315
+ version: "0"
316
+ type: :development
317
+ version_requirements: *id021
318
+ - !ruby/object:Gem::Dependency
319
+ name: rb-inotify
320
+ prerelease: false
321
+ requirement: &id022 !ruby/object:Gem::Requirement
322
+ none: false
323
+ requirements:
324
+ - - ~>
325
+ - !ruby/object:Gem::Version
326
+ hash: 47
327
+ segments:
328
+ - 0
329
+ - 8
330
+ - 8
331
+ version: 0.8.8
332
+ type: :development
333
+ version_requirements: *id022
334
+ - !ruby/object:Gem::Dependency
335
+ name: guard-rspec
336
+ prerelease: false
337
+ requirement: &id023 !ruby/object:Gem::Requirement
338
+ none: false
339
+ requirements:
340
+ - - ">="
341
+ - !ruby/object:Gem::Version
342
+ hash: 3
343
+ segments:
344
+ - 0
345
+ version: "0"
346
+ type: :development
347
+ version_requirements: *id023
348
+ - !ruby/object:Gem::Dependency
349
+ name: guard-bundler
350
+ prerelease: false
351
+ requirement: &id024 !ruby/object:Gem::Requirement
352
+ none: false
353
+ requirements:
354
+ - - ">="
355
+ - !ruby/object:Gem::Version
356
+ hash: 3
357
+ segments:
358
+ - 0
359
+ version: "0"
360
+ type: :development
361
+ version_requirements: *id024
362
+ description: CMS Module for active admin.
363
+ email:
364
+ - roberto@vasquez-angel.de
365
+ executables: []
366
+
367
+ extensions: []
368
+
369
+ extra_rdoc_files: []
370
+
371
+ files:
372
+ - app/controllers/ecm/cms/page_controller.rb
373
+ - app/helpers/ecm/cms_helper.rb
374
+ - app/models/ecm/cms.rb
375
+ - app/models/ecm/cms/navigation_item.rb
376
+ - app/models/ecm/cms/partial.rb
377
+ - app/models/ecm/cms/navigation.rb
378
+ - app/models/ecm/cms/page.rb
379
+ - app/models/ecm/cms/folder.rb
380
+ - app/models/ecm/cms/template.rb
381
+ - app/assets/stylesheets/ecm_cms.css.less
382
+ - config/locales/ecm.cms.page.en.yml
383
+ - config/locales/ecm.cms.partial.en.yml
384
+ - config/locales/ecm.cms.template.de.yml
385
+ - config/locales/ecm.cms.navigation_item.de.yml
386
+ - config/locales/ecm.cms.en.yml
387
+ - config/locales/ecm.cms.template.en.yml
388
+ - config/locales/ecm.cms.de.yml
389
+ - config/locales/ecm.cms.page.de.yml
390
+ - config/locales/ecm.cms.navigation.de.yml
391
+ - config/locales/ecm.cms.navigation.en.yml
392
+ - config/locales/ecm.cms.navigation_item.en.yml
393
+ - config/locales/ecm.cms.partial.de.yml
394
+ - db/migrate/005_create_ecm_cms_navigations.rb
395
+ - db/migrate/003_create_ecm_cms_templates.rb
396
+ - db/migrate/001_create_ecm_cms_folders.rb
397
+ - db/migrate/002_create_ecm_cms_pages.rb
398
+ - db/migrate/004_create_ecm_cms_partials.rb
399
+ - db/migrate/006_create_ecm_cms_navigation_items.rb
400
+ - lib/rails_tools/i18n_controller.rb
401
+ - lib/generators/ecm/cms/locales/locales_generator.rb
402
+ - lib/generators/ecm/cms/install/install_generator.rb
403
+ - lib/generators/ecm/cms/install/templates/ecm_cms.rb
404
+ - lib/tasks/ecm_cms_tasks.rake
405
+ - lib/ecm_cms.rb
406
+ - lib/ecm/cms/database_template.rb
407
+ - lib/ecm/cms/action_view/template_renderer_patch.rb
408
+ - lib/ecm/cms/action_view/template_patch.rb
409
+ - lib/ecm/cms/action_view/template/handlers/textile.rb
410
+ - lib/ecm/cms/database_resolver.rb
411
+ - lib/ecm/cms/active_admin/ecm_cms_partials.rb
412
+ - lib/ecm/cms/active_admin/ecm_cms_navigation_items.rb
413
+ - lib/ecm/cms/active_admin/ecm_cms_pages.rb
414
+ - lib/ecm/cms/active_admin/ecm_cms_navigations.rb
415
+ - lib/ecm/cms/active_admin/ecm_cms_templates.rb
416
+ - lib/ecm/cms/resolvers/ecm/cms/page_resolver.rb
417
+ - lib/ecm/cms/resolvers/ecm/cms/template_resolver.rb
418
+ - lib/ecm/cms/resolvers/ecm/cms/partial_resolver.rb
419
+ - lib/ecm/cms/engine.rb
420
+ - lib/ecm/cms/version.rb
421
+ - lib/ecm/cms/routing.rb
422
+ - lib/ecm/cms/configuration.rb
423
+ - MIT-LICENSE
424
+ - Rakefile
425
+ - README.rdoc
426
+ homepage: https://github.com/robotex82/ecm_cms
427
+ licenses: []
428
+
429
+ post_install_message:
430
+ rdoc_options: []
431
+
432
+ require_paths:
433
+ - lib
434
+ required_ruby_version: !ruby/object:Gem::Requirement
435
+ none: false
436
+ requirements:
437
+ - - ">="
438
+ - !ruby/object:Gem::Version
439
+ hash: 3
440
+ segments:
441
+ - 0
442
+ version: "0"
443
+ required_rubygems_version: !ruby/object:Gem::Requirement
444
+ none: false
445
+ requirements:
446
+ - - ">"
447
+ - !ruby/object:Gem::Version
448
+ hash: 25
449
+ segments:
450
+ - 1
451
+ - 3
452
+ - 1
453
+ version: 1.3.1
454
+ requirements: []
455
+
456
+ rubyforge_project:
457
+ rubygems_version: 1.8.24
458
+ signing_key:
459
+ specification_version: 3
460
+ summary: CMS Module for active admin.
461
+ test_files: []
462
+
463
+ has_rdoc: