comfortable_mexican_sofa 1.4.20 → 1.4.21
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.
- data/.travis.yml +1 -1
- data/VERSION +1 -1
- data/app/controllers/cms_admin/pages_controller.rb +3 -0
- data/comfortable_mexican_sofa.gemspec +8 -8
- data/lib/comfortable_mexican_sofa/form_builder.rb +2 -2
- data/lib/comfortable_mexican_sofa/tags/collection.rb +29 -15
- data/test/functional/cms_admin/pages_controller_test.rb +16 -4
- data/test/unit/tag_test.rb +6 -6
- data/test/unit/tags/collection_test.rb +44 -13
- metadata +10 -12
data/.travis.yml
CHANGED
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.4.
|
|
1
|
+
1.4.21
|
|
@@ -101,6 +101,9 @@ protected
|
|
|
101
101
|
def preview_cms_page
|
|
102
102
|
if params[:preview]
|
|
103
103
|
layout = @page.layout.app_layout.blank?? false : @page.layout.app_layout
|
|
104
|
+
@cms_site = @page.site
|
|
105
|
+
@cms_layout = @page.layout
|
|
106
|
+
@cms_page = @page
|
|
104
107
|
render :inline => @page.content(true), :layout => layout
|
|
105
108
|
end
|
|
106
109
|
end
|
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
|
-
s.name =
|
|
8
|
-
s.version = "1.4.
|
|
7
|
+
s.name = "comfortable_mexican_sofa"
|
|
8
|
+
s.version = "1.4.21"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["Oleg Khabarov", "The Working Group Inc"]
|
|
12
|
-
s.date =
|
|
13
|
-
s.description =
|
|
14
|
-
s.email =
|
|
12
|
+
s.date = "2011-09-26"
|
|
13
|
+
s.description = ""
|
|
14
|
+
s.email = "oleg@theworkinggroup.ca"
|
|
15
15
|
s.extra_rdoc_files = [
|
|
16
16
|
"LICENSE",
|
|
17
17
|
"README.md"
|
|
@@ -300,10 +300,10 @@ Gem::Specification.new do |s|
|
|
|
300
300
|
"test/unit/tags/snippet_test.rb",
|
|
301
301
|
"test/unit/view_methods_test.rb"
|
|
302
302
|
]
|
|
303
|
-
s.homepage =
|
|
303
|
+
s.homepage = "http://github.com/twg/comfortable-mexican-sofa"
|
|
304
304
|
s.require_paths = ["lib"]
|
|
305
|
-
s.rubygems_version =
|
|
306
|
-
s.summary =
|
|
305
|
+
s.rubygems_version = "1.8.10"
|
|
306
|
+
s.summary = "ComfortableMexicanSofa is a powerful CMS Engine for Ruby on Rails 3 applications"
|
|
307
307
|
|
|
308
308
|
if s.respond_to? :specification_version then
|
|
309
309
|
s.specification_version = 3
|
|
@@ -120,7 +120,7 @@ class ComfortableMexicanSofa::FormBuilder < ActionView::Helpers::FormBuilder
|
|
|
120
120
|
|
|
121
121
|
def collection(tag)
|
|
122
122
|
options = [["---- Select #{tag.collection_class.titleize} ----", nil]] +
|
|
123
|
-
tag.
|
|
123
|
+
tag.collection_objects.collect do |m|
|
|
124
124
|
[m.send(tag.collection_title), m.send(tag.collection_identifier)]
|
|
125
125
|
end
|
|
126
126
|
|
|
@@ -130,7 +130,7 @@ class ComfortableMexicanSofa::FormBuilder < ActionView::Helpers::FormBuilder
|
|
|
130
130
|
:id => nil
|
|
131
131
|
)
|
|
132
132
|
content << @template.hidden_field_tag('page[blocks_attributes][][label]', tag.label, :id => nil)
|
|
133
|
-
simple_field(tag.
|
|
133
|
+
simple_field(tag.label, content, :class => tag.class.to_s.demodulize.underscore )
|
|
134
134
|
end
|
|
135
135
|
|
|
136
136
|
end
|
|
@@ -1,36 +1,50 @@
|
|
|
1
1
|
class ComfortableMexicanSofa::Tag::Collection
|
|
2
2
|
include ComfortableMexicanSofa::Tag
|
|
3
3
|
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
# {{ cms:collection:Album:albums/show:title:slug:param_a:param_b }}
|
|
4
|
+
# Here's a full tag signature:
|
|
5
|
+
# {{ cms:collection:label:collection_class:collection_partial:collection_title:collection_identifier:collection_params }}
|
|
6
|
+
# Most minimal tag can look like this:
|
|
7
|
+
# {{ cms:collection:album:foo/my_album }}
|
|
8
|
+
# A more complete example of the above:
|
|
9
|
+
# {{ cms:collection:album:foo/my_album:albums/show:title:slug:param_a:param_b }}
|
|
11
10
|
def self.regex_tag_signature(label = nil)
|
|
12
11
|
label ||= /[\w\/\-]+/
|
|
13
|
-
/\{\{\s*cms:collection:(#{label}):(
|
|
12
|
+
/\{\{\s*cms:collection:(#{label}):(.*?)\s*\}\}/
|
|
14
13
|
end
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
# Class definitition. It's basically `Herp::DerpityDerp.undescore` so an example
|
|
16
|
+
# of valid definition is: `herp/derpity_derp`
|
|
17
|
+
def collection_class
|
|
18
|
+
self.params[0].classify
|
|
18
19
|
end
|
|
19
20
|
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
# Path to the partial. Example: `path/to/partial`
|
|
22
|
+
def collection_partial
|
|
23
|
+
self.params[1] || self.collection_class.underscore.pluralize
|
|
22
24
|
end
|
|
23
25
|
|
|
26
|
+
# Title method for the Collection objects. Default is `label`
|
|
24
27
|
def collection_title
|
|
25
|
-
self.params[
|
|
28
|
+
self.params[2] || 'label'
|
|
26
29
|
end
|
|
27
30
|
|
|
31
|
+
# Identifier that will be used to find selected collection object. Defaults to `id`
|
|
28
32
|
def collection_identifier
|
|
29
|
-
self.params[
|
|
33
|
+
self.params[3] || 'id'
|
|
30
34
|
end
|
|
31
35
|
|
|
36
|
+
# Extra params that will be passed to the partial AND ALSO will be passed as parameters
|
|
37
|
+
# for the `cms_collection` scope you can define for your Collection object
|
|
32
38
|
def collection_params
|
|
33
|
-
self.params[
|
|
39
|
+
self.params[4..-1] || []
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Array of objects used in the collection
|
|
43
|
+
# You may set up a scope on the model `scope :cms_collection, lambda|*args| do ... end `
|
|
44
|
+
# `args` will be the set of `collection_params`
|
|
45
|
+
def collection_objects
|
|
46
|
+
klass = self.collection_class.constantize
|
|
47
|
+
klass.respond_to?(:cms_collection) ? klass.cms_collection(*collection_params).all : klass.all
|
|
34
48
|
end
|
|
35
49
|
|
|
36
50
|
def content=(value)
|
|
@@ -104,13 +104,13 @@ class CmsAdmin::PagesControllerTest < ActionController::TestCase
|
|
|
104
104
|
|
|
105
105
|
def test_get_new_with_collection
|
|
106
106
|
snippet = cms_snippets(:default)
|
|
107
|
-
cms_layouts(:default).update_attribute(:content, '{{cms:collection:cms/snippet
|
|
107
|
+
cms_layouts(:default).update_attribute(:content, '{{cms:collection:snippet:cms/snippet}}')
|
|
108
108
|
get :new, :site_id => cms_sites(:default)
|
|
109
109
|
assert_select "select[name='page[blocks_attributes][][content]']" do
|
|
110
110
|
assert_select "option[value='']", :html => '---- Select Cms/Snippet ----'
|
|
111
111
|
assert_select "option[value='#{snippet.id}']", :html => snippet.label
|
|
112
112
|
end
|
|
113
|
-
assert_select "input[type='hidden'][name='page[blocks_attributes][][label]'][value='
|
|
113
|
+
assert_select "input[type='hidden'][name='page[blocks_attributes][][label]'][value='snippet']"
|
|
114
114
|
end
|
|
115
115
|
|
|
116
116
|
def test_get_new_with_rich_page_text
|
|
@@ -280,12 +280,15 @@ class CmsAdmin::PagesControllerTest < ActionController::TestCase
|
|
|
280
280
|
end
|
|
281
281
|
|
|
282
282
|
def test_creation_preview
|
|
283
|
+
site = cms_sites(:default)
|
|
284
|
+
layout = cms_layouts(:default)
|
|
285
|
+
|
|
283
286
|
assert_no_difference 'Cms::Page.count' do
|
|
284
|
-
post :create, :site_id =>
|
|
287
|
+
post :create, :site_id => site, :preview => 'Preview', :page => {
|
|
285
288
|
:label => 'Test Page',
|
|
286
289
|
:slug => 'test-page',
|
|
287
290
|
:parent_id => cms_pages(:default).id,
|
|
288
|
-
:layout_id =>
|
|
291
|
+
:layout_id => layout.id,
|
|
289
292
|
:blocks_attributes => [
|
|
290
293
|
{ :label => 'default_page_text',
|
|
291
294
|
:content => 'preview content' }
|
|
@@ -293,6 +296,11 @@ class CmsAdmin::PagesControllerTest < ActionController::TestCase
|
|
|
293
296
|
}
|
|
294
297
|
assert_response :success
|
|
295
298
|
assert_match /preview content/, response.body
|
|
299
|
+
|
|
300
|
+
assert_equal site, assigns(:cms_site)
|
|
301
|
+
assert_equal layout, assigns(:cms_layout)
|
|
302
|
+
assert assigns(:cms_page)
|
|
303
|
+
assert assigns(:cms_page).new_record?
|
|
296
304
|
end
|
|
297
305
|
end
|
|
298
306
|
|
|
@@ -311,6 +319,10 @@ class CmsAdmin::PagesControllerTest < ActionController::TestCase
|
|
|
311
319
|
assert_match /preview content/, response.body
|
|
312
320
|
page.reload
|
|
313
321
|
assert_not_equal 'Updated Label', page.label
|
|
322
|
+
|
|
323
|
+
assert_equal page.site, assigns(:cms_site)
|
|
324
|
+
assert_equal page.layout, assigns(:cms_layout)
|
|
325
|
+
assert_equal page, assigns(:cms_page)
|
|
314
326
|
end
|
|
315
327
|
end
|
|
316
328
|
|
data/test/unit/tag_test.rb
CHANGED
|
@@ -226,7 +226,7 @@ class TagTest < ActiveSupport::TestCase
|
|
|
226
226
|
site = cms_sites(:default)
|
|
227
227
|
layout = site.layouts.create!(
|
|
228
228
|
:slug => 'no-irb-layout',
|
|
229
|
-
:content => '<% 1 + 1 %> {{cms:page:content}} {{cms:collection:cms/snippet
|
|
229
|
+
:content => '<% 1 + 1 %> {{cms:page:content}} {{cms:collection:snippet:cms/snippet}} <%= 1 + 1 %>'
|
|
230
230
|
)
|
|
231
231
|
snippet = site.snippets.create!(
|
|
232
232
|
:slug => 'no-irb-snippet',
|
|
@@ -239,11 +239,11 @@ class TagTest < ActiveSupport::TestCase
|
|
|
239
239
|
:blocks_attributes => [
|
|
240
240
|
{ :label => 'content',
|
|
241
241
|
:content => 'text {{ cms:snippet:no-irb-snippet }} {{ cms:partial:path/to }} {{ cms:helper:method }} text' },
|
|
242
|
-
{ :label => '
|
|
242
|
+
{ :label => 'snippet',
|
|
243
243
|
:content => snippet.id }
|
|
244
244
|
]
|
|
245
245
|
)
|
|
246
|
-
assert_equal "<% 1 + 1 %> text <% 2 + 2 %> snippet <%= 2 + 2 %> <%= render :partial => 'path/to' %> <%= method() %> text <%= render :partial => 'snippets
|
|
246
|
+
assert_equal "<% 1 + 1 %> text <% 2 + 2 %> snippet <%= 2 + 2 %> <%= render :partial => 'path/to' %> <%= method() %> text <%= render :partial => 'cms/snippets', :locals => {:model => 'Cms::Snippet', :identifier => '#{snippet.id}'} %> <%= 1 + 1 %>", page.content
|
|
247
247
|
end
|
|
248
248
|
|
|
249
249
|
def test_content_with_irb_enabled
|
|
@@ -252,7 +252,7 @@ class TagTest < ActiveSupport::TestCase
|
|
|
252
252
|
site = cms_sites(:default)
|
|
253
253
|
layout = site.layouts.create!(
|
|
254
254
|
:slug => 'irb-layout',
|
|
255
|
-
:content => '<% 1 + 1 %> {{cms:page:content}} {{cms:collection:cms/snippet
|
|
255
|
+
:content => '<% 1 + 1 %> {{cms:page:content}} {{cms:collection:snippet:cms/snippet}} <%= 1 + 1 %>'
|
|
256
256
|
)
|
|
257
257
|
snippet = site.snippets.create!(
|
|
258
258
|
:slug => 'irb-snippet',
|
|
@@ -265,11 +265,11 @@ class TagTest < ActiveSupport::TestCase
|
|
|
265
265
|
:blocks_attributes => [
|
|
266
266
|
{ :label => 'content',
|
|
267
267
|
:content => 'text {{ cms:snippet:irb-snippet }} {{ cms:partial:path/to }} {{ cms:helper:method }} text' },
|
|
268
|
-
{ :label => '
|
|
268
|
+
{ :label => 'snippet',
|
|
269
269
|
:content => snippet.id }
|
|
270
270
|
]
|
|
271
271
|
)
|
|
272
|
-
assert_equal "<% 1 + 1 %> text <% 2 + 2 %> snippet <%= 2 + 2 %> <%= render :partial => 'path/to' %> <%= method() %> text <%= render :partial => 'snippets
|
|
272
|
+
assert_equal "<% 1 + 1 %> text <% 2 + 2 %> snippet <%= 2 + 2 %> <%= render :partial => 'path/to' %> <%= method() %> text <%= render :partial => 'cms/snippets', :locals => {:model => 'Cms::Snippet', :identifier => '#{snippet.id}'} %> <%= 1 + 1 %>", page.content
|
|
273
273
|
end
|
|
274
274
|
|
|
275
275
|
end
|
|
@@ -2,13 +2,20 @@ require File.expand_path('../../test_helper', File.dirname(__FILE__))
|
|
|
2
2
|
|
|
3
3
|
class CollectionTagTest < ActiveSupport::TestCase
|
|
4
4
|
|
|
5
|
+
module TestCollectionScope
|
|
6
|
+
def self.included(base)
|
|
7
|
+
base.scope :cms_collection, lambda{|*args| base.where(:slug => args.first) if args.first }
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
Cms::Snippet.send(:include, TestCollectionScope)
|
|
11
|
+
|
|
5
12
|
def test_initialize_tag
|
|
6
13
|
assert tag = ComfortableMexicanSofa::Tag::Collection.initialize_tag(
|
|
7
|
-
cms_pages(:default), '{{ cms:collection:cms/snippet
|
|
14
|
+
cms_pages(:default), '{{ cms:collection:snippet:cms/snippet }}'
|
|
8
15
|
)
|
|
9
|
-
assert_equal '
|
|
16
|
+
assert_equal 'snippet', tag.label
|
|
10
17
|
assert_equal 'Cms::Snippet', tag.collection_class
|
|
11
|
-
assert_equal '
|
|
18
|
+
assert_equal 'cms/snippets', tag.collection_partial
|
|
12
19
|
assert_equal 'label', tag.collection_title
|
|
13
20
|
assert_equal 'id', tag.collection_identifier
|
|
14
21
|
assert_equal [], tag.collection_params
|
|
@@ -16,9 +23,9 @@ class CollectionTagTest < ActiveSupport::TestCase
|
|
|
16
23
|
|
|
17
24
|
def test_initialize_tag_detailed
|
|
18
25
|
assert tag = ComfortableMexicanSofa::Tag::Collection.initialize_tag(
|
|
19
|
-
cms_pages(:default), '{{ cms:collection:cms/snippet:path/to/partial:title:slug:param_a:param_b }}'
|
|
26
|
+
cms_pages(:default), '{{ cms:collection:snippet:cms/snippet:path/to/partial:title:slug:param_a:param_b }}'
|
|
20
27
|
)
|
|
21
|
-
assert_equal '
|
|
28
|
+
assert_equal 'snippet', tag.label
|
|
22
29
|
assert_equal 'Cms::Snippet', tag.collection_class
|
|
23
30
|
assert_equal 'path/to/partial', tag.collection_partial
|
|
24
31
|
assert_equal 'title', tag.collection_title
|
|
@@ -30,7 +37,7 @@ class CollectionTagTest < ActiveSupport::TestCase
|
|
|
30
37
|
[
|
|
31
38
|
'{{cms:collection}}',
|
|
32
39
|
'{{cms:collection:label}}',
|
|
33
|
-
'{{cms:not_collection:label:partial}}',
|
|
40
|
+
'{{cms:not_collection:label:class:partial}}',
|
|
34
41
|
'{not_a_tag}'
|
|
35
42
|
].each do |tag_signature|
|
|
36
43
|
assert_nil ComfortableMexicanSofa::Tag::Collection.initialize_tag(
|
|
@@ -39,9 +46,33 @@ class CollectionTagTest < ActiveSupport::TestCase
|
|
|
39
46
|
end
|
|
40
47
|
end
|
|
41
48
|
|
|
49
|
+
def test_collection_objects
|
|
50
|
+
assert tag = ComfortableMexicanSofa::Tag::Collection.initialize_tag(
|
|
51
|
+
cms_pages(:default), '{{ cms:collection:snippet:cms/snippet }}'
|
|
52
|
+
)
|
|
53
|
+
assert snippets = tag.collection_objects
|
|
54
|
+
assert_equal 1, snippets.count
|
|
55
|
+
assert snippets.first.is_a?(Cms::Snippet)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def test_collection_objects_with_scope
|
|
59
|
+
assert tag = ComfortableMexicanSofa::Tag::Collection.initialize_tag(
|
|
60
|
+
cms_pages(:default), "{{ cms:collection:snippet:cms/snippet:path/to/partial:label:slug:#{cms_snippets(:default).slug} }}"
|
|
61
|
+
)
|
|
62
|
+
assert snippets = tag.collection_objects
|
|
63
|
+
assert_equal 1, snippets.count
|
|
64
|
+
assert snippets.first.is_a?(Cms::Snippet)
|
|
65
|
+
|
|
66
|
+
assert tag = ComfortableMexicanSofa::Tag::Collection.initialize_tag(
|
|
67
|
+
cms_pages(:default), "{{ cms:collection:snippet:cms/snippet:path/to/partial:label:slug:invalid }}"
|
|
68
|
+
)
|
|
69
|
+
assert snippets = tag.collection_objects
|
|
70
|
+
assert_equal 0, snippets.count
|
|
71
|
+
end
|
|
72
|
+
|
|
42
73
|
def test_content_and_render
|
|
43
|
-
tag = ComfortableMexicanSofa::Tag::Collection.initialize_tag(
|
|
44
|
-
cms_pages(:default), '{{ cms:collection:cms/snippet
|
|
74
|
+
assert tag = ComfortableMexicanSofa::Tag::Collection.initialize_tag(
|
|
75
|
+
cms_pages(:default), '{{ cms:collection:snippet:cms/snippet }}'
|
|
45
76
|
)
|
|
46
77
|
assert tag.content.blank?
|
|
47
78
|
|
|
@@ -49,12 +80,12 @@ class CollectionTagTest < ActiveSupport::TestCase
|
|
|
49
80
|
tag.content = snippet.id
|
|
50
81
|
assert_equal snippet.id, tag.block.content
|
|
51
82
|
assert_equal snippet.id, tag.content
|
|
52
|
-
assert_equal "<%= render :partial => '
|
|
83
|
+
assert_equal "<%= render :partial => 'cms/snippets', :locals => {:model => 'Cms::Snippet', :identifier => '#{snippet.id}'} %>", tag.render
|
|
53
84
|
end
|
|
54
85
|
|
|
55
86
|
def test_content_and_render_detailed
|
|
56
|
-
tag = ComfortableMexicanSofa::Tag::Collection.initialize_tag(
|
|
57
|
-
cms_pages(:default), '{{ cms:collection:cms/snippet:path/to/partial:label:slug:param_a:param_b }}'
|
|
87
|
+
assert tag = ComfortableMexicanSofa::Tag::Collection.initialize_tag(
|
|
88
|
+
cms_pages(:default), '{{ cms:collection:snippet:cms/snippet:path/to/partial:label:slug:param_a:param_b }}'
|
|
58
89
|
)
|
|
59
90
|
assert tag.content.blank?
|
|
60
91
|
|
|
@@ -66,8 +97,8 @@ class CollectionTagTest < ActiveSupport::TestCase
|
|
|
66
97
|
end
|
|
67
98
|
|
|
68
99
|
def test_content_and_render_with_no_content
|
|
69
|
-
tag = ComfortableMexicanSofa::Tag::Collection.initialize_tag(
|
|
70
|
-
cms_pages(:default), '{{ cms:collection:cms/snippet:path/to/partial }}'
|
|
100
|
+
assert tag = ComfortableMexicanSofa::Tag::Collection.initialize_tag(
|
|
101
|
+
cms_pages(:default), '{{ cms:collection:snippet:cms/snippet:path/to/partial }}'
|
|
71
102
|
)
|
|
72
103
|
assert tag.content.blank?
|
|
73
104
|
assert_equal '', tag.render
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: comfortable_mexican_sofa
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.4.
|
|
4
|
+
version: 1.4.21
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -10,12 +10,11 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2011-09-
|
|
14
|
-
default_executable:
|
|
13
|
+
date: 2011-09-26 00:00:00.000000000Z
|
|
15
14
|
dependencies:
|
|
16
15
|
- !ruby/object:Gem::Dependency
|
|
17
16
|
name: rails
|
|
18
|
-
requirement: &
|
|
17
|
+
requirement: &70347786828380 !ruby/object:Gem::Requirement
|
|
19
18
|
none: false
|
|
20
19
|
requirements:
|
|
21
20
|
- - ! '>='
|
|
@@ -23,10 +22,10 @@ dependencies:
|
|
|
23
22
|
version: 3.0.0
|
|
24
23
|
type: :runtime
|
|
25
24
|
prerelease: false
|
|
26
|
-
version_requirements: *
|
|
25
|
+
version_requirements: *70347786828380
|
|
27
26
|
- !ruby/object:Gem::Dependency
|
|
28
27
|
name: active_link_to
|
|
29
|
-
requirement: &
|
|
28
|
+
requirement: &70347786827600 !ruby/object:Gem::Requirement
|
|
30
29
|
none: false
|
|
31
30
|
requirements:
|
|
32
31
|
- - ! '>='
|
|
@@ -34,10 +33,10 @@ dependencies:
|
|
|
34
33
|
version: 1.0.0
|
|
35
34
|
type: :runtime
|
|
36
35
|
prerelease: false
|
|
37
|
-
version_requirements: *
|
|
36
|
+
version_requirements: *70347786827600
|
|
38
37
|
- !ruby/object:Gem::Dependency
|
|
39
38
|
name: paperclip
|
|
40
|
-
requirement: &
|
|
39
|
+
requirement: &70347786826860 !ruby/object:Gem::Requirement
|
|
41
40
|
none: false
|
|
42
41
|
requirements:
|
|
43
42
|
- - ! '>='
|
|
@@ -45,7 +44,7 @@ dependencies:
|
|
|
45
44
|
version: 2.3.14
|
|
46
45
|
type: :runtime
|
|
47
46
|
prerelease: false
|
|
48
|
-
version_requirements: *
|
|
47
|
+
version_requirements: *70347786826860
|
|
49
48
|
description: ''
|
|
50
49
|
email: oleg@theworkinggroup.ca
|
|
51
50
|
executables: []
|
|
@@ -336,7 +335,6 @@ files:
|
|
|
336
335
|
- test/unit/tags/partial_test.rb
|
|
337
336
|
- test/unit/tags/snippet_test.rb
|
|
338
337
|
- test/unit/view_methods_test.rb
|
|
339
|
-
has_rdoc: true
|
|
340
338
|
homepage: http://github.com/twg/comfortable-mexican-sofa
|
|
341
339
|
licenses: []
|
|
342
340
|
post_install_message:
|
|
@@ -351,7 +349,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
351
349
|
version: '0'
|
|
352
350
|
segments:
|
|
353
351
|
- 0
|
|
354
|
-
hash: -
|
|
352
|
+
hash: -4146543032644537540
|
|
355
353
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
356
354
|
none: false
|
|
357
355
|
requirements:
|
|
@@ -360,7 +358,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
360
358
|
version: '0'
|
|
361
359
|
requirements: []
|
|
362
360
|
rubyforge_project:
|
|
363
|
-
rubygems_version: 1.
|
|
361
|
+
rubygems_version: 1.8.10
|
|
364
362
|
signing_key:
|
|
365
363
|
specification_version: 3
|
|
366
364
|
summary: ComfortableMexicanSofa is a powerful CMS Engine for Ruby on Rails 3 applications
|