alchemy_cms 2.0.6.1 → 2.0.7
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/alchemy_cms.gemspec +1 -1
- data/lib/alchemy/version.rb +3 -3
- data/spec/controllers/admin/clipboard_controller_spec.rb +12 -12
- data/spec/controllers/admin/contents_controller_spec.rb +2 -2
- data/spec/controllers/admin/trash_controller_spec.rb +3 -3
- data/spec/controllers/pages_controller_spec.rb +7 -7
- data/spec/factories.rb +8 -8
- data/spec/helpers/admin/elements_helper_spec.rb +2 -2
- data/spec/helpers/contents_helper_spec.rb +1 -1
- data/spec/helpers/elements_helper_spec.rb +6 -6
- data/spec/helpers/essences_helper_spec.rb +1 -1
- data/spec/helpers/pages_helper_spec.rb +37 -37
- data/spec/integration/pages_controller_spec.rb +26 -26
- data/spec/models/content_spec.rb +1 -1
- data/spec/models/element_spec.rb +11 -11
- data/spec/models/language_spec.rb +5 -5
- data/spec/models/page_spec.rb +54 -54
- metadata +129 -38
data/alchemy_cms.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
20
|
s.require_paths = ["lib"]
|
21
21
|
|
22
|
-
s.add_runtime_dependency(%q<rails>, ["~> 3.0"])
|
22
|
+
s.add_runtime_dependency(%q<rails>, ["~> 3.0.15"])
|
23
23
|
s.add_runtime_dependency(%q<authlogic>, ["~> 3.0"])
|
24
24
|
s.add_runtime_dependency(%q<awesome_nested_set>, ["~> 2.0"])
|
25
25
|
s.add_runtime_dependency(%q<declarative_authorization>, ["~> 0.5"])
|
data/lib/alchemy/version.rb
CHANGED
@@ -4,41 +4,41 @@ describe Admin::ClipboardController do
|
|
4
4
|
|
5
5
|
before(:each) do
|
6
6
|
activate_authlogic
|
7
|
-
UserSession.create
|
7
|
+
UserSession.create FactoryGirl.create(:admin_user)
|
8
8
|
end
|
9
9
|
|
10
10
|
context "clipboard" do
|
11
11
|
|
12
12
|
it "should hold element ids" do
|
13
|
-
@page =
|
14
|
-
@element =
|
15
|
-
@another_element =
|
13
|
+
@page = FactoryGirl.create(:page, :parent_id => Page.rootpage.id)
|
14
|
+
@element = FactoryGirl.create(:element, :page => @page)
|
15
|
+
@another_element = FactoryGirl.create(:element, :page => @page)
|
16
16
|
session[:clipboard] = { :elements => [{:id => @element.id, :action => 'copy'}] }
|
17
17
|
post(:insert, {:remarkable_type => 'element', :remarkable_id => @another_element.id, :format => :js})
|
18
18
|
session[:clipboard][:elements].should == [{:id => @element.id, :action => 'copy'}, {:id => @another_element.id, :action => 'copy'}]
|
19
19
|
end
|
20
20
|
|
21
21
|
it "should not have the same element twice" do
|
22
|
-
@page =
|
23
|
-
@element =
|
22
|
+
@page = FactoryGirl.create(:page, :parent_id => Page.rootpage.id)
|
23
|
+
@element = FactoryGirl.create(:element, :page => @page)
|
24
24
|
session[:clipboard] = { :elements => [{:id => @element.id, :action => 'copy'}] }
|
25
25
|
post(:insert, {:remarkable_type => 'element', :remarkable_id => @element.id, :format => :js})
|
26
26
|
session[:clipboard][:elements].should == [{:id => @element.id, :action => 'copy'}]
|
27
27
|
end
|
28
28
|
|
29
29
|
it "should remove element ids" do
|
30
|
-
@page =
|
31
|
-
@element =
|
32
|
-
@another_element =
|
30
|
+
@page = FactoryGirl.create(:page, :parent_id => Page.rootpage.id)
|
31
|
+
@element = FactoryGirl.create(:element, :page => @page)
|
32
|
+
@another_element = FactoryGirl.create(:element, :page => @page)
|
33
33
|
session[:clipboard] = { :elements => [{:id => @element.id, :action => 'copy'}, {:id => @another_element.id, :action => 'copy'}] }
|
34
34
|
delete(:remove, {:remarkable_type => 'element', :remarkable_id => @another_element.id, :format => :js})
|
35
35
|
session[:clipboard][:elements].should == [{:id => @element.id, :action => 'copy'}]
|
36
36
|
end
|
37
37
|
|
38
38
|
it "should be clearable" do
|
39
|
-
@page =
|
40
|
-
@element =
|
41
|
-
@another_element =
|
39
|
+
@page = FactoryGirl.create(:page, :parent_id => Page.rootpage.id)
|
40
|
+
@element = FactoryGirl.create(:element, :page => @page)
|
41
|
+
@another_element = FactoryGirl.create(:element, :page => @page)
|
42
42
|
session[:clipboard] = { :elements => [@element.id, @another_element.id] }
|
43
43
|
delete(:clear, :format => :js)
|
44
44
|
session[:clipboard].should == {}
|
@@ -4,11 +4,11 @@ describe Admin::ContentsController do
|
|
4
4
|
|
5
5
|
before(:each) do
|
6
6
|
activate_authlogic
|
7
|
-
UserSession.create
|
7
|
+
UserSession.create FactoryGirl.create(:admin_user)
|
8
8
|
end
|
9
9
|
|
10
10
|
it "should update a content" do
|
11
|
-
|
11
|
+
FactoryGirl.create(:element)
|
12
12
|
post :update, {:id => 1, :content => {:body => 'Peters Petshop'}}
|
13
13
|
Element.first.ingredient('intro').should == "Peters Petshop"
|
14
14
|
end
|
@@ -4,13 +4,13 @@ describe Admin::TrashController do
|
|
4
4
|
|
5
5
|
before(:each) do
|
6
6
|
activate_authlogic
|
7
|
-
UserSession.create
|
7
|
+
UserSession.create FactoryGirl.create(:admin_user)
|
8
8
|
end
|
9
9
|
|
10
10
|
it "should hold trashed elements" do
|
11
11
|
pending "The controller behaves correct, the test not."
|
12
|
-
@page =
|
13
|
-
@element =
|
12
|
+
@page = FactoryGirl.create(:page, :parent_id => Page.rootpage.id)
|
13
|
+
@element = FactoryGirl.create(:element, :page => @page)
|
14
14
|
# Rails, RSpec and co. are sucking
|
15
15
|
@element.reload
|
16
16
|
@element.trash
|
@@ -4,36 +4,36 @@ describe PagesController do
|
|
4
4
|
|
5
5
|
before(:each) do
|
6
6
|
@default_language = Language.get_default
|
7
|
-
@default_language_root =
|
7
|
+
@default_language_root = FactoryGirl.create(:language_root_page, :language => @default_language, :name => 'Home', :public => true)
|
8
8
|
end
|
9
9
|
|
10
10
|
context "requested for a page containing a feed" do
|
11
11
|
|
12
12
|
before(:each) do
|
13
|
-
@page =
|
13
|
+
@page = FactoryGirl.create(:public_page, :parent_id => @default_language_root.id, :page_layout => 'news', :name => 'News', :language => @default_language)
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
it "should render a rss feed" do
|
17
17
|
get :show, :urlname => 'news', :format => :rss
|
18
18
|
response.content_type.should == 'application/rss+xml'
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
it "should include content" do
|
22
22
|
pending "I didn't figured out how to test XML response bodies"
|
23
23
|
@page.elements.first.content_by_name('news_headline').essence.update_attributes({:body => 'Peters Petshop'})
|
24
24
|
get :show, :urlname => 'news', :format => :rss
|
25
25
|
response.body.should match /Peters Petshop/
|
26
26
|
end
|
27
|
-
|
27
|
+
|
28
28
|
end
|
29
29
|
|
30
30
|
context "requested for a page that does not contain a feed" do
|
31
|
-
|
31
|
+
|
32
32
|
it "should render xml 404 error" do
|
33
33
|
get :show, :urlname => 'home', :format => :rss
|
34
34
|
response.status.should == 404
|
35
35
|
end
|
36
|
-
|
36
|
+
|
37
37
|
end
|
38
38
|
|
39
39
|
end
|
data/spec/factories.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
FactoryGirl.define do
|
2
|
-
|
2
|
+
|
3
3
|
factory :user do
|
4
4
|
email 'john@doe.com'
|
5
5
|
login "jdoe"
|
@@ -23,7 +23,7 @@ FactoryGirl.define do
|
|
23
23
|
end
|
24
24
|
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
factory :language do
|
28
28
|
code "kl"
|
29
29
|
name 'Klingonian'
|
@@ -34,9 +34,9 @@ FactoryGirl.define do
|
|
34
34
|
end
|
35
35
|
|
36
36
|
factory :page do
|
37
|
-
language { Language.find_by_code('kl') ||
|
37
|
+
language { Language.find_by_code('kl') || FactoryGirl.create(:language) }
|
38
38
|
name "A Page"
|
39
|
-
parent_id {
|
39
|
+
parent_id { FactoryGirl.create(:language_root_page).id }
|
40
40
|
page_layout "standard"
|
41
41
|
|
42
42
|
factory :language_root_page do
|
@@ -53,14 +53,14 @@ FactoryGirl.define do
|
|
53
53
|
end
|
54
54
|
|
55
55
|
end
|
56
|
-
|
56
|
+
|
57
57
|
factory :cell do
|
58
|
-
page { Page.find_by_language_root(true) ||
|
58
|
+
page { Page.find_by_language_root(true) || FactoryGirl.create(:language_root_page) }
|
59
59
|
name "A Cell"
|
60
60
|
end
|
61
|
-
|
61
|
+
|
62
62
|
factory :element do
|
63
63
|
name 'article'
|
64
64
|
end
|
65
|
-
|
65
|
+
|
66
66
|
end
|
@@ -5,8 +5,8 @@ include AlchemyHelper
|
|
5
5
|
describe Admin::ElementsHelper do
|
6
6
|
|
7
7
|
before(:each) do
|
8
|
-
@page =
|
9
|
-
@element =
|
8
|
+
@page = FactoryGirl.create(:public_page)
|
9
|
+
@element = FactoryGirl.create(:element, :page => @page)
|
10
10
|
end
|
11
11
|
|
12
12
|
it "should render an element editor partial" do
|
@@ -5,8 +5,8 @@ include AlchemyHelper
|
|
5
5
|
describe ElementsHelper do
|
6
6
|
|
7
7
|
before(:each) do
|
8
|
-
@page =
|
9
|
-
@element =
|
8
|
+
@page = FactoryGirl.create(:public_page)
|
9
|
+
@element = FactoryGirl.create(:element, :page => @page)
|
10
10
|
end
|
11
11
|
|
12
12
|
it "should render an element view partial" do
|
@@ -14,18 +14,18 @@ describe ElementsHelper do
|
|
14
14
|
end
|
15
15
|
|
16
16
|
it "should render all elements" do
|
17
|
-
@another_element =
|
17
|
+
@another_element = FactoryGirl.create(:element)
|
18
18
|
helper.stub!(:configuration).and_return(true)
|
19
19
|
helper.render_elements.should match(/id="header_3.+id="article_5"/)
|
20
|
-
end
|
20
|
+
end
|
21
21
|
|
22
22
|
it "should render a unique dom id for element" do
|
23
23
|
helper.element_dom_id(@element).should == "#{@element.name}_#{@element.id}"
|
24
24
|
end
|
25
25
|
|
26
26
|
it "should render elements for a cell" do
|
27
|
-
cell =
|
28
|
-
|
27
|
+
cell = FactoryGirl.create(:cell)
|
28
|
+
FactoryGirl.create(:element, :cell_id => cell.id)
|
29
29
|
helper.stub(:configuration).and_return(true)
|
30
30
|
helper.render_cell_elements(cell).should match(/id="article_7"/)
|
31
31
|
end
|
@@ -3,17 +3,17 @@ require 'spec_helper'
|
|
3
3
|
describe PagesHelper do
|
4
4
|
|
5
5
|
it "should render the current page layout" do
|
6
|
-
@page =
|
6
|
+
@page = FactoryGirl.create(:public_page)
|
7
7
|
helper.stub(:configuration).and_return(true)
|
8
8
|
render_page_layout.should have_selector('div#content')
|
9
9
|
end
|
10
10
|
|
11
11
|
context "navigation and meta data" do
|
12
|
-
|
12
|
+
|
13
13
|
before(:each) do
|
14
14
|
@language = Language.get_default
|
15
|
-
@root_page =
|
16
|
-
@page =
|
15
|
+
@root_page = FactoryGirl.create(:language_root_page, :language => @language, :name => 'Home')
|
16
|
+
@page = FactoryGirl.create(:public_page, :language => @language, :parent_id => @root_page.id, :visible => true)
|
17
17
|
helper.stub(:multi_language?).and_return(false)
|
18
18
|
end
|
19
19
|
|
@@ -24,7 +24,7 @@ describe PagesHelper do
|
|
24
24
|
it "should render a breadcrumb to current page" do
|
25
25
|
helper.render_breadcrumb.should have_selector('a.active.last[href="/a-public-page"]')
|
26
26
|
end
|
27
|
-
|
27
|
+
|
28
28
|
it "should render meta tags for current page" do
|
29
29
|
helper.render_meta_data(:title_prefix => 'Peters Petshop').should have_selector('title[contains("Peters Petshop | A Public Page")]')
|
30
30
|
end
|
@@ -39,7 +39,7 @@ describe PagesHelper do
|
|
39
39
|
|
40
40
|
before :each do
|
41
41
|
@default_language = Language.get_default
|
42
|
-
@klingonian =
|
42
|
+
@klingonian = FactoryGirl.create(:language)
|
43
43
|
# simulates link_to_public_child = true
|
44
44
|
helper.stub(:configuration).and_return(true)
|
45
45
|
helper.stub(:multi_language?).and_return(true)
|
@@ -53,88 +53,88 @@ describe PagesHelper do
|
|
53
53
|
context "with two public languages and two language_roots" do
|
54
54
|
|
55
55
|
before :each do
|
56
|
-
@default_language_root =
|
57
|
-
@klingonian_language_root =
|
56
|
+
@default_language_root = FactoryGirl.create(:language_root_page, :language => @default_language, :name => 'Default Language Root')
|
57
|
+
@klingonian_language_root = FactoryGirl.create(:language_root_page)
|
58
58
|
end
|
59
|
-
|
59
|
+
|
60
60
|
context "and config redirect_to_public_child is set to TRUE" do
|
61
|
-
|
61
|
+
|
62
62
|
before :each do
|
63
63
|
# simulates link_to_public_child = true
|
64
64
|
helper.stub(:configuration).and_return(true)
|
65
65
|
end
|
66
|
-
|
66
|
+
|
67
67
|
it "should return nil if only one language_root is public and both do not have children" do
|
68
68
|
@klingonian_language_root.update_attributes(:public => false)
|
69
69
|
helper.language_switches.should == nil
|
70
70
|
end
|
71
|
-
|
71
|
+
|
72
72
|
it "should return nil if only one language_root is public and both have none public children" do
|
73
73
|
@klingonian_language_root.update_attributes(:public => false)
|
74
|
-
@default_first_public_child =
|
75
|
-
@klingonian_first_public_child =
|
74
|
+
@default_first_public_child = FactoryGirl.create(:page, :language => @default_language, :parent_id => @default_language_root.id, :public => false, :name => "child1")
|
75
|
+
@klingonian_first_public_child = FactoryGirl.create(:page, :language => @klingonian, :parent_id => @klingonian_language_root.id, :public => false, :name => "child1")
|
76
76
|
helper.language_switches.should == nil
|
77
77
|
end
|
78
|
-
|
78
|
+
|
79
79
|
it "should render two links when having two public language_root pages" do
|
80
80
|
helper.language_switches.should have_selector('a', :count => 2)
|
81
81
|
end
|
82
|
-
|
82
|
+
|
83
83
|
it "should render two links when having just one public language_root but a public children in both language_roots" do
|
84
84
|
@klingonian_language_root.update_attributes(:public => false)
|
85
|
-
@default_first_public_child =
|
86
|
-
@klingonian_first_public_child =
|
85
|
+
@default_first_public_child = FactoryGirl.create(:page, :language => @default_language, :parent_id => @default_language_root.id, :public => true, :name => "child1")
|
86
|
+
@klingonian_first_public_child = FactoryGirl.create(:page, :language => @klingonian, :parent_id => @klingonian_language_root.id, :public => true, :name => "child1")
|
87
87
|
helper.language_switches.should have_selector('a', :count => 2)
|
88
88
|
end
|
89
|
-
|
89
|
+
|
90
90
|
it "should render two links when having two not public language_roots but a public children in both" do
|
91
91
|
@default_language_root.update_attributes(:public => false)
|
92
92
|
@klingonian_language_root.update_attributes(:public => false)
|
93
|
-
@default_first_public_child =
|
94
|
-
@klingonian_first_public_child =
|
93
|
+
@default_first_public_child = FactoryGirl.create(:page, :language => @default_language, :parent_id => @default_language_root.id, :public => true, :name => "child1")
|
94
|
+
@klingonian_first_public_child = FactoryGirl.create(:page, :language => @klingonian, :parent_id => @klingonian_language_root.id, :public => true, :name => "child1")
|
95
95
|
helper.language_switches.should have_selector('a', :count => 2)
|
96
96
|
end
|
97
|
-
|
97
|
+
|
98
98
|
it "should return nil when having two not public language_roots and a public children in only one of them" do
|
99
99
|
@default_language_root.update_attributes(:public => false)
|
100
100
|
@klingonian_language_root.update_attributes(:public => false)
|
101
|
-
@default_first_public_child =
|
102
|
-
@klingonian_first_public_child =
|
101
|
+
@default_first_public_child = FactoryGirl.create(:page, :language => @default_language, :parent_id => @default_language_root.id, :public => false, :name => "child1")
|
102
|
+
@klingonian_first_public_child = FactoryGirl.create(:page, :language => @klingonian, :parent_id => @klingonian_language_root.id, :public => true, :name => "child1")
|
103
103
|
helper.language_switches.should == nil
|
104
104
|
end
|
105
|
-
|
105
|
+
|
106
106
|
end
|
107
|
-
|
107
|
+
|
108
108
|
context "and config redirect_to_public_child is set to FALSE" do
|
109
|
-
|
109
|
+
|
110
110
|
before :each do
|
111
111
|
# simulates link_to_public_child = false
|
112
112
|
helper.stub(:configuration).and_return(false)
|
113
113
|
end
|
114
|
-
|
114
|
+
|
115
115
|
it "should render two links when having two public language_root pages" do
|
116
116
|
helper.language_switches.should have_selector('a', :count => 2)
|
117
117
|
end
|
118
|
-
|
118
|
+
|
119
119
|
it "should render nil when having just one public language_root but a public children in both language_roots" do
|
120
120
|
@klingonian_language_root.update_attributes(:public => false)
|
121
|
-
@default_first_public_child =
|
122
|
-
@klingonian_first_public_child =
|
121
|
+
@default_first_public_child = FactoryGirl.create(:page, :language => @default_language, :parent_id => @default_language_root.id, :public => true, :name => "child1")
|
122
|
+
@klingonian_first_public_child = FactoryGirl.create(:page, :language => @klingonian, :parent_id => @klingonian_language_root.id, :public => true, :name => "child1")
|
123
123
|
helper.language_switches.should == nil
|
124
124
|
end
|
125
|
-
|
125
|
+
|
126
126
|
it "should render nil when having two not public language_roots but a public children in both" do
|
127
127
|
@default_language_root.update_attributes(:public => false)
|
128
128
|
@klingonian_language_root.update_attributes(:public => false)
|
129
|
-
@default_first_public_child =
|
130
|
-
@klingonian_first_public_child =
|
129
|
+
@default_first_public_child = FactoryGirl.create(:page, :language => @default_language, :parent_id => @default_language_root.id, :public => true, :name => "child1")
|
130
|
+
@klingonian_first_public_child = FactoryGirl.create(:page, :language => @klingonian, :parent_id => @klingonian_language_root.id, :public => true, :name => "child1")
|
131
131
|
helper.language_switches.should == nil
|
132
132
|
end
|
133
|
-
|
133
|
+
|
134
134
|
end
|
135
|
-
|
135
|
+
|
136
136
|
end
|
137
|
-
|
137
|
+
|
138
138
|
end
|
139
139
|
|
140
140
|
end
|
@@ -4,15 +4,15 @@ describe PagesController do
|
|
4
4
|
|
5
5
|
before(:each) do
|
6
6
|
# We need an user or the signup view will show up
|
7
|
-
|
7
|
+
FactoryGirl.create(:admin_user)
|
8
8
|
@default_language = Language.get_default
|
9
|
-
@default_language_root =
|
9
|
+
@default_language_root = FactoryGirl.create(:language_root_page, :language => @default_language, :name => 'Home')
|
10
10
|
end
|
11
11
|
|
12
12
|
context "rendering a page" do
|
13
13
|
|
14
14
|
it "should including all its elements and contents" do
|
15
|
-
p =
|
15
|
+
p = FactoryGirl.create(:public_page, :language => @default_language)
|
16
16
|
article = p.elements.find_by_name('article')
|
17
17
|
article.content_by_name('intro').essence.update_attributes(:body => 'Welcome to Peters Petshop', :public => true)
|
18
18
|
visit '/a-public-page'
|
@@ -21,8 +21,8 @@ describe PagesController do
|
|
21
21
|
|
22
22
|
it "should have show the navigation with all visible pages" do
|
23
23
|
pages = [
|
24
|
-
|
25
|
-
|
24
|
+
FactoryGirl.create(:public_page, :language => @default_language, :visible => true, :name => 'Page 1', :parent_id => @default_language_root.id),
|
25
|
+
FactoryGirl.create(:public_page, :language => @default_language, :visible => true, :name => 'Page 2', :parent_id => @default_language_root.id)
|
26
26
|
]
|
27
27
|
visit '/'
|
28
28
|
within('div#navigation ul') { page.should have_selector('li a[href="/page-1"], li a[href="/page-2"]') }
|
@@ -31,34 +31,34 @@ describe PagesController do
|
|
31
31
|
end
|
32
32
|
|
33
33
|
context "performing a fulltext search" do
|
34
|
-
|
34
|
+
|
35
35
|
before(:each) do
|
36
|
-
@page =
|
37
|
-
@element =
|
36
|
+
@page = FactoryGirl.create(:public_page, :language => @default_language, :visible => true, :name => 'Page 1', :parent_id => @default_language_root.id)
|
37
|
+
@element = FactoryGirl.create(:element, :name => 'article', :page => @page)
|
38
38
|
end
|
39
|
-
|
39
|
+
|
40
40
|
it "should display search results for richtext essences" do
|
41
41
|
@element.content_by_name('text').essence.update_attributes(:body => '<p>Welcome to Peters Petshop</p>', :public => true)
|
42
|
-
search_result_page =
|
42
|
+
search_result_page = FactoryGirl.create(:public_page, :language => @default_language, :name => 'Suche', :page_layout => 'search', :parent_id => @default_language_root.id)
|
43
43
|
visit('/suche?query=Petshop')
|
44
44
|
within('div#content .searchresult') { page.should have_content('Petshop') }
|
45
45
|
end
|
46
|
-
|
46
|
+
|
47
47
|
it "should display search results for text essences" do
|
48
48
|
@element.content_by_name('intro').essence.update_attributes(:body => 'Welcome to Peters Petshop', :public => true)
|
49
|
-
search_result_page =
|
49
|
+
search_result_page = FactoryGirl.create(:public_page, :language => @default_language, :name => 'Suche', :page_layout => 'search', :parent_id => @default_language_root.id)
|
50
50
|
visit('/suche?query=Petshop')
|
51
51
|
within('div#content .searchresult') { page.should have_content('Petshop') }
|
52
52
|
end
|
53
|
-
|
53
|
+
|
54
54
|
end
|
55
55
|
|
56
56
|
context "redirecting" do
|
57
|
-
|
57
|
+
|
58
58
|
context "in multi language mode" do
|
59
59
|
|
60
60
|
before(:each) do
|
61
|
-
@page =
|
61
|
+
@page = FactoryGirl.create(:public_page)
|
62
62
|
end
|
63
63
|
|
64
64
|
it "should redirect to url with nested language code" do
|
@@ -67,12 +67,12 @@ describe PagesController do
|
|
67
67
|
end
|
68
68
|
|
69
69
|
context "should redirect to public child" do
|
70
|
-
|
70
|
+
|
71
71
|
before(:each) do
|
72
72
|
@page.update_attributes(:public => false, :name => 'Not Public', :urlname => '')
|
73
|
-
@child =
|
73
|
+
@child = FactoryGirl.create(:public_page, :name => 'Public Child', :parent_id => @page.id)
|
74
74
|
end
|
75
|
-
|
75
|
+
|
76
76
|
it ", if requested page is unpublished" do
|
77
77
|
visit '/kl/not-public'
|
78
78
|
page.current_path.should == '/kl/public-child'
|
@@ -82,7 +82,7 @@ describe PagesController do
|
|
82
82
|
visit '/not-public'
|
83
83
|
page.current_path.should == '/kl/public-child'
|
84
84
|
end
|
85
|
-
|
85
|
+
|
86
86
|
end
|
87
87
|
|
88
88
|
it "should redirect to pages url, if requested url is index url" do
|
@@ -101,11 +101,11 @@ describe PagesController do
|
|
101
101
|
end
|
102
102
|
|
103
103
|
end
|
104
|
-
|
104
|
+
|
105
105
|
context "not in multi language mode" do
|
106
106
|
|
107
107
|
before(:each) do
|
108
|
-
@page =
|
108
|
+
@page = FactoryGirl.create(:public_page, :language => @default_language, :parent_id => @default_language_root.id)
|
109
109
|
end
|
110
110
|
|
111
111
|
it "should redirect from nested language code url to normal url" do
|
@@ -114,12 +114,12 @@ describe PagesController do
|
|
114
114
|
end
|
115
115
|
|
116
116
|
context "should redirect to public child" do
|
117
|
-
|
117
|
+
|
118
118
|
before(:each) do
|
119
119
|
@page.update_attributes(:public => false, :name => 'Not Public', :urlname => '')
|
120
|
-
@child =
|
120
|
+
@child = FactoryGirl.create(:public_page, :name => 'Public Child', :parent_id => @page.id, :language => @default_language)
|
121
121
|
end
|
122
|
-
|
122
|
+
|
123
123
|
it ", if requested page is unpublished" do
|
124
124
|
visit '/not-public'
|
125
125
|
page.current_path.should == '/public-child'
|
@@ -129,7 +129,7 @@ describe PagesController do
|
|
129
129
|
visit '/de/not-public'
|
130
130
|
page.current_path.should == '/public-child'
|
131
131
|
end
|
132
|
-
|
132
|
+
|
133
133
|
end
|
134
134
|
|
135
135
|
it "should redirect to pages url, if requested url is index url" do
|
@@ -143,7 +143,7 @@ describe PagesController do
|
|
143
143
|
end
|
144
144
|
|
145
145
|
end
|
146
|
-
|
146
|
+
|
147
147
|
end
|
148
148
|
|
149
149
|
end
|
data/spec/models/content_spec.rb
CHANGED
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe Content do
|
4
4
|
|
5
5
|
it "should return the ingredient from its essence" do
|
6
|
-
|
6
|
+
FactoryGirl.create(:element)
|
7
7
|
EssenceText.first.update_attributes(:body => "Hello")
|
8
8
|
Content.first.ingredient.should == EssenceText.first.ingredient
|
9
9
|
end
|
data/spec/models/element_spec.rb
CHANGED
@@ -9,19 +9,19 @@ describe Element do
|
|
9
9
|
end
|
10
10
|
|
11
11
|
it "should return all public elements" do
|
12
|
-
elements = [
|
12
|
+
elements = [FactoryGirl.create(:element, :public => true), FactoryGirl.create(:element, :public => true)]
|
13
13
|
Element.published.all.should == elements
|
14
14
|
end
|
15
15
|
|
16
16
|
it "should return all elements by name" do
|
17
|
-
elements = [
|
17
|
+
elements = [FactoryGirl.create(:element, :name => 'article'), FactoryGirl.create(:element, :name => 'article')]
|
18
18
|
Element.named(['article']).all.should == elements
|
19
19
|
end
|
20
20
|
|
21
21
|
it "should return all elements but excluded ones" do
|
22
|
-
|
23
|
-
|
24
|
-
excluded = [
|
22
|
+
FactoryGirl.create(:element, :name => 'article')
|
23
|
+
FactoryGirl.create(:element, :name => 'article')
|
24
|
+
excluded = [FactoryGirl.create(:element, :name => 'claim')]
|
25
25
|
Element.excluded(['article']).all.should == excluded
|
26
26
|
end
|
27
27
|
|
@@ -47,7 +47,7 @@ describe Element do
|
|
47
47
|
context "retrieving contents, essences and ingredients" do
|
48
48
|
|
49
49
|
before(:each) do
|
50
|
-
@element =
|
50
|
+
@element = FactoryGirl.create(:element, :name => 'news')
|
51
51
|
end
|
52
52
|
|
53
53
|
it "should return an ingredient by name" do
|
@@ -65,7 +65,7 @@ describe Element do
|
|
65
65
|
end
|
66
66
|
|
67
67
|
it "should return a collection of trashed elements" do
|
68
|
-
@element =
|
68
|
+
@element = FactoryGirl.create(:element)
|
69
69
|
@element.trash
|
70
70
|
Element.trashed.should include(@element)
|
71
71
|
end
|
@@ -73,14 +73,14 @@ describe Element do
|
|
73
73
|
context "trashed" do
|
74
74
|
|
75
75
|
before(:each) do
|
76
|
-
@element =
|
76
|
+
@element = FactoryGirl.create(:element)
|
77
77
|
@element.trash
|
78
78
|
end
|
79
|
-
|
79
|
+
|
80
80
|
it "should be not public" do
|
81
81
|
@element.public.should be_false
|
82
82
|
end
|
83
|
-
|
83
|
+
|
84
84
|
it "should have no page" do
|
85
85
|
@element.page.should == nil
|
86
86
|
end
|
@@ -88,7 +88,7 @@ describe Element do
|
|
88
88
|
it "should be folded" do
|
89
89
|
@element.folded.should == true
|
90
90
|
end
|
91
|
-
|
91
|
+
|
92
92
|
end
|
93
93
|
|
94
94
|
it "should raise error if all_for_page method has no page" do
|
@@ -3,25 +3,25 @@ require 'spec_helper'
|
|
3
3
|
describe Language do
|
4
4
|
|
5
5
|
before(:all) do
|
6
|
-
@language =
|
6
|
+
@language = FactoryGirl.create(:language)
|
7
7
|
end
|
8
|
-
|
8
|
+
|
9
9
|
after(:all) do
|
10
10
|
@language.destroy if @language
|
11
11
|
end
|
12
12
|
|
13
13
|
it "should return a label for code" do
|
14
14
|
@language.label(:code).should == 'kl'
|
15
|
-
end
|
15
|
+
end
|
16
16
|
|
17
17
|
it "should return a label for name" do
|
18
18
|
@language.label(:name).should == 'Klingonian'
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
it "should not be deletable if it is the default language" do
|
22
22
|
@default_language = Language.find_by_default(true)
|
23
23
|
if !@default_language
|
24
|
-
@default_language =
|
24
|
+
@default_language = FactoryGirl.create(:language, :name => "default", :code => "aa", :frontpage_name => "intro", :default => true)
|
25
25
|
end
|
26
26
|
expect { @default_language.destroy }.should raise_error
|
27
27
|
end
|
data/spec/models/page_spec.rb
CHANGED
@@ -3,58 +3,58 @@
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
5
|
describe Page do
|
6
|
-
|
6
|
+
|
7
7
|
before(:each) do
|
8
8
|
@rootpage = Page.rootpage
|
9
9
|
@language = Language.get_default
|
10
|
-
@language_root =
|
10
|
+
@language_root = FactoryGirl.create(:page, :parent_id => @rootpage.id, :language => @language, :language_root => true, :page_layout => 'intro')
|
11
11
|
end
|
12
|
-
|
12
|
+
|
13
13
|
describe ".layout_description" do
|
14
|
-
|
14
|
+
|
15
15
|
context "for a language root page" do
|
16
|
-
|
16
|
+
|
17
17
|
it "should return the page layout description as hash" do
|
18
18
|
@language_root.layout_description['name'].should == 'intro'
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
it "should return an empty hash for root page" do
|
22
22
|
@rootpage.layout_description.should == {}
|
23
23
|
end
|
24
|
-
|
24
|
+
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
it "should raise Exception if the page_layout could not be found in the definition file" do
|
28
28
|
@page = mock(:page, :page_layout => 'foo')
|
29
29
|
expect { @page.layout_description }.to raise_error
|
30
30
|
end
|
31
|
-
|
31
|
+
|
32
32
|
end
|
33
|
-
|
33
|
+
|
34
34
|
it "should contain one rootpage" do
|
35
35
|
Page.rootpage.should be_instance_of(Page)
|
36
36
|
end
|
37
37
|
|
38
38
|
it "should return all rss feed elements" do
|
39
|
-
@page =
|
39
|
+
@page = FactoryGirl.create(:public_page, :page_layout => 'news', :parent_id => @language_root.id, :language => @language)
|
40
40
|
@page.feed_elements.should == Element.find_all_by_name('news')
|
41
41
|
end
|
42
|
-
|
42
|
+
|
43
43
|
context "finding elements" do
|
44
|
-
|
44
|
+
|
45
45
|
before(:each) do
|
46
|
-
@page =
|
46
|
+
@page = FactoryGirl.create(:public_page)
|
47
47
|
@non_public_elements = [
|
48
|
-
|
49
|
-
|
48
|
+
FactoryGirl.create(:element, :public => false, :page => @page),
|
49
|
+
FactoryGirl.create(:element, :public => false, :page => @page)
|
50
50
|
]
|
51
51
|
end
|
52
|
-
|
52
|
+
|
53
53
|
it "should return the collection of elements if passed an array into options[:collection]" do
|
54
54
|
options = {:collection => @page.elements}
|
55
55
|
@page.find_elements(options).all.should == @page.elements.all
|
56
56
|
end
|
57
|
-
|
57
|
+
|
58
58
|
context "with show_non_public argument TRUE" do
|
59
59
|
|
60
60
|
it "should return all elements from empty options" do
|
@@ -78,7 +78,7 @@ describe Page do
|
|
78
78
|
end
|
79
79
|
|
80
80
|
end
|
81
|
-
|
81
|
+
|
82
82
|
context "with show_non_public argument FALSE" do
|
83
83
|
|
84
84
|
it "should return all elements from empty arguments" do
|
@@ -102,56 +102,56 @@ describe Page do
|
|
102
102
|
end
|
103
103
|
|
104
104
|
end
|
105
|
-
|
105
|
+
|
106
106
|
end
|
107
|
-
|
107
|
+
|
108
108
|
context "create" do
|
109
109
|
it "the rootpage with page_layout rootpage does not need a parent_id" do
|
110
110
|
@rootpage.rootpage?.should be_true
|
111
111
|
end
|
112
|
-
|
112
|
+
|
113
113
|
it "all pages except the rootpage must have a parent_id" do
|
114
|
-
page =
|
114
|
+
page = FactoryGirl.build(:page, :page_layout => "anypage", :parent_id => nil, :language => @language)
|
115
115
|
page.valid?
|
116
116
|
page.should have(1).error_on(:parent_id)
|
117
117
|
end
|
118
|
-
|
118
|
+
|
119
119
|
it "must not be created if the page_layout is set to 'rootpage' and a page already exists with this page_layout and parent_id = nil" do
|
120
|
-
page =
|
120
|
+
page = FactoryGirl.build(:page, :name => "anypage", :page_layout => "rootpage", :parent_id => @language_root.id, :language => @language)
|
121
121
|
page.valid?
|
122
122
|
page.should have(1).error_on(:page_layout)
|
123
123
|
end
|
124
|
-
|
124
|
+
|
125
125
|
it "should get a webfriendly urlname on create" do
|
126
|
-
page =
|
126
|
+
page = FactoryGirl.create(:page, :name => 'klingon$&stößel ', :language => @language, :parent_id => @language_root.id)
|
127
127
|
page.urlname.should == 'klingon-stoessel'
|
128
128
|
end
|
129
129
|
|
130
130
|
it "should generate a three letter urlname from two letter name" do
|
131
|
-
page =
|
131
|
+
page = FactoryGirl.create(:page, :name => 'Au', :language => @language, :parent_id => @language_root.id)
|
132
132
|
page.urlname.should == '-au'
|
133
133
|
end
|
134
134
|
|
135
135
|
it "should generate a three letter urlname from two letter name with umlaut" do
|
136
|
-
page =
|
136
|
+
page = FactoryGirl.create(:page, :name => 'Aü', :language => @language, :parent_id => @language_root.id)
|
137
137
|
page.urlname.should == 'aue'
|
138
138
|
end
|
139
139
|
|
140
140
|
it "should generate a three letter urlname from one letter name" do
|
141
|
-
page =
|
141
|
+
page = FactoryGirl.create(:page, :name => 'A', :language => @language, :parent_id => @language_root.id)
|
142
142
|
page.urlname.should == '--a'
|
143
143
|
end
|
144
144
|
end
|
145
|
-
|
145
|
+
|
146
146
|
context "with children" do
|
147
147
|
before(:each) do
|
148
|
-
@first_child =
|
148
|
+
@first_child = FactoryGirl.create(:page, :name => "First child", :language => @language, :public => false, :parent_id => @language_root.id)
|
149
149
|
@first_child.move_to_child_of(@language_root)
|
150
|
-
|
151
|
-
@first_public_child =
|
150
|
+
|
151
|
+
@first_public_child = FactoryGirl.create(:page, :name => "First public child", :language => @language, :parent_id => @language_root.id, :public => true)
|
152
152
|
@first_public_child.move_to_child_of(@language_root)
|
153
153
|
end
|
154
|
-
|
154
|
+
|
155
155
|
it "should return a page object (or nil if no public child exists) for first_public_child" do
|
156
156
|
if @language_root.children.any?
|
157
157
|
@language_root.first_public_child.should == @first_public_child
|
@@ -160,63 +160,63 @@ describe Page do
|
|
160
160
|
end
|
161
161
|
end
|
162
162
|
end
|
163
|
-
|
163
|
+
|
164
164
|
context ".public" do
|
165
165
|
it "should return 2 pages that are public" do
|
166
|
-
|
167
|
-
|
166
|
+
FactoryGirl.create(:public_page, :name => 'First Public Child', :parent_id => @language_root.id, :language => @language)
|
167
|
+
FactoryGirl.create(:public_page, :name => 'Second Public Child', :parent_id => @language_root.id, :language => @language)
|
168
168
|
Page.published.should have(2).pages
|
169
169
|
end
|
170
170
|
end
|
171
|
-
|
171
|
+
|
172
172
|
context ".not_locked" do
|
173
173
|
it "should return 3 pages that are not blocked by a user at the moment" do
|
174
|
-
|
175
|
-
|
174
|
+
FactoryGirl.create(:public_page, :locked => true, :name => 'First Public Child', :parent_id => @language_root.id, :language => @language)
|
175
|
+
FactoryGirl.create(:public_page, :name => 'Second Public Child', :parent_id => @language_root.id, :language => @language)
|
176
176
|
Page.not_locked.should have(3).pages
|
177
177
|
end
|
178
178
|
end
|
179
179
|
context ".all_locked" do
|
180
180
|
it "should return 1 page that is blocked by a user at the moment" do
|
181
|
-
|
181
|
+
FactoryGirl.create(:public_page, :locked => true, :name => 'First Public Child', :parent_id => @language_root.id, :language => @language)
|
182
182
|
Page.all_locked.should have(1).pages
|
183
183
|
end
|
184
184
|
end
|
185
|
-
|
185
|
+
|
186
186
|
context ".language_roots" do
|
187
187
|
it "should return 1 language_root" do
|
188
|
-
|
188
|
+
FactoryGirl.create(:public_page, :name => 'First Public Child', :parent_id => @language_root.id, :language => @language)
|
189
189
|
Page.language_roots.should have(1).pages
|
190
190
|
end
|
191
191
|
end
|
192
|
-
|
193
|
-
|
192
|
+
|
193
|
+
|
194
194
|
context ".layoutpages" do
|
195
195
|
it "should return 1 layoutpage" do
|
196
|
-
|
196
|
+
FactoryGirl.create(:public_page, :layoutpage => true, :name => 'Layoutpage', :parent_id => @rootpage.id, :language => @language)
|
197
197
|
Page.layoutpages.should have(1).pages
|
198
198
|
end
|
199
199
|
end
|
200
|
-
|
200
|
+
|
201
201
|
context ".visible" do
|
202
202
|
it "should return 1 visible page" do
|
203
|
-
|
203
|
+
FactoryGirl.create(:public_page, :name => 'First Public Child', :visible => true, :parent_id => @language_root.id, :language => @language)
|
204
204
|
Page.visible.should have(1).pages
|
205
205
|
end
|
206
206
|
end
|
207
|
-
|
207
|
+
|
208
208
|
context ".accessable" do
|
209
209
|
it "should return 2 accessable pages" do
|
210
|
-
|
210
|
+
FactoryGirl.create(:public_page, :name => 'First Public Child', :restricted => true, :parent_id => @language_root.id, :language => @language)
|
211
211
|
Page.accessable.should have(2).pages
|
212
212
|
end
|
213
213
|
end
|
214
|
-
|
214
|
+
|
215
215
|
context ".restricted" do
|
216
216
|
it "should return 1 restricted page" do
|
217
|
-
|
217
|
+
FactoryGirl.create(:public_page, :name => 'First Public Child', :restricted => true, :parent_id => @language_root.id, :language => @language)
|
218
218
|
Page.restricted.should have(1).pages
|
219
219
|
end
|
220
220
|
end
|
221
|
-
|
221
|
+
|
222
222
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alchemy_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,22 +11,27 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2012-
|
14
|
+
date: 2012-06-15 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rails
|
18
|
-
requirement:
|
18
|
+
requirement: !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ~>
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version:
|
23
|
+
version: 3.0.15
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements:
|
26
|
+
version_requirements: !ruby/object:Gem::Requirement
|
27
|
+
none: false
|
28
|
+
requirements:
|
29
|
+
- - ~>
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: 3.0.15
|
27
32
|
- !ruby/object:Gem::Dependency
|
28
33
|
name: authlogic
|
29
|
-
requirement:
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
30
35
|
none: false
|
31
36
|
requirements:
|
32
37
|
- - ~>
|
@@ -34,10 +39,15 @@ dependencies:
|
|
34
39
|
version: '3.0'
|
35
40
|
type: :runtime
|
36
41
|
prerelease: false
|
37
|
-
version_requirements:
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
none: false
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.0'
|
38
48
|
- !ruby/object:Gem::Dependency
|
39
49
|
name: awesome_nested_set
|
40
|
-
requirement:
|
50
|
+
requirement: !ruby/object:Gem::Requirement
|
41
51
|
none: false
|
42
52
|
requirements:
|
43
53
|
- - ~>
|
@@ -45,10 +55,15 @@ dependencies:
|
|
45
55
|
version: '2.0'
|
46
56
|
type: :runtime
|
47
57
|
prerelease: false
|
48
|
-
version_requirements:
|
58
|
+
version_requirements: !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
60
|
+
requirements:
|
61
|
+
- - ~>
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '2.0'
|
49
64
|
- !ruby/object:Gem::Dependency
|
50
65
|
name: declarative_authorization
|
51
|
-
requirement:
|
66
|
+
requirement: !ruby/object:Gem::Requirement
|
52
67
|
none: false
|
53
68
|
requirements:
|
54
69
|
- - ~>
|
@@ -56,10 +71,15 @@ dependencies:
|
|
56
71
|
version: '0.5'
|
57
72
|
type: :runtime
|
58
73
|
prerelease: false
|
59
|
-
version_requirements:
|
74
|
+
version_requirements: !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
76
|
+
requirements:
|
77
|
+
- - ~>
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0.5'
|
60
80
|
- !ruby/object:Gem::Dependency
|
61
81
|
name: tvdeyen-fleximage
|
62
|
-
requirement:
|
82
|
+
requirement: !ruby/object:Gem::Requirement
|
63
83
|
none: false
|
64
84
|
requirements:
|
65
85
|
- - ~>
|
@@ -67,10 +87,15 @@ dependencies:
|
|
67
87
|
version: 1.0.7
|
68
88
|
type: :runtime
|
69
89
|
prerelease: false
|
70
|
-
version_requirements:
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
92
|
+
requirements:
|
93
|
+
- - ~>
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 1.0.7
|
71
96
|
- !ruby/object:Gem::Dependency
|
72
97
|
name: gettext_i18n_rails
|
73
|
-
requirement:
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
74
99
|
none: false
|
75
100
|
requirements:
|
76
101
|
- - ! '>='
|
@@ -78,10 +103,15 @@ dependencies:
|
|
78
103
|
version: '0.3'
|
79
104
|
type: :runtime
|
80
105
|
prerelease: false
|
81
|
-
version_requirements:
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
none: false
|
108
|
+
requirements:
|
109
|
+
- - ! '>='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0.3'
|
82
112
|
- !ruby/object:Gem::Dependency
|
83
113
|
name: will_paginate
|
84
|
-
requirement:
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
85
115
|
none: false
|
86
116
|
requirements:
|
87
117
|
- - ~>
|
@@ -89,10 +119,15 @@ dependencies:
|
|
89
119
|
version: '3.0'
|
90
120
|
type: :runtime
|
91
121
|
prerelease: false
|
92
|
-
version_requirements:
|
122
|
+
version_requirements: !ruby/object:Gem::Requirement
|
123
|
+
none: false
|
124
|
+
requirements:
|
125
|
+
- - ~>
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '3.0'
|
93
128
|
- !ruby/object:Gem::Dependency
|
94
129
|
name: acts_as_ferret
|
95
|
-
requirement:
|
130
|
+
requirement: !ruby/object:Gem::Requirement
|
96
131
|
none: false
|
97
132
|
requirements:
|
98
133
|
- - ~>
|
@@ -100,10 +135,15 @@ dependencies:
|
|
100
135
|
version: '0.5'
|
101
136
|
type: :runtime
|
102
137
|
prerelease: false
|
103
|
-
version_requirements:
|
138
|
+
version_requirements: !ruby/object:Gem::Requirement
|
139
|
+
none: false
|
140
|
+
requirements:
|
141
|
+
- - ~>
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '0.5'
|
104
144
|
- !ruby/object:Gem::Dependency
|
105
145
|
name: acts_as_list
|
106
|
-
requirement:
|
146
|
+
requirement: !ruby/object:Gem::Requirement
|
107
147
|
none: false
|
108
148
|
requirements:
|
109
149
|
- - ~>
|
@@ -111,10 +151,15 @@ dependencies:
|
|
111
151
|
version: '0.1'
|
112
152
|
type: :runtime
|
113
153
|
prerelease: false
|
114
|
-
version_requirements:
|
154
|
+
version_requirements: !ruby/object:Gem::Requirement
|
155
|
+
none: false
|
156
|
+
requirements:
|
157
|
+
- - ~>
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0.1'
|
115
160
|
- !ruby/object:Gem::Dependency
|
116
161
|
name: userstamp
|
117
|
-
requirement:
|
162
|
+
requirement: !ruby/object:Gem::Requirement
|
118
163
|
none: false
|
119
164
|
requirements:
|
120
165
|
- - ~>
|
@@ -122,10 +167,15 @@ dependencies:
|
|
122
167
|
version: 2.0.1
|
123
168
|
type: :runtime
|
124
169
|
prerelease: false
|
125
|
-
version_requirements:
|
170
|
+
version_requirements: !ruby/object:Gem::Requirement
|
171
|
+
none: false
|
172
|
+
requirements:
|
173
|
+
- - ~>
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: 2.0.1
|
126
176
|
- !ruby/object:Gem::Dependency
|
127
177
|
name: dynamic_form
|
128
|
-
requirement:
|
178
|
+
requirement: !ruby/object:Gem::Requirement
|
129
179
|
none: false
|
130
180
|
requirements:
|
131
181
|
- - ~>
|
@@ -133,10 +183,15 @@ dependencies:
|
|
133
183
|
version: '1.1'
|
134
184
|
type: :runtime
|
135
185
|
prerelease: false
|
136
|
-
version_requirements:
|
186
|
+
version_requirements: !ruby/object:Gem::Requirement
|
187
|
+
none: false
|
188
|
+
requirements:
|
189
|
+
- - ~>
|
190
|
+
- !ruby/object:Gem::Version
|
191
|
+
version: '1.1'
|
137
192
|
- !ruby/object:Gem::Dependency
|
138
193
|
name: jquery-rails
|
139
|
-
requirement:
|
194
|
+
requirement: !ruby/object:Gem::Requirement
|
140
195
|
none: false
|
141
196
|
requirements:
|
142
197
|
- - ~>
|
@@ -144,10 +199,15 @@ dependencies:
|
|
144
199
|
version: '1.0'
|
145
200
|
type: :runtime
|
146
201
|
prerelease: false
|
147
|
-
version_requirements:
|
202
|
+
version_requirements: !ruby/object:Gem::Requirement
|
203
|
+
none: false
|
204
|
+
requirements:
|
205
|
+
- - ~>
|
206
|
+
- !ruby/object:Gem::Version
|
207
|
+
version: '1.0'
|
148
208
|
- !ruby/object:Gem::Dependency
|
149
209
|
name: tinymce_hammer
|
150
|
-
requirement:
|
210
|
+
requirement: !ruby/object:Gem::Requirement
|
151
211
|
none: false
|
152
212
|
requirements:
|
153
213
|
- - ~>
|
@@ -155,10 +215,15 @@ dependencies:
|
|
155
215
|
version: '0.2'
|
156
216
|
type: :runtime
|
157
217
|
prerelease: false
|
158
|
-
version_requirements:
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
none: false
|
220
|
+
requirements:
|
221
|
+
- - ~>
|
222
|
+
- !ruby/object:Gem::Version
|
223
|
+
version: '0.2'
|
159
224
|
- !ruby/object:Gem::Dependency
|
160
225
|
name: attachment_magic
|
161
|
-
requirement:
|
226
|
+
requirement: !ruby/object:Gem::Requirement
|
162
227
|
none: false
|
163
228
|
requirements:
|
164
229
|
- - ~>
|
@@ -166,10 +231,15 @@ dependencies:
|
|
166
231
|
version: 0.1.1
|
167
232
|
type: :runtime
|
168
233
|
prerelease: false
|
169
|
-
version_requirements:
|
234
|
+
version_requirements: !ruby/object:Gem::Requirement
|
235
|
+
none: false
|
236
|
+
requirements:
|
237
|
+
- - ~>
|
238
|
+
- !ruby/object:Gem::Version
|
239
|
+
version: 0.1.1
|
170
240
|
- !ruby/object:Gem::Dependency
|
171
241
|
name: rspec-rails
|
172
|
-
requirement:
|
242
|
+
requirement: !ruby/object:Gem::Requirement
|
173
243
|
none: false
|
174
244
|
requirements:
|
175
245
|
- - ~>
|
@@ -177,10 +247,15 @@ dependencies:
|
|
177
247
|
version: '2.6'
|
178
248
|
type: :development
|
179
249
|
prerelease: false
|
180
|
-
version_requirements:
|
250
|
+
version_requirements: !ruby/object:Gem::Requirement
|
251
|
+
none: false
|
252
|
+
requirements:
|
253
|
+
- - ~>
|
254
|
+
- !ruby/object:Gem::Version
|
255
|
+
version: '2.6'
|
181
256
|
- !ruby/object:Gem::Dependency
|
182
257
|
name: sqlite3
|
183
|
-
requirement:
|
258
|
+
requirement: !ruby/object:Gem::Requirement
|
184
259
|
none: false
|
185
260
|
requirements:
|
186
261
|
- - ! '>='
|
@@ -188,10 +263,15 @@ dependencies:
|
|
188
263
|
version: '0'
|
189
264
|
type: :development
|
190
265
|
prerelease: false
|
191
|
-
version_requirements:
|
266
|
+
version_requirements: !ruby/object:Gem::Requirement
|
267
|
+
none: false
|
268
|
+
requirements:
|
269
|
+
- - ! '>='
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: '0'
|
192
272
|
- !ruby/object:Gem::Dependency
|
193
273
|
name: ruby-debug19
|
194
|
-
requirement:
|
274
|
+
requirement: !ruby/object:Gem::Requirement
|
195
275
|
none: false
|
196
276
|
requirements:
|
197
277
|
- - ! '>='
|
@@ -199,7 +279,12 @@ dependencies:
|
|
199
279
|
version: '0'
|
200
280
|
type: :development
|
201
281
|
prerelease: false
|
202
|
-
version_requirements:
|
282
|
+
version_requirements: !ruby/object:Gem::Requirement
|
283
|
+
none: false
|
284
|
+
requirements:
|
285
|
+
- - ! '>='
|
286
|
+
- !ruby/object:Gem::Version
|
287
|
+
version: '0'
|
203
288
|
description: Alchemy is an awesome Rails CMS with an extremely flexible content storing
|
204
289
|
architecture.
|
205
290
|
email:
|
@@ -768,16 +853,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
768
853
|
- - ! '>='
|
769
854
|
- !ruby/object:Gem::Version
|
770
855
|
version: '0'
|
856
|
+
segments:
|
857
|
+
- 0
|
858
|
+
hash: -3049547047744708564
|
771
859
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
772
860
|
none: false
|
773
861
|
requirements:
|
774
862
|
- - ! '>='
|
775
863
|
- !ruby/object:Gem::Version
|
776
864
|
version: '0'
|
865
|
+
segments:
|
866
|
+
- 0
|
867
|
+
hash: -3049547047744708564
|
777
868
|
requirements:
|
778
869
|
- ImageMagick (libmagick), v6.6 or greater.
|
779
870
|
rubyforge_project:
|
780
|
-
rubygems_version: 1.8.
|
871
|
+
rubygems_version: 1.8.24
|
781
872
|
signing_key:
|
782
873
|
specification_version: 3
|
783
874
|
summary: An extremly flexbile CMS for Rails 3.
|