alchemy_cms 2.1.rc4 → 2.1.rc5

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,4 @@
1
+ bundler_args: --without development
1
2
  rvm:
2
3
  - 1.8.7
3
4
  - 1.9.2
data/Gemfile CHANGED
@@ -3,7 +3,9 @@ source "http://rubygems.org"
3
3
  gemspec
4
4
 
5
5
  group :test do
6
- gem 'factory_girl_rails'
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
- if !ENV["CI"]
21
- gem 'ruby-debug-base19', '~> 0.11.26', :platform => :ruby_19
22
- gem 'linecache19', '~> 0.5.13', :platform => :ruby_19
23
- gem 'ruby-debug19', '~> 0.11.6', :require => 'ruby-debug', :platform => :ruby_19
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 Content view partial from the passed Element for passed content name.
5
- # For options see -> render_essence
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 Content partial that is given (:editor, or :view).
16
- # You can pass several options that are used by the different contents.
17
- #
18
- # For the view partial:
19
- # :image_size => "111x93" Used by EssencePicture to render the image via RMagick to that size.
20
- # :css_class => "" This css class gets attached to the content view.
21
- # :date_format => "Am %d. %m. %Y, um %H:%Mh" Espacially fot the EssenceDate. See Date.strftime for date formatting.
22
- # :caption => true Pass true to enable that the EssencePicture.caption value gets rendered.
23
- # :blank_value => "" Pass a String that gets rendered if the content.essence is blank.
24
- #
25
- # For the editor partial:
26
- # :css_class => "" This css class gets attached to the content editor.
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
- render_essence(content, :view, :for_view => options)
72
+ render_essence_view(content, options, html_options)
86
73
  end
87
74
 
88
- # Renders the Content view partial from the given Element by position (e.g. 1).
89
- # For options see -> render_essence
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) unless @size.nil?
9
- else
10
- image.resize(@size, :upsample => @upsample, :crop => @crop, :padding => @padding) unless @size.nil?
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) unless @size.nil?
9
- else
10
- image.resize(@size, :upsample => @upsample, :crop => @crop, :padding => @padding) unless @size.nil?
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) unless @size.nil?
9
- else
10
- image.resize(@size, :upsample => @upsample, :crop => @crop, :padding => @padding) unless @size.nil?
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?
@@ -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) }
@@ -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
- production:
50
- adapter: mysql
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
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
- end
71
+ namespace :db do
72
72
 
73
- namespace :db do
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
- end
80
+ end
81
81
 
82
82
  namespace :ferret do
83
83
 
@@ -1,5 +1,5 @@
1
1
  module Alchemy
2
2
 
3
- VERSION = "2.1.rc4"
3
+ VERSION = "2.1.rc5"
4
4
 
5
5
  end
@@ -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.rc4
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-18 00:00:00.000000000 Z
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: &70214478485880 !ruby/object:Gem::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: *70214478485880
26
+ version_requirements: *70208029023740
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: authlogic
29
- requirement: &70214478485160 !ruby/object:Gem::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: *70214478485160
37
+ version_requirements: *70208029023320
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: awesome_nested_set
40
- requirement: &70214478484460 !ruby/object:Gem::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: *70214478484460
48
+ version_requirements: *70208029022760
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: declarative_authorization
51
- requirement: &70214478483780 !ruby/object:Gem::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: *70214478483780
59
+ version_requirements: *70208029022240
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: tvdeyen-fleximage
62
- requirement: &70214478483180 !ruby/object:Gem::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: *70214478483180
70
+ version_requirements: *70208029021740
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: will_paginate
73
- requirement: &70214478482600 !ruby/object:Gem::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: *70214478482600
81
+ version_requirements: *70208029021260
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: acts_as_ferret
84
- requirement: &70214478481900 !ruby/object:Gem::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: *70214478481900
92
+ version_requirements: *70208029020780
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: acts_as_list
95
- requirement: &70214478480640 !ruby/object:Gem::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: *70214478480640
103
+ version_requirements: *70208029020300
104
104
  - !ruby/object:Gem::Dependency
105
105
  name: magiclabs-userstamp
106
- requirement: &70214478479260 !ruby/object:Gem::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: *70214478479260
114
+ version_requirements: *70208029019820
115
115
  - !ruby/object:Gem::Dependency
116
116
  name: dynamic_form
117
- requirement: &70214478511660 !ruby/object:Gem::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: *70214478511660
125
+ version_requirements: *70208029035700
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: jquery-rails
128
- requirement: &70214478510520 !ruby/object:Gem::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: *70214478510520
136
+ version_requirements: *70208029035220
137
137
  - !ruby/object:Gem::Dependency
138
138
  name: attachment_magic
139
- requirement: &70214478509380 !ruby/object:Gem::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: *70214478509380
147
+ version_requirements: *70208029034740
148
148
  - !ruby/object:Gem::Dependency
149
149
  name: rspec-rails
150
- requirement: &70214478508660 !ruby/object:Gem::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: *70214478508660
158
+ version_requirements: *70208029034200
159
159
  - !ruby/object:Gem::Dependency
160
160
  name: sqlite3
161
- requirement: &70214478507840 !ruby/object:Gem::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: *70214478507840
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: 4031528361938782580
796
+ hash: -607147014317575995
797
797
  required_rubygems_version: !ruby/object:Gem::Requirement
798
798
  none: false
799
799
  requirements: