alchemy_cms 2.1.rc4 → 2.1.rc5
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 -0
- data/Gemfile +7 -9
- data/app/helpers/alchemy/essences_helper.rb +107 -65
- data/app/views/alchemy/essences/_essence_picture_view.html.erb +3 -3
- data/app/views/alchemy/pictures/show.gif.flexi +4 -4
- data/app/views/alchemy/pictures/show.jpg.flexi +4 -4
- data/app/views/alchemy/pictures/show.png.flexi +4 -4
- data/config/routes.rb +1 -1
- data/lib/alchemy/capistrano.rb +17 -17
- data/lib/alchemy/version.rb +1 -1
- data/lib/rails/generators/alchemy/deploy_script/templates/deploy.rb.tt +1 -1
- data/lib/rails/generators/alchemy/elements/templates/editor.html.erb +1 -1
- metadata +31 -31
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
|
@@ -3,7 +3,9 @@ source "http://rubygems.org"
|
|
|
3
3
|
gemspec
|
|
4
4
|
|
|
5
5
|
group :test do
|
|
6
|
-
gem '
|
|
6
|
+
gem 'rspec-rails'
|
|
7
|
+
gem 'sqlite3'
|
|
8
|
+
gem 'factory_girl_rails', '1.4.0'
|
|
7
9
|
gem "capybara"
|
|
8
10
|
gem 'capybara-webkit'
|
|
9
11
|
gem "launchy"
|
|
@@ -17,12 +19,8 @@ group :assets do
|
|
|
17
19
|
end
|
|
18
20
|
|
|
19
21
|
group :development do
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
gem 'ruby-debug', :platform => :ruby_18
|
|
25
|
-
gem 'guard-spork'
|
|
26
|
-
gem 'yard'
|
|
27
|
-
end
|
|
22
|
+
gem 'ruby-debug19', :require => 'ruby-debug', :platform => :ruby_19
|
|
23
|
+
gem 'ruby-debug', :platform => :ruby_18
|
|
24
|
+
gem 'guard-spork'
|
|
25
|
+
gem 'yard'
|
|
28
26
|
end
|
|
@@ -1,8 +1,43 @@
|
|
|
1
1
|
module Alchemy
|
|
2
|
+
|
|
3
|
+
# This helper contains methods to render the +essence+ from an +Element+ +Content+.
|
|
4
|
+
#
|
|
5
|
+
# Essences have two kinds of partials. An +editor+ and a +view+ partial.
|
|
6
|
+
#
|
|
7
|
+
# They both resist in +'app/views/alchemy/essences'+
|
|
8
|
+
#
|
|
9
|
+
# The partials are suffixed with the type of part.
|
|
10
|
+
#
|
|
11
|
+
# == Example:
|
|
12
|
+
#
|
|
13
|
+
# For an EssenceText
|
|
14
|
+
#
|
|
15
|
+
# The view partial is:
|
|
16
|
+
#
|
|
17
|
+
# +_essence_text_view.html.erb+
|
|
18
|
+
#
|
|
19
|
+
# The editor partial is:
|
|
20
|
+
#
|
|
21
|
+
# +_essence_text_editor.html.erb+
|
|
22
|
+
#
|
|
23
|
+
# == Usage:
|
|
24
|
+
#
|
|
25
|
+
# For front end web development you should mostly use the +render_essence_view_by_name+ helper.
|
|
26
|
+
#
|
|
27
|
+
# And the +render_essence_editor_by_name+ helper for Alchemy backend views.
|
|
28
|
+
#
|
|
2
29
|
module EssencesHelper
|
|
3
30
|
|
|
4
|
-
# Renders the
|
|
5
|
-
#
|
|
31
|
+
# Renders the +Essence+ view partial from +Element+ by name.
|
|
32
|
+
#
|
|
33
|
+
# Pass the name of the +Content+ from +Element+ as second argument.
|
|
34
|
+
#
|
|
35
|
+
# == Example:
|
|
36
|
+
#
|
|
37
|
+
# This renders the +Content+ named "intro" from element.
|
|
38
|
+
#
|
|
39
|
+
# <%= render_essence_view_by_name(element, "intro") %>
|
|
40
|
+
#
|
|
6
41
|
def render_essence_view_by_name(element, name, options = {}, html_options = {})
|
|
7
42
|
if element.blank?
|
|
8
43
|
warning('Element is nil')
|
|
@@ -12,66 +47,18 @@ module Alchemy
|
|
|
12
47
|
render_essence(content, :view, {:for_view => options}, html_options)
|
|
13
48
|
end
|
|
14
49
|
|
|
15
|
-
# Renders the
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
# :
|
|
22
|
-
#
|
|
23
|
-
#
|
|
24
|
-
#
|
|
25
|
-
#
|
|
26
|
-
#
|
|
27
|
-
# :last_image_deletable => false Pass true to enable that the last image of an imagecollection (e.g. image gallery) is deletable.
|
|
28
|
-
def render_essence(content, part = :view, options = {}, html_options = {})
|
|
29
|
-
if content.nil?
|
|
30
|
-
return part == :view ? "" : warning('Content is nil', t("content_not_found"))
|
|
31
|
-
elsif content.essence.nil?
|
|
32
|
-
return part == :view ? "" : warning('Essence is nil', t("content_essence_not_found"))
|
|
33
|
-
end
|
|
34
|
-
defaults = {
|
|
35
|
-
:for_editor => {
|
|
36
|
-
:as => 'text_field',
|
|
37
|
-
:css_class => 'long',
|
|
38
|
-
:render_format => "html"
|
|
39
|
-
},
|
|
40
|
-
:for_view => {
|
|
41
|
-
:image_size => "120x90",
|
|
42
|
-
:css_class => "",
|
|
43
|
-
:date_format => "%d. %m. %Y, %H:%Mh",
|
|
44
|
-
:caption => true,
|
|
45
|
-
:blank_value => "",
|
|
46
|
-
:render_format => "html"
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
if options["for_#{part}".to_sym].nil?
|
|
50
|
-
options_for_partial = defaults["for_#{part}".to_sym]
|
|
51
|
-
else
|
|
52
|
-
options_for_partial = defaults.fetch("for_#{part}".to_sym).merge(options["for_#{part}".to_sym])
|
|
53
|
-
end
|
|
54
|
-
options = options.merge(defaults)
|
|
55
|
-
render(
|
|
56
|
-
:partial => "alchemy/essences/#{content.essence_partial_name}_#{part.to_s}.#{options_for_partial[:render_format]}.erb",
|
|
57
|
-
:locals => {
|
|
58
|
-
:content => content,
|
|
59
|
-
:options => options_for_partial,
|
|
60
|
-
:html_options => html_options
|
|
61
|
-
}
|
|
62
|
-
)
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
# Renders the Content view partial from the given Content.
|
|
66
|
-
# For options see -> render_essence
|
|
67
|
-
def render_essence_view(content, options = {}, html_options = {})
|
|
68
|
-
render_essence(content, :view, {:for_view => options}, html_options)
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
# Renders the Content view partial from the given Element for the essence_type (e.g. EssenceRichtext).
|
|
72
|
-
# For multiple contents of same kind inside one element just pass a position so that will be rendered.
|
|
73
|
-
# Otherwise the first content found for this type will be rendered.
|
|
74
|
-
# For options see -> render_essence
|
|
50
|
+
# Renders the +Essence+ view partial from given +Element+ and +Essence+ type.
|
|
51
|
+
#
|
|
52
|
+
# Pass the type of +Essence+ you want to render from +element+ as second argument.
|
|
53
|
+
#
|
|
54
|
+
# By default the first essence gets rendered. You may pass a different position value as third argument.
|
|
55
|
+
#
|
|
56
|
+
# == Example:
|
|
57
|
+
#
|
|
58
|
+
# This renders the first +Content+ with type of +EssencePicture+ from element.
|
|
59
|
+
#
|
|
60
|
+
# <%= render_essence_view_by_type(element, "EssencePicture", 1, {:image_size => "120x80", :crop => true}) %>
|
|
61
|
+
#
|
|
75
62
|
def render_essence_view_by_type(element, type, position = 1, options = {}, html_options = {})
|
|
76
63
|
if element.blank?
|
|
77
64
|
warning('Element is nil')
|
|
@@ -82,17 +69,72 @@ module Alchemy
|
|
|
82
69
|
else
|
|
83
70
|
content = element.contents.find_by_essence_type_and_position(Alchemy::Content.normalize_essence_type(type), position)
|
|
84
71
|
end
|
|
85
|
-
|
|
72
|
+
render_essence_view(content, options, html_options)
|
|
86
73
|
end
|
|
87
74
|
|
|
88
|
-
# Renders the
|
|
89
|
-
#
|
|
75
|
+
# Renders the +Essence+ view partial from +Element+ by position.
|
|
76
|
+
#
|
|
77
|
+
# Pass the position of the +Content+ inside the Element as second argument.
|
|
78
|
+
#
|
|
79
|
+
# == Example:
|
|
80
|
+
#
|
|
81
|
+
# This renders the second +Content+ from element.
|
|
82
|
+
#
|
|
83
|
+
# <%= render_essence_view_by_type(element, 2) %>
|
|
84
|
+
#
|
|
90
85
|
def render_essence_view_by_position(element, position, options = {}, html_options = {})
|
|
91
86
|
if element.blank?
|
|
92
87
|
warning('Element is nil')
|
|
93
88
|
return ""
|
|
94
89
|
end
|
|
95
90
|
content = element.contents.find_by_position(position)
|
|
91
|
+
render_essence_view(content, options, html_options)
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
# Renders the +Esssence+ partial for given +Content+.
|
|
95
|
+
#
|
|
96
|
+
# The helper renders the view partial as default.
|
|
97
|
+
#
|
|
98
|
+
# Pass +:editor+ as second argument to render the editor partial
|
|
99
|
+
#
|
|
100
|
+
# == Options:
|
|
101
|
+
#
|
|
102
|
+
# You can pass a options Hash to each type of essence partial as third argument.
|
|
103
|
+
#
|
|
104
|
+
# This Hash is available as +options+ local variable.
|
|
105
|
+
#
|
|
106
|
+
# :for_view => {}
|
|
107
|
+
# :for_editor => {}
|
|
108
|
+
#
|
|
109
|
+
def render_essence(content, part = :view, options = {}, html_options = {})
|
|
110
|
+
if content.nil?
|
|
111
|
+
return part == :view ? "" : warning('Content is nil', t("content_not_found"))
|
|
112
|
+
elsif content.essence.nil?
|
|
113
|
+
return part == :view ? "" : warning('Essence is nil', t("content_essence_not_found"))
|
|
114
|
+
end
|
|
115
|
+
render(
|
|
116
|
+
:partial => "alchemy/essences/#{content.essence_partial_name}_#{part.to_s}",
|
|
117
|
+
:locals => {
|
|
118
|
+
:content => content,
|
|
119
|
+
:options => options["for_#{part}".to_sym],
|
|
120
|
+
:html_options => html_options
|
|
121
|
+
}
|
|
122
|
+
)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# Renders the +Esssence+ view partial for given +Content+.
|
|
126
|
+
#
|
|
127
|
+
# == Options:
|
|
128
|
+
#
|
|
129
|
+
# :image_size => "111x93" # Used by EssencePicture to render the image via RMagick to that size. [Default nil]
|
|
130
|
+
# :date_format => "Am %d. %m. %Y, um %H:%Mh" # Espacially for EssenceDate. See Rubys Date.strftime for date formatting options. [Default nil]
|
|
131
|
+
# :caption => true # Pass Boolean to enable/disable the EssencePicture.caption. [Default true]
|
|
132
|
+
# :blank_value => "Not found" # Pass a String that gets rendered if the content.essence is blank. [Default nil]
|
|
133
|
+
#
|
|
134
|
+
def render_essence_view(content, options = {}, html_options = {})
|
|
135
|
+
defaults = {
|
|
136
|
+
:caption => true
|
|
137
|
+
}
|
|
96
138
|
render_essence(content, :view, {:for_view => options}, html_options)
|
|
97
139
|
end
|
|
98
140
|
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
<%- unless content.essence.picture.nil? -%>
|
|
2
|
-
<%- image_size = options[:image_size] -%>
|
|
3
2
|
<%- img_tag = image_tag(
|
|
4
3
|
alchemy.show_picture_path(
|
|
5
4
|
:id => content.essence.picture.id,
|
|
6
5
|
:name => content.essence.picture.urlname,
|
|
7
|
-
:size => image_size,
|
|
6
|
+
:size => options[:image_size],
|
|
8
7
|
:crop => options[:crop] ? 'crop' : nil,
|
|
9
8
|
:crop_from => options[:crop] && !content.essence.crop_from.blank? ? content.essence.crop_from : nil,
|
|
10
9
|
:crop_size => options[:crop] && !content.essence.crop_size.blank? ? content.essence.crop_size : nil,
|
|
@@ -16,7 +15,8 @@
|
|
|
16
15
|
{
|
|
17
16
|
:alt => (content.essence.alt_tag.blank? ? nil : content.essence.alt_tag),
|
|
18
17
|
:title => (content.essence.title.blank? ? nil : content.essence.title),
|
|
19
|
-
:id => dom_id(content.essence.picture)
|
|
18
|
+
:id => dom_id(content.essence.picture),
|
|
19
|
+
:style => (options[:crop] && !options[:image_size].blank?) || (!options[:crop] && options[:image_size].blank?) ? "width: #{options[:image_size].blank? ? content.essence.picture.image_width : options[:image_size].split('x')[0]}px; height: #{options[:image_size].blank? ? content.essence.picture.image_height : options[:image_size].split('x')[1]}px" : nil
|
|
20
20
|
}.merge(html_options)
|
|
21
21
|
) -%>
|
|
22
22
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
@picture.operate do |image|
|
|
2
2
|
|
|
3
|
-
if !@crop_from.blank? && !@crop_size.blank?
|
|
3
|
+
if !@crop_from.blank? && !@crop_size.blank? && !@size.blank?
|
|
4
4
|
image.crop(
|
|
5
5
|
:from => @crop_from,
|
|
6
6
|
:size => @crop_size
|
|
7
7
|
)
|
|
8
|
-
image.resize(@size, :upsample => @upsample)
|
|
9
|
-
|
|
10
|
-
image.resize(@size, :upsample => @upsample, :crop => @crop, :padding => @padding)
|
|
8
|
+
image.resize(@size, :upsample => @upsample)
|
|
9
|
+
elsif !@size.blank?
|
|
10
|
+
image.resize(@size, :upsample => @upsample, :crop => @crop, :padding => @padding)
|
|
11
11
|
end
|
|
12
12
|
image.image_overlay(@overlay[:file], :alignment => @overlay[:alignment]) unless @overlay.nil?
|
|
13
13
|
unless @options.blank?
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
@picture.operate do |image|
|
|
2
2
|
|
|
3
|
-
if !@crop_from.blank? && !@crop_size.blank?
|
|
3
|
+
if !@crop_from.blank? && !@crop_size.blank? && !@size.blank?
|
|
4
4
|
image.crop(
|
|
5
5
|
:from => @crop_from,
|
|
6
6
|
:size => @crop_size
|
|
7
7
|
)
|
|
8
|
-
image.resize(@size, :upsample => @upsample)
|
|
9
|
-
|
|
10
|
-
image.resize(@size, :upsample => @upsample, :crop => @crop, :padding => @padding)
|
|
8
|
+
image.resize(@size, :upsample => @upsample)
|
|
9
|
+
elsif !@size.blank?
|
|
10
|
+
image.resize(@size, :upsample => @upsample, :crop => @crop, :padding => @padding)
|
|
11
11
|
end
|
|
12
12
|
image.image_overlay(@overlay[:file], :alignment => @overlay[:alignment]) unless @overlay.nil?
|
|
13
13
|
unless @options.blank?
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
@picture.operate do |image|
|
|
2
2
|
|
|
3
|
-
if !@crop_from.blank? && !@crop_size.blank?
|
|
3
|
+
if !@crop_from.blank? && !@crop_size.blank? && !@size.blank?
|
|
4
4
|
image.crop(
|
|
5
5
|
:from => @crop_from,
|
|
6
6
|
:size => @crop_size
|
|
7
7
|
)
|
|
8
|
-
image.resize(@size, :upsample => @upsample)
|
|
9
|
-
|
|
10
|
-
image.resize(@size, :upsample => @upsample, :crop => @crop, :padding => @padding)
|
|
8
|
+
image.resize(@size, :upsample => @upsample)
|
|
9
|
+
elsif !@size.blank?
|
|
10
|
+
image.resize(@size, :upsample => @upsample, :crop => @crop, :padding => @padding)
|
|
11
11
|
end
|
|
12
12
|
image.image_overlay(@overlay[:file], :alignment => @overlay[:alignment]) unless @overlay.nil?
|
|
13
13
|
unless @options.blank?
|
data/config/routes.rb
CHANGED
|
@@ -26,7 +26,7 @@ Alchemy::Engine.routes.draw do
|
|
|
26
26
|
match '/attachment/:id/show' => 'attachments#show',
|
|
27
27
|
:as => :show_attachment
|
|
28
28
|
|
|
29
|
-
match "/pictures/:id/show/:size(/:crop)(/:crop_from/:crop_size)/:name.:format" => 'pictures#show',
|
|
29
|
+
match "/pictures/:id/show(/:size)(/:crop)(/:crop_from/:crop_size)/:name.:format" => 'pictures#show',
|
|
30
30
|
:as => :show_picture, :defaults => { :format => Alchemy::Config.get(:image_output_format) }
|
|
31
31
|
match '/pictures/:id/zoom/:name.:format' => 'pictures#zoom',
|
|
32
32
|
:as => :zoom_picture, :defaults => { :format => Alchemy::Config.get(:image_store_format) }
|
data/lib/alchemy/capistrano.rb
CHANGED
|
@@ -46,17 +46,17 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
|
46
46
|
desc "Creates the database.yml file"
|
|
47
47
|
task :create do
|
|
48
48
|
db_config = ERB.new <<-EOF
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
49
|
+
production:
|
|
50
|
+
adapter: mysql2
|
|
51
|
+
encoding: utf8
|
|
52
|
+
reconnect: false
|
|
53
|
+
pool: 5
|
|
54
|
+
database: #{ Capistrano::CLI.ui.ask("Database name: ") }
|
|
55
|
+
username: #{ Capistrano::CLI.ui.ask("Database username: ") }
|
|
56
|
+
password: #{ Capistrano::CLI.ui.ask("Database password: ") }
|
|
57
|
+
socket: #{ Capistrano::CLI.ui.ask("Database socket: ") }
|
|
58
|
+
host: #{ Capistrano::CLI.ui.ask("Database host: ") }
|
|
59
|
+
EOF
|
|
60
60
|
run "mkdir -p #{shared_path}/config"
|
|
61
61
|
put db_config.result, "#{shared_path}/config/database.yml"
|
|
62
62
|
end
|
|
@@ -68,16 +68,16 @@ Capistrano::Configuration.instance(:must_exist).load do
|
|
|
68
68
|
|
|
69
69
|
end
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
namespace :db do
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
desc "Seeds the database with essential data."
|
|
74
|
+
task :seed, :roles => :app do
|
|
75
|
+
run "cd #{current_path} && RAILS_ENV=#{fetch(:rails_env, 'production')} #{rake} alchemy:db:seed"
|
|
76
|
+
end
|
|
74
77
|
|
|
75
|
-
desc "Seeds the database with essential data."
|
|
76
|
-
task :seed, :roles => :app do
|
|
77
|
-
run "cd #{current_path} && RAILS_ENV=#{fetch(:rails_env, 'production')} #{rake} alchemy:db:seed"
|
|
78
78
|
end
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
end
|
|
81
81
|
|
|
82
82
|
namespace :ferret do
|
|
83
83
|
|
data/lib/alchemy/version.rb
CHANGED
|
@@ -39,7 +39,7 @@ before "deploy:restart", "deploy:migrate"
|
|
|
39
39
|
|
|
40
40
|
<%- if @database_type == "mysql" -%>
|
|
41
41
|
after "deploy:setup", "alchemy:database_yml:create"
|
|
42
|
-
after "deploy:symlink", "alchemy:database_yml:symlink"
|
|
42
|
+
after "deploy:assets:symlink", "alchemy:database_yml:symlink"
|
|
43
43
|
<%- end -%>
|
|
44
44
|
after "deploy", "deploy:cleanup"
|
|
45
45
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<%- unless @contents.blank? -%>
|
|
2
2
|
<%- @contents.each do |content| -%>
|
|
3
|
-
<%- unless content["type"] == "Alchemy::EssencePicture" -%>
|
|
3
|
+
<%- unless content["type"] == "Alchemy::EssencePicture" || content["type"] == "EssencePicture" -%>
|
|
4
4
|
<%%= render_essence_editor_by_name(element, '<%= content["name"] %>') %>
|
|
5
5
|
<%- else -%>
|
|
6
6
|
<%%= render_picture_editor(element) %>
|
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.
|
|
4
|
+
version: 2.1.rc5
|
|
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: 2012-01-
|
|
14
|
+
date: 2012-01-20 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: rails
|
|
18
|
-
requirement: &
|
|
18
|
+
requirement: &70208029023740 !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: *
|
|
26
|
+
version_requirements: *70208029023740
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: authlogic
|
|
29
|
-
requirement: &
|
|
29
|
+
requirement: &70208029023320 !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: *
|
|
37
|
+
version_requirements: *70208029023320
|
|
38
38
|
- !ruby/object:Gem::Dependency
|
|
39
39
|
name: awesome_nested_set
|
|
40
|
-
requirement: &
|
|
40
|
+
requirement: &70208029022760 !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: *
|
|
48
|
+
version_requirements: *70208029022760
|
|
49
49
|
- !ruby/object:Gem::Dependency
|
|
50
50
|
name: declarative_authorization
|
|
51
|
-
requirement: &
|
|
51
|
+
requirement: &70208029022240 !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: *
|
|
59
|
+
version_requirements: *70208029022240
|
|
60
60
|
- !ruby/object:Gem::Dependency
|
|
61
61
|
name: tvdeyen-fleximage
|
|
62
|
-
requirement: &
|
|
62
|
+
requirement: &70208029021740 !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: *
|
|
70
|
+
version_requirements: *70208029021740
|
|
71
71
|
- !ruby/object:Gem::Dependency
|
|
72
72
|
name: will_paginate
|
|
73
|
-
requirement: &
|
|
73
|
+
requirement: &70208029021260 !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: *
|
|
81
|
+
version_requirements: *70208029021260
|
|
82
82
|
- !ruby/object:Gem::Dependency
|
|
83
83
|
name: acts_as_ferret
|
|
84
|
-
requirement: &
|
|
84
|
+
requirement: &70208029020780 !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: *
|
|
92
|
+
version_requirements: *70208029020780
|
|
93
93
|
- !ruby/object:Gem::Dependency
|
|
94
94
|
name: acts_as_list
|
|
95
|
-
requirement: &
|
|
95
|
+
requirement: &70208029020300 !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: *
|
|
103
|
+
version_requirements: *70208029020300
|
|
104
104
|
- !ruby/object:Gem::Dependency
|
|
105
105
|
name: magiclabs-userstamp
|
|
106
|
-
requirement: &
|
|
106
|
+
requirement: &70208029019820 !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: *
|
|
114
|
+
version_requirements: *70208029019820
|
|
115
115
|
- !ruby/object:Gem::Dependency
|
|
116
116
|
name: dynamic_form
|
|
117
|
-
requirement: &
|
|
117
|
+
requirement: &70208029035700 !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: *
|
|
125
|
+
version_requirements: *70208029035700
|
|
126
126
|
- !ruby/object:Gem::Dependency
|
|
127
127
|
name: jquery-rails
|
|
128
|
-
requirement: &
|
|
128
|
+
requirement: &70208029035220 !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: *
|
|
136
|
+
version_requirements: *70208029035220
|
|
137
137
|
- !ruby/object:Gem::Dependency
|
|
138
138
|
name: attachment_magic
|
|
139
|
-
requirement: &
|
|
139
|
+
requirement: &70208029034740 !ruby/object:Gem::Requirement
|
|
140
140
|
none: false
|
|
141
141
|
requirements:
|
|
142
142
|
- - ~>
|
|
@@ -144,10 +144,10 @@ dependencies:
|
|
|
144
144
|
version: 0.2.1
|
|
145
145
|
type: :runtime
|
|
146
146
|
prerelease: false
|
|
147
|
-
version_requirements: *
|
|
147
|
+
version_requirements: *70208029034740
|
|
148
148
|
- !ruby/object:Gem::Dependency
|
|
149
149
|
name: rspec-rails
|
|
150
|
-
requirement: &
|
|
150
|
+
requirement: &70208029034200 !ruby/object:Gem::Requirement
|
|
151
151
|
none: false
|
|
152
152
|
requirements:
|
|
153
153
|
- - ~>
|
|
@@ -155,10 +155,10 @@ dependencies:
|
|
|
155
155
|
version: '2.8'
|
|
156
156
|
type: :development
|
|
157
157
|
prerelease: false
|
|
158
|
-
version_requirements: *
|
|
158
|
+
version_requirements: *70208029034200
|
|
159
159
|
- !ruby/object:Gem::Dependency
|
|
160
160
|
name: sqlite3
|
|
161
|
-
requirement: &
|
|
161
|
+
requirement: &70208029033660 !ruby/object:Gem::Requirement
|
|
162
162
|
none: false
|
|
163
163
|
requirements:
|
|
164
164
|
- - ! '>='
|
|
@@ -166,7 +166,7 @@ dependencies:
|
|
|
166
166
|
version: '0'
|
|
167
167
|
type: :development
|
|
168
168
|
prerelease: false
|
|
169
|
-
version_requirements: *
|
|
169
|
+
version_requirements: *70208029033660
|
|
170
170
|
description: Alchemy is an awesome Rails CMS with an extremely flexible content storing
|
|
171
171
|
architecture.
|
|
172
172
|
email:
|
|
@@ -793,7 +793,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
793
793
|
version: '0'
|
|
794
794
|
segments:
|
|
795
795
|
- 0
|
|
796
|
-
hash:
|
|
796
|
+
hash: -607147014317575995
|
|
797
797
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
798
798
|
none: false
|
|
799
799
|
requirements:
|