alchemy_cms 2.1.beta6 → 2.1.rc2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. data/.gitignore +3 -1
  2. data/Gemfile +10 -2
  3. data/Guardfile +16 -0
  4. data/README.md +3 -3
  5. data/Rakefile +0 -5
  6. data/alchemy_cms.gemspec +1 -9
  7. data/app/assets/javascripts/alchemy/alchemy.base.js +5 -4
  8. data/app/assets/javascripts/alchemy/{alchemy.dragndrop.js.erb → alchemy.dragndrop.js} +0 -0
  9. data/app/assets/javascripts/alchemy/alchemy.elements_window.js +96 -0
  10. data/app/assets/javascripts/alchemy/alchemy.image_cropper.js +48 -50
  11. data/app/assets/javascripts/alchemy/alchemy.jquery_loader.js +41 -0
  12. data/app/assets/javascripts/alchemy/alchemy.js +2 -0
  13. data/app/assets/javascripts/alchemy/alchemy.menubar.js +55 -0
  14. data/app/assets/javascripts/alchemy/alchemy.preview.js +94 -139
  15. data/app/assets/javascripts/alchemy/alchemy.preview_window.js +98 -0
  16. data/app/assets/javascripts/alchemy/alchemy.windows.js +1 -174
  17. data/app/assets/javascripts/alchemy/menubar.js +2 -0
  18. data/app/assets/javascripts/alchemy/preview.js +2 -1
  19. data/app/assets/stylesheets/alchemy/_defaults.scss +7 -8
  20. data/app/assets/stylesheets/alchemy/base.css.scss +29 -33
  21. data/app/assets/stylesheets/alchemy/elements.css.scss +4 -4
  22. data/app/assets/stylesheets/alchemy/jquery-ui.alchemy.css.scss +1 -1
  23. data/app/assets/stylesheets/alchemy/jquery.Jcrop.css.scss +1 -1
  24. data/app/assets/stylesheets/alchemy/jquery.sb.css.scss +19 -4
  25. data/app/assets/stylesheets/alchemy/menubar.css.scss +85 -0
  26. data/app/assets/stylesheets/alchemy/standard_set.css +3 -5
  27. data/app/assets/stylesheets/alchemy/tinymce_content.css.scss +1 -1
  28. data/app/assets/stylesheets/alchemy/tinymce_dialog.css.scss +1 -1
  29. data/app/controllers/alchemy/admin/attachments_controller.rb +2 -18
  30. data/app/controllers/alchemy/admin/base_controller.rb +1 -1
  31. data/app/controllers/alchemy/admin/elements_controller.rb +2 -2
  32. data/app/controllers/alchemy/admin/essence_files_controller.rb +4 -2
  33. data/app/controllers/alchemy/admin/pictures_controller.rb +6 -20
  34. data/app/controllers/alchemy/admin/resources_controller.rb +7 -5
  35. data/app/controllers/alchemy/base_controller.rb +14 -4
  36. data/app/controllers/alchemy/messages_controller.rb +4 -4
  37. data/app/controllers/alchemy/pages_controller.rb +51 -32
  38. data/app/controllers/alchemy/pictures_controller.rb +0 -3
  39. data/app/controllers/alchemy/user_sessions_controller.rb +1 -1
  40. data/app/helpers/alchemy/admin/base_helper.rb +6 -4
  41. data/app/helpers/alchemy/base_helper.rb +26 -0
  42. data/app/helpers/alchemy/pages_helper.rb +42 -22
  43. data/app/models/alchemy/attachment.rb +10 -2
  44. data/app/models/alchemy/cell.rb +1 -0
  45. data/app/models/alchemy/content.rb +8 -6
  46. data/app/models/alchemy/element.rb +1 -1
  47. data/app/models/alchemy/essence_audio.rb +1 -8
  48. data/app/models/alchemy/essence_date.rb +2 -9
  49. data/app/models/alchemy/essence_file.rb +1 -8
  50. data/app/models/alchemy/essence_flash.rb +0 -7
  51. data/app/models/alchemy/essence_html.rb +1 -8
  52. data/app/models/alchemy/essence_picture.rb +0 -11
  53. data/app/models/alchemy/essence_richtext.rb +4 -12
  54. data/app/models/alchemy/essence_text.rb +1 -13
  55. data/app/models/alchemy/essence_video.rb +1 -8
  56. data/app/models/alchemy/page.rb +28 -22
  57. data/app/models/alchemy/picture.rb +19 -0
  58. data/app/sweepers/alchemy/pages_sweeper.rb +17 -6
  59. data/app/sweepers/alchemy/pictures_sweeper.rb +1 -3
  60. data/app/views/alchemy/admin/attachments/_archive_overlay.html.erb +2 -2
  61. data/app/views/alchemy/admin/attachments/_attachment.html.erb +1 -1
  62. data/app/views/alchemy/admin/attachments/_file_to_assign.html.erb +2 -2
  63. data/app/views/alchemy/admin/attachments/_files_list.html.erb +13 -11
  64. data/app/views/alchemy/admin/attachments/create.js.erb +1 -1
  65. data/app/views/alchemy/admin/attachments/edit.html.erb +2 -2
  66. data/app/views/alchemy/admin/elements/_new_element_form.html.erb +1 -2
  67. data/app/views/alchemy/admin/elements/new.html.erb +1 -1
  68. data/app/views/alchemy/admin/essence_files/edit.html.erb +32 -32
  69. data/app/views/alchemy/admin/essence_pictures/crop.html.erb +29 -29
  70. data/app/views/alchemy/admin/essence_pictures/update.js.erb +13 -12
  71. data/app/views/alchemy/admin/pages/_create_language_form.html.erb +4 -1
  72. data/app/views/alchemy/admin/pages/_new_page_form.html.erb +1 -1
  73. data/app/views/alchemy/admin/pages/edit.html.erb +8 -8
  74. data/app/views/alchemy/admin/pages/index.html.erb +1 -1
  75. data/app/views/alchemy/admin/pages/new.html.erb +1 -1
  76. data/app/views/alchemy/admin/pages/update.js.erb +19 -12
  77. data/app/views/alchemy/admin/pictures/_picture.html.erb +1 -1
  78. data/app/views/alchemy/admin/pictures/_pictures_list.html.erb +8 -6
  79. data/app/views/alchemy/admin/pictures/show_in_window.html.erb +6 -1
  80. data/app/views/alchemy/admin/resources/_table.html.erb +1 -1
  81. data/app/views/alchemy/admin/users/_table.html.erb +13 -13
  82. data/app/views/alchemy/admin/users/_user.html.erb +1 -1
  83. data/app/views/alchemy/admin/users/index.html.erb +2 -2
  84. data/app/views/alchemy/elements/_contactform_view.html.erb +78 -78
  85. data/app/views/alchemy/elements/_download_editor.html.erb +1 -0
  86. data/app/views/alchemy/elements/_download_view.html.erb +3 -0
  87. data/app/views/alchemy/essences/_essence_date_editor.html.erb +1 -1
  88. data/app/views/alchemy/essences/_essence_file_editor.html.erb +1 -0
  89. data/app/views/alchemy/essences/_essence_file_view.html.erb +6 -2
  90. data/app/views/alchemy/essences/_essence_picture_editor.html.erb +3 -2
  91. data/app/views/alchemy/essences/_essence_picture_view.html.erb +1 -1
  92. data/app/views/alchemy/navigation/_link.html.erb +1 -2
  93. data/app/views/alchemy/notifications/admin_user_created.text.erb +7 -7
  94. data/app/views/alchemy/notifications/registered_user_created.text.erb +5 -5
  95. data/app/views/alchemy/user_sessions/login.html.erb +34 -35
  96. data/app/views/layouts/alchemy/login.html.erb +3 -8
  97. data/app/views/layouts/alchemy/pages.html.erb +1 -0
  98. data/bin/alchemy +43 -75
  99. data/config/alchemy/config.yml +10 -0
  100. data/config/alchemy/elements.yml +5 -0
  101. data/config/alchemy/page_layouts.yml +1 -1
  102. data/config/locales/alchemy.de.yml +21 -8
  103. data/config/locales/alchemy.en.yml +20 -4
  104. data/config/routes.rb +25 -20
  105. data/db/migrate/{20111116125112_namespace_models.rb → 20111116125112_namespace_alchemy_models.rb} +1 -1
  106. data/lib/alchemy/capistrano.rb +4 -17
  107. data/lib/alchemy/engine.rb +2 -0
  108. data/lib/alchemy/essence.rb +29 -41
  109. data/lib/alchemy/i18n.rb +1 -1
  110. data/lib/alchemy/mount_point.rb +10 -0
  111. data/lib/alchemy/page_layout.rb +7 -7
  112. data/lib/alchemy/seeder.rb +85 -47
  113. data/lib/alchemy/upgrader.rb +115 -0
  114. data/lib/alchemy/version.rb +1 -1
  115. data/lib/alchemy_cms.rb +4 -3
  116. data/lib/rails/generators/alchemy/scaffold/scaffold_generator.rb +6 -2
  117. data/lib/tasks/ferret.rake +12 -0
  118. data/lib/tasks/install.rake +16 -105
  119. data/lib/tasks/routes.rake +29 -0
  120. data/lib/tasks/upgrade.rake +5 -67
  121. data/spec/controllers/admin/pages_controller_spec.rb +1 -1
  122. data/spec/controllers/pages_controller_spec.rb +31 -0
  123. data/spec/factories.rb +24 -15
  124. data/spec/helpers/admin/base_helper_spec.rb +0 -7
  125. data/spec/helpers/pages_helper_spec.rb +54 -29
  126. data/spec/helpers/url_helpers_spec.rb +40 -0
  127. data/spec/integration/admin/pages_controller_spec.rb +3 -3
  128. data/spec/integration/pages_controller_spec.rb +80 -6
  129. data/spec/integration/security_spec.rb +2 -2
  130. data/spec/models/content_spec.rb +24 -0
  131. data/spec/models/page_spec.rb +174 -47
  132. data/spec/models/picture_spec.rb +54 -0
  133. data/spec/page_layout_spec.rb +2 -2
  134. data/spec/routing_spec.rb +205 -1
  135. data/spec/spec_helper.rb +53 -32
  136. metadata +51 -46
  137. data/lib/alchemy/file_utilz.rb +0 -73
@@ -0,0 +1,54 @@
1
+ require 'spec_helper'
2
+
3
+ describe Alchemy::Picture do
4
+
5
+ describe '#suffix' do
6
+
7
+ it "should return the suffix of original filename" do
8
+ pic = stub_model(Alchemy::Picture, :image_filename => 'kitten.JPG')
9
+ pic.suffix.should == "jpg"
10
+ end
11
+
12
+ context "image has no suffix" do
13
+
14
+ before(:each) do
15
+ @pic = stub_model(Alchemy::Picture, :image_filename => 'kitten')
16
+ end
17
+
18
+ it "should return empty string" do
19
+ @pic.suffix.should == ""
20
+ end
21
+
22
+ end
23
+
24
+ end
25
+
26
+ describe '#humanized_name' do
27
+
28
+ it "should return a humanized version of original filename" do
29
+ pic = stub_model(Alchemy::Picture, :image_filename => 'cute_kitten.JPG')
30
+ pic.humanized_name.should == "Cute kitten"
31
+ end
32
+
33
+ it "should not remove incidents of suffix from filename" do
34
+ pic = stub_model(Alchemy::Picture, :image_filename => 'cute_kitten_mo.jpgi.JPG')
35
+ pic.humanized_name.should == "Cute kitten mo.jpgi"
36
+ pic.humanized_name.should_not == "Cute kitten moi"
37
+ end
38
+
39
+ context "image has no suffix" do
40
+
41
+ before(:each) do
42
+ @pic = stub_model(Alchemy::Picture, :image_filename => 'cute_kitten')
43
+ @pic.stub!(:suffix).and_return("")
44
+ end
45
+
46
+ it "should return humanized name" do
47
+ @pic.humanized_name.should == "Cute kitten"
48
+ end
49
+
50
+ end
51
+
52
+ end
53
+
54
+ end
@@ -5,7 +5,7 @@ describe Alchemy::PageLayout do
5
5
  context "method get_layouts" do
6
6
 
7
7
  it "should generally return page_layouts, nothing else!" do
8
- Alchemy::PageLayout.get_layouts.should be_instance_of(Array)
8
+ Alchemy::PageLayout.read_layouts_file.should be_instance_of(Array)
9
9
  end
10
10
 
11
11
  end
@@ -19,7 +19,7 @@ describe Alchemy::PageLayout do
19
19
  File.open(layouts_file,'w') do |page_layouts|
20
20
  page_layouts.puts "- name: testlayout\n elements:"
21
21
  end
22
- Alchemy::PageLayout.get_layouts.first.values.should include("testlayout")
22
+ Alchemy::PageLayout.read_layouts_file.first.values.should include("testlayout")
23
23
  end
24
24
 
25
25
  after(:each) do
@@ -14,7 +14,7 @@ describe "The Routing", :type => :routing do
14
14
  :action => "download",
15
15
  :id => "32",
16
16
  :name => "Presseveranstaltung",
17
- :suffix => "pdf"
17
+ :format => "pdf"
18
18
  )
19
19
  end
20
20
 
@@ -52,4 +52,208 @@ describe "The Routing", :type => :routing do
52
52
 
53
53
  end
54
54
 
55
+ describe "nested url" do
56
+
57
+ context "one level deep nested" do
58
+
59
+ it "should route to pages show" do
60
+ {
61
+ :get => "/products/my-product"
62
+ }.should route_to(
63
+ :controller => "alchemy/pages",
64
+ :action => "show",
65
+ :level1 => "products",
66
+ :urlname => "my-product"
67
+ )
68
+ end
69
+
70
+ context "and language" do
71
+
72
+ it "should route to pages show" do
73
+ {
74
+ :get => "/de/products/my-product"
75
+ }.should route_to(
76
+ :controller => "alchemy/pages",
77
+ :action => "show",
78
+ :level1 => "products",
79
+ :urlname => "my-product",
80
+ :lang => "de"
81
+ )
82
+ end
83
+
84
+ end
85
+
86
+ end
87
+
88
+ context "two levels deep nested" do
89
+
90
+ it "should route to pages show" do
91
+ {
92
+ :get => "/catalog/products/my-product"
93
+ }.should route_to(
94
+ :controller => "alchemy/pages",
95
+ :action => "show",
96
+ :level1 => "catalog",
97
+ :level2 => "products",
98
+ :urlname => "my-product"
99
+ )
100
+ end
101
+
102
+ context "and language" do
103
+
104
+ it "should route to pages show" do
105
+ {
106
+ :get => "/de/catalog/products/my-product"
107
+ }.should route_to(
108
+ :controller => "alchemy/pages",
109
+ :action => "show",
110
+ :level1 => "catalog",
111
+ :level2 => "products",
112
+ :urlname => "my-product",
113
+ :lang => "de"
114
+ )
115
+ end
116
+
117
+ end
118
+
119
+ end
120
+
121
+ context "with a blog date url" do
122
+
123
+ it "should route to pages show" do
124
+ {
125
+ :get => "/2011/12/08/my-post"
126
+ }.should route_to(
127
+ :controller => "alchemy/pages",
128
+ :action => "show",
129
+ :level1 => "2011",
130
+ :level2 => "12",
131
+ :level3 => "08",
132
+ :urlname => "my-post"
133
+ )
134
+ end
135
+
136
+ context "and language" do
137
+
138
+ it "should route to pages show" do
139
+ {
140
+ :get => "/de/2011/12/08/my-post"
141
+ }.should route_to(
142
+ :controller => "alchemy/pages",
143
+ :action => "show",
144
+ :level1 => "2011",
145
+ :level2 => "12",
146
+ :level3 => "08",
147
+ :urlname => "my-post",
148
+ :lang => "de"
149
+ )
150
+ end
151
+
152
+ end
153
+
154
+ end
155
+
156
+ end
157
+
158
+ describe "for displaying pictures" do
159
+
160
+ it "should route to show action" do
161
+ {
162
+ :get => "/pictures/3/show/900x300/kitten.jpg"
163
+ }.should route_to(
164
+ :controller => "alchemy/pictures",
165
+ :action => "show",
166
+ :id => "3",
167
+ :size => "900x300",
168
+ :name => "kitten",
169
+ :format => "jpg"
170
+ )
171
+ end
172
+
173
+ it "should route to cropped show action" do
174
+ {
175
+ :get => "/pictures/3/show/900x300/crop/kitten.jpg"
176
+ }.should route_to(
177
+ :controller => "alchemy/pictures",
178
+ :action => "show",
179
+ :id => "3",
180
+ :size => "900x300",
181
+ :crop => "crop",
182
+ :name => "kitten",
183
+ :format => "jpg"
184
+ )
185
+ end
186
+
187
+ it "should route to cropped mask show action" do
188
+ get(
189
+ "/pictures/3/show/300x300/crop/200x50/100x100/kitten.jpg"
190
+ ).should route_to(
191
+ :controller => "alchemy/pictures",
192
+ :action => "show",
193
+ :id => "3",
194
+ :size => "300x300",
195
+ :crop => "crop",
196
+ :crop_from => "200x50",
197
+ :crop_size => "100x100",
198
+ :name => "kitten",
199
+ :format => "jpg"
200
+ )
201
+ end
202
+
203
+ it "should route to thumbnail action" do
204
+ get(
205
+ "/pictures/3/thumbnails/small/kitten.jpg"
206
+ ).should route_to(
207
+ :controller => "alchemy/pictures",
208
+ :action => "thumbnail",
209
+ :id => "3",
210
+ :size => "small",
211
+ :name => "kitten",
212
+ :format => "jpg"
213
+ )
214
+ end
215
+
216
+ it "should route to cropped thumbnail action" do
217
+ get(
218
+ "/pictures/3/thumbnails/small/crop/kitten.jpg"
219
+ ).should route_to(
220
+ :controller => "alchemy/pictures",
221
+ :action => "thumbnail",
222
+ :id => "3",
223
+ :crop => "crop",
224
+ :size => "small",
225
+ :name => "kitten",
226
+ :format => "jpg"
227
+ )
228
+ end
229
+
230
+ it "should route to cropped and masked thumbnail" do
231
+ get(
232
+ "/pictures/3/thumbnails/small/0x0/200x200/kitten.jpg"
233
+ ).should route_to(
234
+ :controller => "alchemy/pictures",
235
+ :action => "thumbnail",
236
+ :id => "3",
237
+ :crop_from => "0x0",
238
+ :crop_size => "200x200",
239
+ :size => "small",
240
+ :name => "kitten",
241
+ :format => "jpg"
242
+ )
243
+ end
244
+
245
+ it "should route to zoomed picture" do
246
+ get(
247
+ "/pictures/3/zoom/kitten.jpg"
248
+ ).should route_to(
249
+ :controller => "alchemy/pictures",
250
+ :action => "zoom",
251
+ :id => "3",
252
+ :name => "kitten",
253
+ :format => "jpg"
254
+ )
255
+ end
256
+
257
+ end
258
+
55
259
  end
@@ -1,43 +1,64 @@
1
- # Configure Rails Environment
2
- ENV["RAILS_ENV"] = "test"
1
+ begin
2
+ require 'spork'
3
+ rescue LoadError => e
4
+ end
5
+
6
+ def configure
7
+ # Configure Rails Environment
8
+ ENV["RAILS_ENV"] = "test"
3
9
 
4
- require File.expand_path("../dummy/config/environment.rb", __FILE__)
10
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
11
 
6
- require 'database_cleaner'
7
- DatabaseCleaner.strategy = :truncation
8
- DatabaseCleaner.clean
12
+ require 'database_cleaner'
13
+ DatabaseCleaner.strategy = :truncation
9
14
 
10
- # Seed the database
11
- Alchemy::Seeder.seed!
15
+ require 'authlogic/test_case'
16
+ include Authlogic::TestCase
12
17
 
13
- require 'authlogic/test_case'
14
- include Authlogic::TestCase
18
+ require "rails/test_help"
19
+ require "rspec/rails"
20
+ require 'factory_girl'
21
+ require 'factories.rb'
15
22
 
16
- require "rails/test_help"
17
- require "rspec/rails"
18
- require 'factory_girl'
19
- require 'factories.rb'
23
+ ActionMailer::Base.delivery_method = :test
24
+ ActionMailer::Base.perform_deliveries = true
25
+ ActionMailer::Base.default_url_options[:host] = "test.com"
20
26
 
21
- ActionMailer::Base.delivery_method = :test
22
- ActionMailer::Base.perform_deliveries = true
23
- ActionMailer::Base.default_url_options[:host] = "test.com"
27
+ Rails.backtrace_cleaner.remove_silencers!
24
28
 
25
- Rails.backtrace_cleaner.remove_silencers!
29
+ # Configure capybara for integration testing
30
+ require "capybara/rails"
31
+ require 'capybara-webkit'
32
+ Capybara.default_driver = :rack_test
33
+ Capybara.default_selector = :css
34
+ Capybara.javascript_driver = :webkit
26
35
 
27
- # Configure capybara for integration testing
28
- require "capybara/rails"
29
- require 'capybara-webkit'
30
- Capybara.default_driver = :rack_test
31
- Capybara.default_selector = :css
32
- Capybara.javascript_driver = :webkit
36
+ # Load support files
37
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
38
+
39
+ RSpec.configure do |config|
40
+ require 'rspec/expectations'
41
+ config.include RSpec::Matchers
42
+ config.include Alchemy::Engine.routes.url_helpers
43
+ config.mock_with :rspec
44
+ config.use_transactional_fixtures = true
45
+ end
46
+
47
+ end
33
48
 
34
- # Load support files
35
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
49
+ def seed
50
+ # This code will be run each time you run your specs.
51
+ DatabaseCleaner.clean
52
+
53
+ # Seed the database
54
+ Alchemy::Seeder.seed!
55
+
56
+ end
36
57
 
37
- RSpec.configure do |config|
38
- require 'rspec/expectations'
39
- config.include RSpec::Matchers
40
- config.include Alchemy::Engine.routes.url_helpers
41
- config.mock_with :rspec
42
- config.use_transactional_fixtures = true
58
+ if defined?(Spork)
59
+ Spork.prefork { configure }
60
+ Spork.each_run { seed }
61
+ else
62
+ configure
63
+ seed
43
64
  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.1.beta6
4
+ version: 2.1.rc2
5
5
  prerelease: 4
6
6
  platform: ruby
7
7
  authors:
@@ -11,11 +11,11 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2011-12-09 00:00:00.000000000 Z
14
+ date: 2012-01-09 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
18
- requirement: &70121821390860 !ruby/object:Gem::Requirement
18
+ requirement: &70147981731880 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ~>
@@ -23,10 +23,10 @@ dependencies:
23
23
  version: '3.1'
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *70121821390860
26
+ version_requirements: *70147981731880
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: authlogic
29
- requirement: &70121821401520 !ruby/object:Gem::Requirement
29
+ requirement: &70147981731420 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ! '>='
@@ -34,10 +34,10 @@ dependencies:
34
34
  version: '0'
35
35
  type: :runtime
36
36
  prerelease: false
37
- version_requirements: *70121821401520
37
+ version_requirements: *70147981731420
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: awesome_nested_set
40
- requirement: &70121821409460 !ruby/object:Gem::Requirement
40
+ requirement: &70147981730800 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ~>
@@ -45,10 +45,10 @@ dependencies:
45
45
  version: '2.0'
46
46
  type: :runtime
47
47
  prerelease: false
48
- version_requirements: *70121821409460
48
+ version_requirements: *70147981730800
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: declarative_authorization
51
- requirement: &70121821407360 !ruby/object:Gem::Requirement
51
+ requirement: &70147981730220 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ~>
@@ -56,10 +56,10 @@ dependencies:
56
56
  version: 0.5.4
57
57
  type: :runtime
58
58
  prerelease: false
59
- version_requirements: *70121821407360
59
+ version_requirements: *70147981730220
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: tvdeyen-fleximage
62
- requirement: &70121821414800 !ruby/object:Gem::Requirement
62
+ requirement: &70147981729700 !ruby/object:Gem::Requirement
63
63
  none: false
64
64
  requirements:
65
65
  - - ~>
@@ -67,10 +67,10 @@ dependencies:
67
67
  version: 1.0.9
68
68
  type: :runtime
69
69
  prerelease: false
70
- version_requirements: *70121821414800
70
+ version_requirements: *70147981729700
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: will_paginate
73
- requirement: &70121817605760 !ruby/object:Gem::Requirement
73
+ requirement: &70147981729220 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
76
  - - ~>
@@ -78,10 +78,10 @@ dependencies:
78
78
  version: '3.0'
79
79
  type: :runtime
80
80
  prerelease: false
81
- version_requirements: *70121817605760
81
+ version_requirements: *70147981729220
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: acts_as_ferret
84
- requirement: &70121817604900 !ruby/object:Gem::Requirement
84
+ requirement: &70147981728720 !ruby/object:Gem::Requirement
85
85
  none: false
86
86
  requirements:
87
87
  - - ~>
@@ -89,10 +89,10 @@ dependencies:
89
89
  version: '0.5'
90
90
  type: :runtime
91
91
  prerelease: false
92
- version_requirements: *70121817604900
92
+ version_requirements: *70147981728720
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: acts_as_list
95
- requirement: &70121817603820 !ruby/object:Gem::Requirement
95
+ requirement: &70147981728240 !ruby/object:Gem::Requirement
96
96
  none: false
97
97
  requirements:
98
98
  - - ~>
@@ -100,10 +100,10 @@ dependencies:
100
100
  version: '0.1'
101
101
  type: :runtime
102
102
  prerelease: false
103
- version_requirements: *70121817603820
103
+ version_requirements: *70147981728240
104
104
  - !ruby/object:Gem::Dependency
105
105
  name: magiclabs-userstamp
106
- requirement: &70121817601740 !ruby/object:Gem::Requirement
106
+ requirement: &70147981727760 !ruby/object:Gem::Requirement
107
107
  none: false
108
108
  requirements:
109
109
  - - ~>
@@ -111,10 +111,10 @@ dependencies:
111
111
  version: 2.0.2
112
112
  type: :runtime
113
113
  prerelease: false
114
- version_requirements: *70121817601740
114
+ version_requirements: *70147981727760
115
115
  - !ruby/object:Gem::Dependency
116
116
  name: dynamic_form
117
- requirement: &70121817600740 !ruby/object:Gem::Requirement
117
+ requirement: &70147982232860 !ruby/object:Gem::Requirement
118
118
  none: false
119
119
  requirements:
120
120
  - - ~>
@@ -122,10 +122,10 @@ dependencies:
122
122
  version: '1.1'
123
123
  type: :runtime
124
124
  prerelease: false
125
- version_requirements: *70121817600740
125
+ version_requirements: *70147982232860
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: jquery-rails
128
- requirement: &70121817599680 !ruby/object:Gem::Requirement
128
+ requirement: &70147982232380 !ruby/object:Gem::Requirement
129
129
  none: false
130
130
  requirements:
131
131
  - - ~>
@@ -133,10 +133,10 @@ dependencies:
133
133
  version: 1.0.16
134
134
  type: :runtime
135
135
  prerelease: false
136
- version_requirements: *70121817599680
136
+ version_requirements: *70147982232380
137
137
  - !ruby/object:Gem::Dependency
138
138
  name: attachment_magic
139
- requirement: &70121817897460 !ruby/object:Gem::Requirement
139
+ requirement: &70147982231900 !ruby/object:Gem::Requirement
140
140
  none: false
141
141
  requirements:
142
142
  - - ~>
@@ -144,21 +144,21 @@ dependencies:
144
144
  version: 0.2.1
145
145
  type: :runtime
146
146
  prerelease: false
147
- version_requirements: *70121817897460
147
+ version_requirements: *70147982231900
148
148
  - !ruby/object:Gem::Dependency
149
149
  name: rspec-rails
150
- requirement: &70121817896720 !ruby/object:Gem::Requirement
150
+ requirement: &70147982231420 !ruby/object:Gem::Requirement
151
151
  none: false
152
152
  requirements:
153
153
  - - ~>
154
154
  - !ruby/object:Gem::Version
155
- version: '2.7'
155
+ version: '2.8'
156
156
  type: :development
157
157
  prerelease: false
158
- version_requirements: *70121817896720
158
+ version_requirements: *70147982231420
159
159
  - !ruby/object:Gem::Dependency
160
160
  name: sqlite3
161
- requirement: &70121817895920 !ruby/object:Gem::Requirement
161
+ requirement: &70147982231040 !ruby/object:Gem::Requirement
162
162
  none: false
163
163
  requirements:
164
164
  - - ! '>='
@@ -166,18 +166,7 @@ dependencies:
166
166
  version: '0'
167
167
  type: :development
168
168
  prerelease: false
169
- version_requirements: *70121817895920
170
- - !ruby/object:Gem::Dependency
171
- name: ruby-debug19
172
- requirement: &70121817894440 !ruby/object:Gem::Requirement
173
- none: false
174
- requirements:
175
- - - ! '>='
176
- - !ruby/object:Gem::Version
177
- version: '0'
178
- type: :development
179
- prerelease: false
180
- version_requirements: *70121817894440
169
+ version_requirements: *70147982231040
181
170
  description: Alchemy is an awesome Rails CMS with an extremely flexible content storing
182
171
  architecture.
183
172
  email:
@@ -192,6 +181,7 @@ files:
192
181
  - .travis.yml
193
182
  - .yardopts
194
183
  - Gemfile
184
+ - Guardfile
195
185
  - LICENSE
196
186
  - README.md
197
187
  - Rakefile
@@ -216,18 +206,23 @@ files:
216
206
  - app/assets/javascripts/alchemy/alchemy.base.js
217
207
  - app/assets/javascripts/alchemy/alchemy.buttons.js
218
208
  - app/assets/javascripts/alchemy/alchemy.dirty.js
219
- - app/assets/javascripts/alchemy/alchemy.dragndrop.js.erb
209
+ - app/assets/javascripts/alchemy/alchemy.dragndrop.js
220
210
  - app/assets/javascripts/alchemy/alchemy.element_editor_selector.js
211
+ - app/assets/javascripts/alchemy/alchemy.elements_window.js
221
212
  - app/assets/javascripts/alchemy/alchemy.growler.js
222
213
  - app/assets/javascripts/alchemy/alchemy.image_cropper.js
214
+ - app/assets/javascripts/alchemy/alchemy.jquery_loader.js
223
215
  - app/assets/javascripts/alchemy/alchemy.js
224
216
  - app/assets/javascripts/alchemy/alchemy.js_extensions.js
225
217
  - app/assets/javascripts/alchemy/alchemy.link_overlay.js
218
+ - app/assets/javascripts/alchemy/alchemy.menubar.js
226
219
  - app/assets/javascripts/alchemy/alchemy.page_sorter.js
227
220
  - app/assets/javascripts/alchemy/alchemy.preview.js
221
+ - app/assets/javascripts/alchemy/alchemy.preview_window.js
228
222
  - app/assets/javascripts/alchemy/alchemy.routes.js.erb
229
223
  - app/assets/javascripts/alchemy/alchemy.swf_upload.js
230
224
  - app/assets/javascripts/alchemy/alchemy.windows.js
225
+ - app/assets/javascripts/alchemy/menubar.js
231
226
  - app/assets/javascripts/alchemy/preview.js
232
227
  - app/assets/javascripts/tiny_mce/plugins/alchemy_link/editor_plugin.js
233
228
  - app/assets/javascripts/tiny_mce/plugins/alchemy_link/langs/de.js
@@ -241,6 +236,7 @@ files:
241
236
  - app/assets/stylesheets/alchemy/jquery-ui.alchemy.css.scss
242
237
  - app/assets/stylesheets/alchemy/jquery.Jcrop.css.scss
243
238
  - app/assets/stylesheets/alchemy/jquery.sb.css.scss
239
+ - app/assets/stylesheets/alchemy/menubar.css.scss
244
240
  - app/assets/stylesheets/alchemy/print.css
245
241
  - app/assets/stylesheets/alchemy/standard_set.css
246
242
  - app/assets/stylesheets/alchemy/tinymce_content.css.scss
@@ -431,6 +427,8 @@ files:
431
427
  - app/views/alchemy/elements/_claim_view.html.erb
432
428
  - app/views/alchemy/elements/_contactform_editor.html.erb
433
429
  - app/views/alchemy/elements/_contactform_view.html.erb
430
+ - app/views/alchemy/elements/_download_editor.html.erb
431
+ - app/views/alchemy/elements/_download_view.html.erb
434
432
  - app/views/alchemy/elements/_editor_not_found.html.erb
435
433
  - app/views/alchemy/elements/_footnote_editor.html.erb
436
434
  - app/views/alchemy/elements/_footnote_view.html.erb
@@ -559,20 +557,21 @@ files:
559
557
  - db/migrate/20110707190728_add_render_size_to_essence_pictures.rb
560
558
  - db/migrate/20110711142057_change_open_link_in_new_window_to_link_target.rb
561
559
  - db/migrate/20110919110451_add_default_role_to_users.rb
562
- - db/migrate/20111116125112_namespace_models.rb
560
+ - db/migrate/20111116125112_namespace_alchemy_models.rb
563
561
  - lib/alchemy/auth_engine.rb
564
562
  - lib/alchemy/capistrano.rb
565
563
  - lib/alchemy/config.rb
566
564
  - lib/alchemy/engine.rb
567
565
  - lib/alchemy/essence.rb
568
- - lib/alchemy/file_utilz.rb
569
566
  - lib/alchemy/i18n.rb
570
567
  - lib/alchemy/modules.rb
568
+ - lib/alchemy/mount_point.rb
571
569
  - lib/alchemy/page_layout.rb
572
570
  - lib/alchemy/remote_pagination_link_renderer.rb
573
571
  - lib/alchemy/scoped_pagination_link_renderer.rb
574
572
  - lib/alchemy/seeder.rb
575
573
  - lib/alchemy/tinymce.rb
574
+ - lib/alchemy/upgrader.rb
576
575
  - lib/alchemy/version.rb
577
576
  - lib/alchemy_cms.rb
578
577
  - lib/extensions/action_view.rb
@@ -598,8 +597,10 @@ files:
598
597
  - lib/rails/generators/alchemy/scaffold/files/pages.html.erb
599
598
  - lib/rails/generators/alchemy/scaffold/scaffold_generator.rb
600
599
  - lib/rails/templates/alchemy.rb
600
+ - lib/tasks/ferret.rake
601
601
  - lib/tasks/fleximage.rake
602
602
  - lib/tasks/install.rake
603
+ - lib/tasks/routes.rake
603
604
  - lib/tasks/upgrade.rake
604
605
  - script/rails
605
606
  - spec/alchemy_spec.rb
@@ -651,6 +652,7 @@ files:
651
652
  - spec/helpers/elements_helper_spec.rb
652
653
  - spec/helpers/essences_helper_spec.rb
653
654
  - spec/helpers/pages_helper_spec.rb
655
+ - spec/helpers/url_helpers_spec.rb
654
656
  - spec/integration/admin/pages_controller_spec.rb
655
657
  - spec/integration/navigation_spec.rb
656
658
  - spec/integration/pages_controller_spec.rb
@@ -660,6 +662,7 @@ files:
660
662
  - spec/models/essence_richtext_spec.rb
661
663
  - spec/models/language_spec.rb
662
664
  - spec/models/page_spec.rb
665
+ - spec/models/picture_spec.rb
663
666
  - spec/models/user_spec.rb
664
667
  - spec/page_layout_spec.rb
665
668
  - spec/routing_spec.rb
@@ -788,7 +791,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
788
791
  version: '0'
789
792
  segments:
790
793
  - 0
791
- hash: 1117988886947097574
794
+ hash: 2407653424282561050
792
795
  required_rubygems_version: !ruby/object:Gem::Requirement
793
796
  none: false
794
797
  requirements:
@@ -852,6 +855,7 @@ test_files:
852
855
  - spec/helpers/elements_helper_spec.rb
853
856
  - spec/helpers/essences_helper_spec.rb
854
857
  - spec/helpers/pages_helper_spec.rb
858
+ - spec/helpers/url_helpers_spec.rb
855
859
  - spec/integration/admin/pages_controller_spec.rb
856
860
  - spec/integration/navigation_spec.rb
857
861
  - spec/integration/pages_controller_spec.rb
@@ -861,6 +865,7 @@ test_files:
861
865
  - spec/models/essence_richtext_spec.rb
862
866
  - spec/models/language_spec.rb
863
867
  - spec/models/page_spec.rb
868
+ - spec/models/picture_spec.rb
864
869
  - spec/models/user_spec.rb
865
870
  - spec/page_layout_spec.rb
866
871
  - spec/routing_spec.rb