comfortable_mexican_sofa 1.2.8 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. data/Gemfile +1 -1
  2. data/README.md +1 -1
  3. data/VERSION +1 -1
  4. data/app/assets/javascripts/comfortable_mexican_sofa/application.js +3 -3
  5. data/app/assets/javascripts/comfortable_mexican_sofa/wymeditor/jquery.wymeditor.cms.js +1 -1
  6. data/app/assets/stylesheets/comfortable_mexican_sofa/structure.css +1 -1
  7. data/app/controllers/cms_admin/base_controller.rb +22 -25
  8. data/app/controllers/cms_admin/layouts_controller.rb +21 -21
  9. data/app/controllers/cms_admin/pages_controller.rb +29 -29
  10. data/app/controllers/cms_admin/revisions_controller.rb +6 -6
  11. data/app/controllers/cms_admin/sites_controller.rb +21 -20
  12. data/app/controllers/cms_admin/snippets_controller.rb +19 -20
  13. data/app/controllers/cms_admin/uploads_controller.rb +6 -6
  14. data/app/controllers/cms_content_controller.rb +30 -16
  15. data/app/models/cms/layout.rb +2 -9
  16. data/app/models/cms/site.rb +11 -6
  17. data/app/views/cms_admin/layouts/_form.html.erb +6 -6
  18. data/app/views/cms_admin/layouts/_index_branch.html.erb +10 -10
  19. data/app/views/cms_admin/layouts/edit.html.erb +6 -5
  20. data/app/views/cms_admin/layouts/index.html.erb +3 -3
  21. data/app/views/cms_admin/layouts/new.html.erb +3 -3
  22. data/app/views/cms_admin/pages/_form.html.erb +11 -11
  23. data/app/views/cms_admin/pages/_form_blocks.html.erb +3 -4
  24. data/app/views/cms_admin/pages/_index_branch.html.erb +15 -15
  25. data/app/views/cms_admin/pages/edit.html.erb +6 -5
  26. data/app/views/cms_admin/pages/index.html.erb +4 -4
  27. data/app/views/cms_admin/pages/new.html.erb +3 -3
  28. data/app/views/cms_admin/pages/toggle_branch.js.erb +3 -3
  29. data/app/views/cms_admin/revisions/show.html.erb +4 -4
  30. data/app/views/cms_admin/sites/_form.html.erb +5 -2
  31. data/app/views/cms_admin/sites/_mirrors.html.erb +6 -6
  32. data/app/views/cms_admin/sites/edit.html.erb +3 -3
  33. data/app/views/cms_admin/sites/index.html.erb +9 -9
  34. data/app/views/cms_admin/sites/new.html.erb +3 -3
  35. data/app/views/cms_admin/snippets/_form.html.erb +3 -3
  36. data/app/views/cms_admin/snippets/edit.html.erb +5 -5
  37. data/app/views/cms_admin/snippets/index.html.erb +9 -9
  38. data/app/views/cms_admin/snippets/new.html.erb +3 -3
  39. data/app/views/cms_admin/uploads/_file.html.erb +1 -1
  40. data/app/views/cms_admin/uploads/_index.html.erb +2 -2
  41. data/app/views/cms_admin/uploads/destroy.js.erb +1 -1
  42. data/app/views/layouts/cms_admin/_head.html.erb +2 -0
  43. data/app/views/layouts/cms_admin/_left.html.erb +6 -6
  44. data/comfortable_mexican_sofa.gemspec +10 -6
  45. data/config/boot.rb +3 -10
  46. data/config/initializers/comfortable_mexican_sofa.rb +14 -22
  47. data/config/locales/en.yml +179 -4
  48. data/config/locales/es.yml +179 -0
  49. data/config/routes.rb +25 -27
  50. data/db/migrate/01_create_cms.rb +8 -1
  51. data/db/migrate/upgrades/04_upgrade_to_1_3_0.rb +23 -0
  52. data/lib/comfortable_mexican_sofa/configuration.rb +15 -19
  53. data/lib/comfortable_mexican_sofa/fixtures.rb +12 -3
  54. data/lib/comfortable_mexican_sofa/form_builder.rb +7 -6
  55. data/lib/comfortable_mexican_sofa/is_mirrored.rb +9 -11
  56. data/lib/comfortable_mexican_sofa/tags/asset.rb +2 -2
  57. data/test/fixtures/cms/sites.yml +3 -1
  58. data/test/functional/cms_admin/base_controller_test.rb +18 -0
  59. data/test/functional/cms_admin/layouts_controller_test.rb +20 -19
  60. data/test/functional/cms_admin/pages_controller_test.rb +73 -71
  61. data/test/functional/cms_admin/revisions_controller_test.rb +23 -20
  62. data/test/functional/cms_admin/sites_controller_test.rb +8 -8
  63. data/test/functional/cms_admin/snippets_controller_test.rb +17 -16
  64. data/test/functional/cms_admin/uploads_controller_test.rb +3 -3
  65. data/test/integration/authentication_test.rb +4 -4
  66. data/test/integration/fixtures_test.rb +1 -1
  67. data/test/integration/mirrors_test.rb +15 -18
  68. data/test/integration/routing_extensions_test.rb +4 -19
  69. data/test/integration/sites_test.rb +67 -48
  70. data/test/test_helper.rb +26 -6
  71. data/test/unit/configuration_test.rb +5 -5
  72. data/test/unit/form_builder_test.rb +69 -0
  73. data/test/unit/mirrors_test.rb +2 -6
  74. data/test/unit/models/site_test.rb +30 -3
  75. metadata +55 -56
@@ -2,72 +2,91 @@ require File.expand_path('../test_helper', File.dirname(__FILE__))
2
2
 
3
3
  class SitesTest < ActionDispatch::IntegrationTest
4
4
 
5
- def test_get_admin
6
- http_auth :get, cms_admin_pages_path
7
- assert_response :success
5
+ def test_get_admin_with_single_site
6
+ http_auth :get, cms_admin_path
7
+ assert assigns(:site)
8
+ assert_equal cms_sites(:default), assigns(:site)
9
+ assert_response :redirect
10
+ assert_redirected_to cms_admin_site_pages_path(assigns(:site))
8
11
  end
9
12
 
10
13
  def test_get_admin_with_no_site
11
14
  Cms::Site.delete_all
12
- assert_difference 'Cms::Site.count' do
13
- http_auth :get, cms_admin_pages_path
14
- assert_response :redirect
15
- assert_redirected_to new_cms_admin_page_path
16
- site = Cms::Site.first
17
- assert_equal 'test.host', site.hostname
18
- assert_equal 'Default Site', site.label
19
- end
15
+ http_auth :get, cms_admin_path
16
+ assert_response :redirect
17
+ assert_redirected_to new_cms_admin_site_path
18
+ assert_equal 'Site not found', flash[:error]
20
19
  end
21
20
 
22
- def test_get_admin_with_wrong_site
23
- site = cms_sites(:default)
24
- site.update_attribute(:hostname, 'remote.host')
25
- assert_no_difference 'Cms::Site.count' do
26
- http_auth :get, cms_admin_pages_path
27
- assert_response :success
28
- site.reload
29
- assert_equal 'test.host', site.hostname
30
- end
21
+ def test_get_public_page_with_single_site
22
+ host! 'bogus.host'
23
+ get '/'
24
+ assert_response :success
25
+ assert assigns(:cms_site)
26
+ assert_equal 'test.host', assigns(:cms_site).hostname
31
27
  end
32
28
 
33
- def test_get_admin_with_two_wrong_sites
34
- ComfortableMexicanSofa.config.enable_multiple_sites = true
29
+ def test_get_public_page_with_sites_with_different_paths
35
30
  Cms::Site.delete_all
36
- Cms::Site.create!(:label => 'Site1', :hostname => 'site1.host')
37
- Cms::Site.create!(:label => 'Site2', :hostname => 'site2.host')
38
- assert_no_difference 'Cms::Site.count' do
39
- http_auth :get, cms_admin_pages_path
40
- assert_response :redirect
41
- assert_redirected_to cms_admin_sites_path
42
- assert_equal 'No Site defined for this hostname. Create it now.', flash[:error]
31
+ site_a = Cms::Site.create!(:label => 'Site A', :hostname => 'test.host', :path => '')
32
+ site_b = Cms::Site.create!(:label => 'Site B', :hostname => 'test.host', :path => 'path-b')
33
+ site_c = Cms::Site.create!(:label => 'Site C', :hostname => 'test.host', :path => 'path-c/child')
34
+
35
+ %w(/ /path-a /path-a/child /path-c).each do |path|
36
+ get path
37
+ assert_response 404
38
+ assert assigns(:cms_site), path
39
+ assert_equal site_a, assigns(:cms_site)
40
+ assert_equal path.gsub(/^\//, ''), @controller.params[:cms_path].to_s
43
41
  end
44
- end
45
-
46
- def test_get_admin_with_no_site_and_multiple_sites_enabled
47
- ComfortableMexicanSofa.config.enable_multiple_sites = true
48
- Cms::Site.delete_all
49
- assert_no_difference 'Cms::Site.count' do
50
- http_auth :get, cms_admin_pages_path
51
- assert_response :redirect
52
- assert_redirected_to cms_admin_sites_path
53
- assert_equal 'No Site defined for this hostname. Create it now.', flash[:error]
42
+
43
+ %w(/path-b /path-b/child).each do |path|
44
+ get path
45
+ assert_response 404
46
+ assert assigns(:cms_site), path
47
+ assert_equal site_b, assigns(:cms_site)
48
+ assert_equal path.gsub(/^\/path-b/, '').gsub(/^\//, ''), @controller.params[:cms_path].to_s
49
+ end
50
+
51
+ %w(/path-c/child /path-c/child/child).each do |path|
52
+ get path
53
+ assert_response 404
54
+ assert assigns(:cms_site), path
55
+ assert_equal site_c, assigns(:cms_site)
56
+ assert_equal path.gsub(/^\/path-c\/child/, '').gsub(/^\//, ''), @controller.params[:cms_path].to_s
54
57
  end
55
58
  end
56
59
 
57
- def test_get_public_page_for_wrong_host_with_single_site
58
- host! 'bogus.host'
60
+ def test_get_public_with_locale
59
61
  get '/'
60
62
  assert_response :success
61
63
  assert assigns(:cms_site)
62
- assert_equal 'test.host', assigns(:cms_site).hostname
64
+ assert_equal :en, I18n.locale
65
+
66
+ cms_sites(:default).update_attribute(:locale, 'fr')
67
+ get '/'
68
+ assert_response :success
69
+ assert assigns(:cms_site)
70
+ assert_equal :fr, I18n.locale
63
71
  end
64
72
 
65
- def test_get_public_page_for_wrong_host_with_mutiple_sites
66
- ComfortableMexicanSofa.config.enable_multiple_sites = true
67
- host! 'bogus.host'
68
- get '/'
69
- assert_response 404
70
- assert_equal 'Site Not Found', response.body
73
+ def test_get_admin_with_locale
74
+ http_auth :get, cms_admin_site_pages_path(cms_sites(:default))
75
+ assert_response :success
76
+ assert_equal :en, I18n.locale
77
+
78
+ cms_sites(:default).update_attribute(:locale, 'fr')
79
+ http_auth :get, cms_admin_site_pages_path(cms_sites(:default))
80
+ assert_response :success
81
+ assert_equal :fr, I18n.locale
82
+ end
83
+
84
+ def test_get_admin_with_forced_locale
85
+ ComfortableMexicanSofa.config.admin_locale = :en
86
+ cms_sites(:default).update_attribute(:locale, 'fr')
87
+ http_auth :get, cms_admin_site_pages_path(cms_sites(:default))
88
+ assert_response :success
89
+ assert_equal :en, I18n.locale
71
90
  end
72
91
 
73
92
  end
data/test/test_helper.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  ENV['RAILS_ENV'] = 'test'
2
4
  require File.expand_path('../../config/environment', __FILE__)
3
5
  require 'rails/test_help'
@@ -17,15 +19,13 @@ class ActiveSupport::TestCase
17
19
  config.cms_title = 'ComfortableMexicanSofa MicroCMS'
18
20
  config.authentication = 'ComfortableMexicanSofa::HttpAuth'
19
21
  config.admin_route_prefix = 'cms-admin'
20
- config.content_route_prefix = ''
21
- config.admin_route_redirect = 'pages'
22
- config.enable_multiple_sites = false
23
- config.enable_mirror_sites = false
22
+ config.admin_route_redirect = ''
24
23
  config.allow_irb = false
25
- config.enable_caching = true
26
24
  config.enable_fixtures = false
27
25
  config.fixtures_path = File.expand_path('db/cms_fixtures', Rails.root)
28
26
  config.revisions_limit = 25
27
+ config.locales = { :en => 'English', :es => 'Español' }
28
+ config.admin_locale = nil
29
29
  end
30
30
  ComfortableMexicanSofa::HttpAuth.username = 'username'
31
31
  ComfortableMexicanSofa::HttpAuth.password = 'password'
@@ -66,11 +66,31 @@ class ActiveSupport::TestCase
66
66
  flunk 'Exception was not raised'
67
67
  end
68
68
  end
69
-
69
+
70
+ def assert_no_select(selector, value = nil)
71
+ assert_select(selector, :text => value, :count => 0)
72
+ end
73
+
70
74
  # Small method that allows for better formatting in tests
71
75
  def rendered_content_formatter(string)
72
76
  string.gsub(/^[ ]+/, '')
73
77
  end
78
+
79
+ # Example usage:
80
+ # with_translations(:en, :sections => { :products => "Our Products" }) do
81
+ # assert_equal I18n.translate('products', :scope => 'sections'), "Our Products"
82
+ # assert_equal I18n.translate('sections'), { :products => "Our Products" }
83
+ # end
84
+ def with_translations(locale, translations, &block)
85
+ begin
86
+ I18n.backend.store_translations locale, translations
87
+ I18n.locale = locale
88
+ yield
89
+ ensure
90
+ I18n.reload!
91
+ end
92
+ end
93
+
74
94
  end
75
95
 
76
96
  class ActionController::TestCase
@@ -1,3 +1,5 @@
1
+ # encoding: utf-8
2
+
1
3
  require File.expand_path('../test_helper', File.dirname(__FILE__))
2
4
 
3
5
  class ConfigurationTest < ActiveSupport::TestCase
@@ -7,15 +9,13 @@ class ConfigurationTest < ActiveSupport::TestCase
7
9
  assert_equal 'ComfortableMexicanSofa MicroCMS', config.cms_title
8
10
  assert_equal 'ComfortableMexicanSofa::HttpAuth', config.authentication
9
11
  assert_equal 'cms-admin', config.admin_route_prefix
10
- assert_equal '', config.content_route_prefix
11
- assert_equal 'pages', config.admin_route_redirect
12
- assert_equal false, config.enable_multiple_sites
13
- assert_equal false, config.enable_mirror_sites
12
+ assert_equal '', config.admin_route_redirect
14
13
  assert_equal false, config.allow_irb
15
- assert_equal true, config.enable_caching
16
14
  assert_equal false, config.enable_fixtures
17
15
  assert_equal File.expand_path('db/cms_fixtures', Rails.root), config.fixtures_path
18
16
  assert_equal 25, config.revisions_limit
17
+ assert_equal ({:en => 'English', :es => 'Español'}), config.locales
18
+ assert_equal nil, config.admin_locale
19
19
  end
20
20
 
21
21
  def test_initialization_overrides
@@ -0,0 +1,69 @@
1
+ require File.expand_path('../test_helper', File.dirname(__FILE__))
2
+
3
+ class FormBuilderTest < ActionView::TestCase
4
+ include ComfortableMexicanSofa::ViewMethods
5
+
6
+ def test_form_render_basic
7
+ concat( cms_form_for(cms_pages(:child), :url => '#') do |f|
8
+ f.text_area(:label) +
9
+ f.text_field(:slug) +
10
+ f.select(:parent_id, [['1', 'Parent']])
11
+ end )
12
+
13
+ assert_select 'form' do
14
+ assert_select 'div.form_element.text_area_element' do
15
+ assert_select 'label[for="cms_page_label"]', 'Label'
16
+ assert_select 'textarea#cms_page_label'
17
+ end
18
+ assert_select 'div.form_element.text_field_element' do
19
+ assert_select 'label[for="cms_page_slug"]', 'Slug'
20
+ assert_select 'input#cms_page_slug'
21
+ end
22
+ assert_select 'div.form_element.select_element' do
23
+ assert_select 'select#cms_page_parent_id'
24
+ assert_select 'label', 'Parent'
25
+ end
26
+ end
27
+ end
28
+
29
+ def test_form_render_with_custom_ids
30
+ concat( cms_form_for(cms_pages(:child), :url => '#') do |f|
31
+ f.text_field(:label, :id => 'slugify') +
32
+ f.text_field(:slug)
33
+ end )
34
+
35
+ assert_no_select 'label#slugify'
36
+ assert_select 'label[for="slugify"]', 'Label'
37
+ assert_select "input#slugify[name='cms_page[label]']"
38
+ end
39
+
40
+ def test_form_label_with_html_safe_labels
41
+ cms_form_for(cms_pages(:child), :url => '#') do |f|
42
+ assert f.label_for(:is_published).html_safe?
43
+ end
44
+ end
45
+
46
+ def test_form_label_custom_override
47
+ concat( cms_form_for(cms_pages(:child), :url => '#') do |f|
48
+ f.text_field(:slug, :label => 'Custom')
49
+ end )
50
+ assert_select 'label[for="cms_page_slug"]', 'Custom'
51
+ end
52
+
53
+ def test_form_label_translations
54
+ with_translations :test_lang, {
55
+ :attributes => { :slug => "Gulsty" },
56
+ :activerecord => { :attributes => { :'cms/page' => { :label => 'Titlumtimpin' } } }
57
+ } do
58
+ concat( cms_form_for(cms_pages(:child), :url => '#') do |f|
59
+ f.text_field(:label) +
60
+ f.text_field(:slug) +
61
+ f.text_field(:parent_id)
62
+ end )
63
+ assert_select 'label[for="cms_page_label"]', 'Titlumtimpin'
64
+ assert_select 'label[for="cms_page_slug"]', 'Gulsty'
65
+ assert_select 'label[for="cms_page_parent_id"]', 'Parent'
66
+ end
67
+ end
68
+
69
+ end
@@ -3,13 +3,9 @@ require File.expand_path('../test_helper', File.dirname(__FILE__))
3
3
  class MirrorsTest < ActiveSupport::TestCase
4
4
 
5
5
  def setup
6
- ComfortableMexicanSofa.config.enable_mirror_sites = true
7
- load(File.expand_path('app/models/cms/layout.rb', Rails.root))
8
- load(File.expand_path('app/models/cms/page.rb', Rails.root))
9
- load(File.expand_path('app/models/cms/snippet.rb', Rails.root))
10
6
  Cms::Site.delete_all
11
- @site_a = Cms::Site.create!(:label => 'Site A', :hostname => 'site-a.host')
12
- @site_b = Cms::Site.create!(:label => 'Site B', :hostname => 'site-b.host')
7
+ @site_a = Cms::Site.create!(:label => 'Site A', :hostname => 'site-a.host', :is_mirrored => true)
8
+ @site_b = Cms::Site.create!(:label => 'Site B', :hostname => 'site-b.host', :is_mirrored => true)
13
9
  end
14
10
 
15
11
  def test_layout_creation
@@ -21,12 +21,36 @@ class CmsSiteTest < ActiveSupport::TestCase
21
21
  assert site.valid?
22
22
  end
23
23
 
24
+ def test_validation_path_uniqueness
25
+ s1 = cms_sites(:default)
26
+ s2 = Cms::Site.new(
27
+ :hostname => s1.hostname,
28
+ :path => s1.path
29
+ )
30
+ assert s2.invalid?
31
+ assert_has_errors_on s2, :hostname
32
+
33
+ s2 = Cms::Site.new(
34
+ :hostname => s1.hostname,
35
+ :path => '/en'
36
+ )
37
+ assert s2.valid?
38
+ end
39
+
24
40
  def test_label_assignment
25
41
  site = Cms::Site.new(:hostname => 'my-site.host')
26
42
  assert site.valid?
27
43
  assert_equal 'my-site.host', site.label
28
44
  end
29
45
 
46
+ def test_clean_path
47
+ site = Cms::Site.create!(:hostname => 'test.host', :path => '/en///test//')
48
+ assert_equal '/en/test', site.path
49
+
50
+ site = Cms::Site.create!(:hostname => 'my-site.host', :path => '/')
51
+ assert_equal '', site.path
52
+ end
53
+
30
54
  def test_cascading_destroy
31
55
  assert_difference 'Cms::Site.count', -1 do
32
56
  assert_difference 'Cms::Layout.count', -3 do
@@ -39,9 +63,12 @@ class CmsSiteTest < ActiveSupport::TestCase
39
63
  end
40
64
  end
41
65
 
42
- def test_options_for_select
43
- assert_equal 1, Cms::Site.options_for_select.size
44
- assert_equal 'Default Site (test.host)', Cms::Site.options_for_select[0][0]
66
+ def test_scope_mirrored
67
+ site = cms_sites(:default)
68
+ assert !site.is_mirrored
69
+ assert_equal 0, Cms::Site.mirrored.count
70
+ site.update_attribute(:is_mirrored, true)
71
+ assert_equal 1, Cms::Site.mirrored.count
45
72
  end
46
73
 
47
74
  end
metadata CHANGED
@@ -1,72 +1,70 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: comfortable_mexican_sofa
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.3.0
4
5
  prerelease:
5
- version: 1.2.8
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Oleg Khabarov
9
9
  - The Working Group Inc
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
-
14
- date: 2011-06-13 00:00:00 Z
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
13
+ date: 2011-07-03 00:00:00.000000000 -04:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
17
  name: rails
18
- requirement: &id001 !ruby/object:Gem::Requirement
18
+ requirement: &2154496160 !ruby/object:Gem::Requirement
19
19
  none: false
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
20
+ requirements:
21
+ - - ! '>='
22
+ - !ruby/object:Gem::Version
23
23
  version: 3.0.0
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
26
+ version_requirements: *2154496160
27
+ - !ruby/object:Gem::Dependency
28
28
  name: active_link_to
29
- requirement: &id002 !ruby/object:Gem::Requirement
29
+ requirement: &2154495460 !ruby/object:Gem::Requirement
30
30
  none: false
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
34
- version: 0.0.7
31
+ requirements:
32
+ - - ! '>='
33
+ - !ruby/object:Gem::Version
34
+ version: 0.0.0
35
35
  type: :runtime
36
36
  prerelease: false
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
37
+ version_requirements: *2154495460
38
+ - !ruby/object:Gem::Dependency
39
39
  name: paperclip
40
- requirement: &id003 !ruby/object:Gem::Requirement
40
+ requirement: &2154494760 !ruby/object:Gem::Requirement
41
41
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
45
  version: 2.3.11
46
46
  type: :runtime
47
47
  prerelease: false
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
48
+ version_requirements: *2154494760
49
+ - !ruby/object:Gem::Dependency
50
50
  name: sqlite3
51
- requirement: &id004 !ruby/object:Gem::Requirement
51
+ requirement: &2154494060 !ruby/object:Gem::Requirement
52
52
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- version: "0"
53
+ requirements:
54
+ - - ! '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
57
  type: :development
58
58
  prerelease: false
59
- version_requirements: *id004
60
- description: ""
59
+ version_requirements: *2154494060
60
+ description: ''
61
61
  email: oleg@theworkinggroup.ca
62
62
  executables: []
63
-
64
63
  extensions: []
65
-
66
- extra_rdoc_files:
64
+ extra_rdoc_files:
67
65
  - LICENSE
68
66
  - README.md
69
- files:
67
+ files:
70
68
  - .gemtest
71
69
  - Gemfile
72
70
  - LICENSE
@@ -193,6 +191,7 @@ files:
193
191
  - config/initializers/comfortable_mexican_sofa.rb
194
192
  - config/initializers/paperclip.rb
195
193
  - config/locales/en.yml
194
+ - config/locales/es.yml
196
195
  - config/routes.rb
197
196
  - db/cms_fixtures/example.com/layouts/default/_default.yml
198
197
  - db/cms_fixtures/example.com/layouts/default/content.html
@@ -212,6 +211,7 @@ files:
212
211
  - db/migrate/01_create_cms.rb
213
212
  - db/migrate/upgrades/02_upgrade_to_1_1_0.rb
214
213
  - db/migrate/upgrades/03_upgrade_to_1_2_0.rb
214
+ - db/migrate/upgrades/04_upgrade_to_1_3_0.rb
215
215
  - db/seeds.rb
216
216
  - doc/page_editing.png
217
217
  - doc/sofa.png
@@ -264,6 +264,7 @@ files:
264
264
  - test/fixtures/files/valid_image.jpg
265
265
  - test/fixtures/views/_nav_hook.html.erb
266
266
  - test/fixtures/views/_nav_hook_2.html.erb
267
+ - test/functional/cms_admin/base_controller_test.rb
267
268
  - test/functional/cms_admin/layouts_controller_test.rb
268
269
  - test/functional/cms_admin/pages_controller_test.rb
269
270
  - test/functional/cms_admin/revisions_controller_test.rb
@@ -281,6 +282,7 @@ files:
281
282
  - test/test_helper.rb
282
283
  - test/unit/configuration_test.rb
283
284
  - test/unit/fixtures_test.rb
285
+ - test/unit/form_builder_test.rb
284
286
  - test/unit/mirrors_test.rb
285
287
  - test/unit/models/block_test.rb
286
288
  - test/unit/models/layout_test.rb
@@ -305,35 +307,32 @@ files:
305
307
  - test/unit/tags/snippet_test.rb
306
308
  - test/unit/tags/upload_test.rb
307
309
  - test/unit/view_methods_test.rb
310
+ has_rdoc: true
308
311
  homepage: http://github.com/twg/comfortable-mexican-sofa
309
312
  licenses: []
310
-
311
313
  post_install_message:
312
314
  rdoc_options: []
313
-
314
- require_paths:
315
+ require_paths:
315
316
  - lib
316
- required_ruby_version: !ruby/object:Gem::Requirement
317
+ required_ruby_version: !ruby/object:Gem::Requirement
317
318
  none: false
318
- requirements:
319
- - - ">="
320
- - !ruby/object:Gem::Version
321
- hash: -2002714519629523177
322
- segments:
319
+ requirements:
320
+ - - ! '>='
321
+ - !ruby/object:Gem::Version
322
+ version: '0'
323
+ segments:
323
324
  - 0
324
- version: "0"
325
- required_rubygems_version: !ruby/object:Gem::Requirement
325
+ hash: 422969780907158311
326
+ required_rubygems_version: !ruby/object:Gem::Requirement
326
327
  none: false
327
- requirements:
328
- - - ">="
329
- - !ruby/object:Gem::Version
330
- version: "0"
328
+ requirements:
329
+ - - ! '>='
330
+ - !ruby/object:Gem::Version
331
+ version: '0'
331
332
  requirements: []
332
-
333
333
  rubyforge_project:
334
- rubygems_version: 1.7.2
334
+ rubygems_version: 1.6.2
335
335
  signing_key:
336
336
  specification_version: 3
337
337
  summary: ComfortableMexicanSofa is a powerful micro CMS for Ruby on Rails 3 applications
338
338
  test_files: []
339
-