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.
@@ -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: