ecm_cms 0.0.1.pre

Sign up to get free protection for your applications and to get access to all the features.
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: