alchemy_cms 4.2.0 → 4.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/.teatro.yml +8 -0
  3. data/CHANGELOG.md +4 -4
  4. data/Gemfile +1 -1
  5. data/README.md +3 -10
  6. data/alchemy_cms.gemspec +1 -1
  7. data/app/assets/javascripts/alchemy/alchemy.dialog.js.coffee +3 -3
  8. data/app/assets/javascripts/alchemy/alchemy.elements_window.js.coffee +1 -1
  9. data/app/assets/stylesheets/alchemy/buttons.scss +2 -15
  10. data/app/assets/stylesheets/alchemy/elements.scss +0 -4
  11. data/app/assets/stylesheets/alchemy/frame.scss +29 -9
  12. data/app/assets/stylesheets/alchemy/navigation.scss +6 -30
  13. data/app/assets/stylesheets/alchemy/preview_window.scss +0 -4
  14. data/app/controllers/alchemy/api/contents_controller.rb +1 -1
  15. data/app/controllers/alchemy/api/elements_controller.rb +1 -1
  16. data/app/controllers/alchemy/api/pages_controller.rb +1 -1
  17. data/app/controllers/alchemy/pages_controller.rb +4 -9
  18. data/app/models/alchemy/element.rb +1 -1
  19. data/app/models/alchemy/page/page_scopes.rb +1 -1
  20. data/app/views/alchemy/admin/pages/edit.html.erb +10 -10
  21. data/lib/alchemy/on_page_layout.rb +1 -1
  22. data/lib/alchemy/test_support/factories.rb +1 -3
  23. data/lib/alchemy/test_support/factories/attachment_factory.rb +0 -2
  24. data/lib/alchemy/test_support/factories/content_factory.rb +0 -5
  25. data/lib/alchemy/test_support/factories/dummy_user_factory.rb +0 -2
  26. data/lib/alchemy/test_support/factories/element_factory.rb +0 -3
  27. data/lib/alchemy/test_support/factories/essence_file_factory.rb +0 -2
  28. data/lib/alchemy/test_support/factories/essence_picture_factory.rb +0 -2
  29. data/lib/alchemy/test_support/factories/essence_text_factory.rb +0 -2
  30. data/lib/alchemy/test_support/factories/language_factory.rb +0 -2
  31. data/lib/alchemy/test_support/factories/page_factory.rb +0 -2
  32. data/lib/alchemy/test_support/factories/picture_factory.rb +0 -2
  33. data/lib/alchemy/test_support/factories/site_factory.rb +0 -2
  34. data/lib/alchemy/version.rb +1 -1
  35. metadata +7 -13
  36. data/.github/FUNDING.yml +0 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f0f5711f9a2670decb7dc7b607c684e50cd82f95ee20f37c3995a2afe107a563
4
- data.tar.gz: eae8426cc413eeeb78cd206fa0f1e7cedeca5a59cb5f4aca81ea9997c8a408df
3
+ metadata.gz: 1cee9559837fa4a7f082aaef25d8ad9d0b60f97deeb95abe7c5e02be7e0b1c51
4
+ data.tar.gz: '0933e0f1400f3518d7092129e532583ea4846da5c20043185a2025dcd4f335b2'
5
5
  SHA512:
6
- metadata.gz: 37f0485eafe6e0e0e89aadb09dcce775579229f69cc342bfa07d2f0acd5f3d0f0873e6f2a7c7e5e3d9eeb43b8d614832a6247920a53e80011ef89ab995409ed0
7
- data.tar.gz: f51d23e388032bd19f1192da181fe997a47e815c4c7937f5601115c55d09a93d21e3f25f2a1554df3e76ca246cc11223d807ea8e3b6e66ba5cda1a27927e7d20
6
+ metadata.gz: cba619e0c9801e3ad568efaeeea2f1a6d28184da08f53aeeb60481f257c9e3dbe56555720f779e3dbb6def2b036c9584b46d765d241016a4b23d1fe398933d5b
7
+ data.tar.gz: 64f673911a078cadc30bdeb6cd0be0c7245feac2b2822efab375abe26ef7bcc32b0eea1736199b4ed09cd57b36be080de84621bc85f4c861c277f66a1de2d78c
@@ -0,0 +1,8 @@
1
+ project:
2
+ after:
3
+ - apt-get -y install imagemagick
4
+ stage:
5
+ before: cd spec/dummy
6
+ database: bin/rake db:setup RAILS_ENV=production
7
+ assets: bin/rake assets:precompile RAILS_ENV=production
8
+ run: bin/rails server -e production
@@ -1,3 +1,7 @@
1
+ ## 4.2.1 (2019-08-08)
2
+
3
+ - Use strings as JSON root keys in API controllers [#1602](https://github.com/AlchemyCMS/alchemy_cms/pull/1602) ([tvdeyen](https://github.com/tvdeyen))
4
+
1
5
  ## 4.2.0 (2019-05-30)
2
6
 
3
7
  - remove unused .teatro.yml [#1585](https://github.com/AlchemyCMS/alchemy_cms/pull/1585) ([kirillshevch](https://github.com/kirillshevch))
@@ -500,7 +504,3 @@ No changes
500
504
  ## 3.0.0 (2014-07-03)
501
505
 
502
506
  [Release Notes](https://github.com/AlchemyCMS/alchemy_cms/releases/tag/v3.0.0)
503
-
504
-
505
-
506
-
data/Gemfile CHANGED
@@ -7,7 +7,7 @@ gem 'rails', '~> 5.2.0'
7
7
  # Profiling
8
8
  gem 'rack-mini-profiler', group: :development, require: false
9
9
 
10
- gem 'sqlite3', '~> 1.4.1' if ENV['DB'].nil? || ENV['DB'] == 'sqlite'
10
+ gem 'sqlite3', '~> 1.3.6' if ENV['DB'].nil? || ENV['DB'] == 'sqlite'
11
11
  gem 'mysql2', '~> 0.5.1' if ENV['DB'] == 'mysql'
12
12
  gem 'pg', '~> 1.0' if ENV['DB'] == 'postgresql'
13
13
  gem 'sassc-rails'
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # AlchemyCMS
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/alchemy_cms.svg)](http://badge.fury.io/rb/alchemy_cms)
4
- [![Build Status](https://travis-ci.org/AlchemyCMS/alchemy_cms.svg?branch=master)](https://travis-ci.org/AlchemyCMS/alchemy_cms)
4
+ [![Build Status](https://travis-ci.org/AlchemyCMS/alchemy_cms.svg?branch=4.2-stable)](https://travis-ci.org/AlchemyCMS/alchemy_cms)
5
5
  [![Maintainability](https://api.codeclimate.com/v1/badges/196c56c56568ed24a697/maintainability)](https://codeclimate.com/github/AlchemyCMS/alchemy_cms/maintainability)
6
6
  [![Test Coverage](https://api.codeclimate.com/v1/badges/196c56c56568ed24a697/test_coverage)](https://codeclimate.com/github/AlchemyCMS/alchemy_cms/test_coverage)
7
7
  [![Depfu](https://badges.depfu.com/badges/ebe56d2dd7b7044a8ae700cc81212a8e/overview.svg)](https://depfu.com/github/AlchemyCMS/alchemy_cms?project_id=4600)
@@ -18,9 +18,6 @@ Alchemy is an open source CMS engine written in Ruby on Rails.
18
18
 
19
19
  Read more about Alchemy on the [website](https://alchemy-cms.com) and in the [guidelines](https://guides.alchemy-cms.com).
20
20
 
21
- **CAUTION: This master branch is a development branch that *can* contain bugs. For productive environments you should use the [current Ruby gem version](https://rubygems.org/gems/alchemy_cms), or the [latest stable branch (4.2-stable)](https://github.com/AlchemyCMS/alchemy_cms/tree/4.2-stable).**
22
-
23
-
24
21
  ## ✅ Features
25
22
 
26
23
  - Flexible templating that separates content from markup
@@ -83,11 +80,9 @@ For a Ruby 1.8.7 compatible version use the [`2.3-stable` branch](https://github
83
80
  Put this into your `Gemfile`:
84
81
 
85
82
  ```ruby
86
- gem 'alchemy_cms', github: 'AlchemyCMS/alchemy_cms', branch: 'master'
83
+ gem 'alchemy_cms', github: 'AlchemyCMS/alchemy_cms', branch: '4.2-stable'
87
84
  ```
88
85
 
89
- **NOTE:** You normally want to use a stable branch, like `4.1-stable`.
90
-
91
86
  #### 2. Update your bundle:
92
87
 
93
88
  ```bash
@@ -104,11 +99,9 @@ the Devise based user model that Alchemy provides and was extracted [into its ow
104
99
  If you don't have your own user class, you can use the Alchemy user model. Just add the following gem into your `Gemfile`:
105
100
 
106
101
  ```ruby
107
- gem 'alchemy-devise', github: 'AlchemyCMS/alchemy-devise', branch: 'master'
102
+ gem 'alchemy-devise', github: 'AlchemyCMS/alchemy-devise', branch: '4.2-stable'
108
103
  ```
109
104
 
110
- **NOTE:** You normally want to use a stable branch, like `4.1-stable`.
111
-
112
105
  Then run:
113
106
 
114
107
  ```bash
@@ -33,7 +33,7 @@ Gem::Specification.new do |gem|
33
33
  gem.add_runtime_dependency 'originator', ['~> 3.1']
34
34
  gem.add_runtime_dependency 'non-stupid-digest-assets', ['~> 1.0.8']
35
35
  gem.add_runtime_dependency 'rails', ['~> 5.0', '< 6.0']
36
- gem.add_runtime_dependency 'ransack', ['>= 1.8', '< 3.0']
36
+ gem.add_runtime_dependency 'ransack', ['~> 2.0']
37
37
  gem.add_runtime_dependency 'request_store', ['~> 1.2']
38
38
  gem.add_runtime_dependency 'responders', ['~> 2.0']
39
39
  gem.add_runtime_dependency 'select2-rails', ['>= 3.5.9.1', '< 4.0']
@@ -122,7 +122,7 @@ class window.Alchemy.Dialog
122
122
  @show_error(xhr, status)
123
123
 
124
124
  # Displays an error message
125
- show_error: (xhr, status_message, $container = @dialog_body) ->
125
+ show_error: (xhr, status_message) ->
126
126
  error_type = "warning"
127
127
  switch xhr.status
128
128
  when 0
@@ -135,7 +135,7 @@ class window.Alchemy.Dialog
135
135
  error_type = "error"
136
136
  if status_message
137
137
  error_header = status_message
138
- console.error(xhr.responseText)
138
+ console.error eval(xhr.responseText)
139
139
  else
140
140
  error_header = "#{xhr.statusText} (#{xhr.status})"
141
141
  error_body = "Please check log and try again."
@@ -143,7 +143,7 @@ class window.Alchemy.Dialog
143
143
  $errorDiv.append Alchemy.messageIcon(error_type)
144
144
  $errorDiv.append "<h1>#{error_header}</h1>"
145
145
  $errorDiv.append "<p>#{error_body}</p>"
146
- $container.html $errorDiv
146
+ @dialog_body.html $errorDiv
147
147
 
148
148
  # Binds close events on:
149
149
  # - Close button
@@ -53,7 +53,7 @@ Alchemy.ElementsWindow =
53
53
  if @callback
54
54
  @callback.call()
55
55
  .fail (xhr, status, error) =>
56
- Alchemy.Dialog::show_error(xhr, error, @element_area)
56
+ Alchemy.AjaxErrorHandler @element_area, xhr.status, status, error
57
57
 
58
58
  hide: ->
59
59
  @$body.removeClass('elements-window-visible');
@@ -33,14 +33,6 @@ button, input[type="submit"], a.button, input.button {
33
33
  margin-right: 2 * $default-margin;
34
34
  color: inherit;
35
35
  }
36
-
37
- &[disabled] {
38
- cursor: not-allowed;
39
-
40
- & + label {
41
- display: none;
42
- }
43
- }
44
36
  }
45
37
 
46
38
  .icon_button {
@@ -87,18 +79,13 @@ button, input[type="submit"], a.button, input.button {
87
79
  }
88
80
  }
89
81
 
90
- &.disabled,
91
- &[disabled] {
82
+ &.disabled {
92
83
 
93
84
  span {
94
85
  opacity: 0.3;
95
86
  cursor: not-allowed;
96
87
  }
97
88
 
98
- i {
99
- opacity: 0.3;
100
- }
101
-
102
89
  &:hover {
103
90
  cursor: not-allowed;
104
91
  }
@@ -134,7 +121,7 @@ button.icon_button {
134
121
  margin: 0 2*$default-margin;
135
122
 
136
123
  &.active, &:active, &:hover {
137
- .icon_button:not([disabled]) {
124
+ .icon_button {
138
125
  background-color: $default-border-color;
139
126
  cursor: pointer;
140
127
  }
@@ -43,10 +43,6 @@
43
43
  height: 140px !important;
44
44
  }
45
45
  }
46
-
47
- > .message {
48
- margin: 2*$default-margin
49
- }
50
46
  }
51
47
 
52
48
  #main-content-elements,
@@ -42,15 +42,18 @@ div#overlay_text_box {
42
42
  }
43
43
 
44
44
  #header {
45
- display: flex;
46
45
  height: $header-height;
47
46
  line-height: $header-height;
48
47
  background: $header-background;
49
48
  border-bottom: $default-border;
50
49
  position: relative;
51
50
 
52
- a:hover {
53
- text-decoration: none;
51
+ a {
52
+ display: inline-block;
53
+
54
+ &:hover {
55
+ text-decoration: none;
56
+ }
54
57
  }
55
58
 
56
59
  .page_status_and_name {
@@ -73,13 +76,8 @@ div#overlay_text_box {
73
76
  }
74
77
 
75
78
  .page_name {
76
- display: inline-block;
77
- max-width: 100px;
78
79
  margin-right: $default-margin;
79
80
  line-height: $header-height;
80
- white-space: nowrap;
81
- overflow: hidden;
82
- text-overflow: ellipsis;
83
81
  }
84
82
  }
85
83
 
@@ -98,10 +96,12 @@ div#overlay_text_box {
98
96
  }
99
97
 
100
98
  #user_info {
99
+ position: absolute;
100
+ top: 0;
101
+ right: 0;
101
102
  height: $header-height;
102
103
  font-size: $small-font-size;
103
104
  padding-left: 2*$default-padding;
104
- margin-left: auto;
105
105
  border-bottom: $default-border;
106
106
  background-color: $header-background;
107
107
 
@@ -126,3 +126,23 @@ div#overlay_text_box {
126
126
  padding-right: 2*$default-padding;
127
127
  }
128
128
  }
129
+
130
+ #locked_pages {
131
+
132
+ label {
133
+ float: left;
134
+ font-size: $small-font-size;
135
+ line-height: 27px;
136
+ height: 27px;
137
+ margin-left: 8px;
138
+ margin-right: 4px;
139
+ }
140
+
141
+ img {
142
+ float: left;
143
+ }
144
+
145
+ .subnavi_tab > a {
146
+ padding-right: 0;
147
+ }
148
+ }
@@ -209,42 +209,19 @@
209
209
  }
210
210
  }
211
211
 
212
- #locked_pages {
213
- display: flex;
214
- flex-grow: 1;
215
- flex-wrap: nowrap;
216
- height: $header-height;
217
-
218
- label {
219
- float: left;
220
- font-size: $small-font-size;
221
- line-height: 27px;
222
- height: 27px;
223
- margin-left: 8px;
224
- margin-right: 4px;
225
- }
226
-
227
- img {
228
- float: left;
229
- }
230
-
231
- .subnavi_tab > a {
232
- padding-right: 0;
233
- }
234
- }
235
-
236
212
  .locked_page {
237
- display: flex;
238
- flex-wrap: nowrap;
213
+ position: relative;
214
+ float: left;
239
215
  line-height: $header-height - 1;
240
216
  color: #444;
241
217
  border-right: $default-border;
242
218
  border-bottom: $default-border;
219
+ padding-right: 24px;
243
220
 
244
221
  form {
245
- align-self: center;
246
- justify-self: flex-end;
247
- margin-right: $default-padding;
222
+ position: absolute;
223
+ right: $default-padding;
224
+ top: 7px;
248
225
  line-height: 1;
249
226
  }
250
227
 
@@ -254,7 +231,6 @@
254
231
  }
255
232
 
256
233
  > a {
257
- display: flex;
258
234
  cursor: pointer;
259
235
  padding: 0px 8px;
260
236
 
@@ -16,9 +16,5 @@
16
16
 
17
17
  .collapsed-menu.elements-window-visible & {
18
18
  width: calc(100vw - #{$collapsed-main-menu-width - $default-border-width} - #{$elements-window-width});
19
-
20
- @media screen and (min-width: $large-screen-break-point) {
21
- max-width: calc(100vw - #{$collapsed-main-menu-width - $default-border-width} - #{$elements-window-min-width});
22
- }
23
19
  }
24
20
  }
@@ -16,7 +16,7 @@ module Alchemy
16
16
  if params[:element_id].present?
17
17
  @contents = @contents.where(element_id: params[:element_id])
18
18
  end
19
- render json: @contents, adapter: :json, root: :contents
19
+ render json: @contents, adapter: :json, root: 'contents'
20
20
  end
21
21
 
22
22
  # Returns a json object for content
@@ -20,7 +20,7 @@ module Alchemy
20
20
  if params[:named].present?
21
21
  @elements = @elements.named(params[:named])
22
22
  end
23
- render json: @elements, adapter: :json, root: :elements
23
+ render json: @elements, adapter: :json, root: 'elements'
24
24
  end
25
25
 
26
26
  # Returns a json object for element
@@ -16,7 +16,7 @@ module Alchemy
16
16
  if params[:page_layout].present?
17
17
  @pages = @pages.where(page_layout: params[:page_layout])
18
18
  end
19
- render json: @pages, adapter: :json, root: :pages
19
+ render json: @pages, adapter: :json, root: 'pages'
20
20
  end
21
21
 
22
22
  # Returns all pages as nested json object for tree views
@@ -155,10 +155,10 @@ module Alchemy
155
155
  end
156
156
 
157
157
  def set_expiration_headers
158
- if must_not_cache?
159
- expires_now
160
- else
158
+ if @page.cache_page?
161
159
  expires_in @page.expiration_time, public: !@page.restricted, must_revalidate: true
160
+ else
161
+ expires_now
162
162
  end
163
163
  end
164
164
 
@@ -190,17 +190,12 @@ module Alchemy
190
190
  # or the cache is stale, because it's been republished by the user.
191
191
  #
192
192
  def render_fresh_page?
193
- must_not_cache? || stale?(etag: page_etag,
193
+ !@page.cache_page? || stale?(etag: page_etag,
194
194
  last_modified: @page.published_at,
195
195
  public: !@page.restricted,
196
196
  template: 'pages/show')
197
197
  end
198
198
 
199
- # don't cache pages if we have flash message to display or the page has caching disabled
200
- def must_not_cache?
201
- flash.present? || !@page.cache_page?
202
- end
203
-
204
199
  def page_not_found!
205
200
  not_found_error!("Alchemy::Page not found \"#{request.fullpath}\"")
206
201
  end
@@ -98,7 +98,7 @@ module Alchemy
98
98
  scope :not_restricted, -> { joins(:page).merge(Page.not_restricted) }
99
99
  scope :available, -> { published.not_trashed }
100
100
  scope :named, ->(names) { where(name: names) }
101
- scope :excluded, ->(names) { where.not(name: names) }
101
+ scope :excluded, ->(names) { where(arel_table[:name].not_in(names)) }
102
102
  scope :fixed, -> { where(fixed: true) }
103
103
  scope :unfixed, -> { where(fixed: false) }
104
104
  scope :from_current_site, -> { where(Language.table_name => {site_id: Site.current || Site.default}).joins(page: 'language') }
@@ -66,7 +66,7 @@ module Alchemy
66
66
  # Returns all content pages.
67
67
  #
68
68
  scope :contentpages, -> {
69
- where(layoutpage: [false, nil]).where.not(parent_id: nil)
69
+ where(layoutpage: [false, nil]).where(Page.arel_table[:parent_id].not_eq(nil))
70
70
  }
71
71
 
72
72
  # Returns all public contentpages that are not locked.
@@ -13,6 +13,16 @@
13
13
  <% end %>
14
14
  </div>
15
15
  <div class="toolbar_spacer"></div>
16
+ <% unless @page.layoutpage? %>
17
+ <div class="button_with_label">
18
+ <%= form_tag alchemy.visit_admin_page_path(@page), id: 'visit_page_form' do %>
19
+ <button class="icon_button" title="<%= Alchemy.t('Visit page') %>">
20
+ <%= render_icon('external-link-alt') %>
21
+ </button>
22
+ <label><%= Alchemy.t("Visit page") %></label>
23
+ <% end %>
24
+ </div>
25
+ <% end %>
16
26
  <div class="button_with_label">
17
27
  <%= link_to_dialog(
18
28
  render_icon('info-circle'),
@@ -66,16 +76,6 @@
66
76
  <% end %>
67
77
  </div>
68
78
  <% end %>
69
- <% unless @page.layoutpage? %>
70
- <div class="button_with_label">
71
- <%= form_tag alchemy.visit_admin_page_path(@page), id: 'visit_page_form' do %>
72
- <%= button_tag class: 'icon_button', disabled: !@page.public? do %>
73
- <%= render_icon('external-link-alt') %>
74
- <% end %>
75
- <label><%= Alchemy.t("Visit page") %></label>
76
- <% end %>
77
- </div>
78
- <% end %>
79
79
  <% if @page.has_hint? %>
80
80
  <div class="toolbar_spacer"></div>
81
81
  <%= render_hint_for(@page) %>
@@ -47,7 +47,7 @@ module Alchemy
47
47
  # Registers a callback for given page layout
48
48
  def self.register_callback(page_layout, callback)
49
49
  @callbacks ||= {}
50
- @callbacks[page_layout] ||= Set.new
50
+ @callbacks[page_layout] ||= []
51
51
  @callbacks[page_layout] << callback
52
52
  end
53
53
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
- Dir["#{File.dirname(__FILE__)}/factories/*.rb"].each do |file|
1
+ Dir[File.dirname(__FILE__) + '/factories/*.rb'].each do |file|
4
2
  require file
5
3
  end
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  require 'factory_bot'
4
2
 
5
3
  FactoryBot.define do
@@ -1,9 +1,4 @@
1
- # frozen_string_literal: true
2
-
3
1
  require 'factory_bot'
4
- require 'alchemy/test_support/factories/element_factory'
5
- require 'alchemy/test_support/factories/essence_file_factory'
6
- require 'alchemy/test_support/factories/essence_picture_factory'
7
2
  require 'alchemy/test_support/factories/essence_text_factory'
8
3
 
9
4
  FactoryBot.define do
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  require 'factory_bot'
4
2
 
5
3
  FactoryBot.define do
@@ -1,7 +1,4 @@
1
- # frozen_string_literal: true
2
-
3
1
  require 'factory_bot'
4
- require 'alchemy/test_support/factories/page_factory'
5
2
 
6
3
  FactoryBot.define do
7
4
  factory :alchemy_element, class: 'Alchemy::Element' do
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  require 'factory_bot'
4
2
  require 'alchemy/test_support/factories/attachment_factory'
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  require 'factory_bot'
4
2
  require 'alchemy/test_support/factories/picture_factory'
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  require 'factory_bot'
4
2
 
5
3
  FactoryBot.define do
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  require 'factory_bot'
4
2
  require 'alchemy/test_support/factories/site_factory'
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  require 'factory_bot'
4
2
  require 'alchemy/test_support/factories/language_factory'
5
3
 
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  require 'factory_bot'
4
2
 
5
3
  FactoryBot.define do
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  require 'factory_bot'
4
2
 
5
3
  FactoryBot.define do
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Alchemy
4
- VERSION = "4.2.0"
4
+ VERSION = "4.2.1"
5
5
 
6
6
  def self.version
7
7
  VERSION
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: 4.2.0
4
+ version: 4.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas von Deyen
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2019-05-30 00:00:00.000000000 Z
16
+ date: 2019-08-08 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: active_model_serializers
@@ -265,22 +265,16 @@ dependencies:
265
265
  name: ransack
266
266
  requirement: !ruby/object:Gem::Requirement
267
267
  requirements:
268
- - - ">="
269
- - !ruby/object:Gem::Version
270
- version: '1.8'
271
- - - "<"
268
+ - - "~>"
272
269
  - !ruby/object:Gem::Version
273
- version: '3.0'
270
+ version: '2.0'
274
271
  type: :runtime
275
272
  prerelease: false
276
273
  version_requirements: !ruby/object:Gem::Requirement
277
274
  requirements:
278
- - - ">="
279
- - !ruby/object:Gem::Version
280
- version: '1.8'
281
- - - "<"
275
+ - - "~>"
282
276
  - !ruby/object:Gem::Version
283
- version: '3.0'
277
+ version: '2.0'
284
278
  - !ruby/object:Gem::Dependency
285
279
  name: request_store
286
280
  requirement: !ruby/object:Gem::Requirement
@@ -366,7 +360,6 @@ extra_rdoc_files: []
366
360
  files:
367
361
  - ".codeclimate.yml"
368
362
  - ".editorconfig"
369
- - ".github/FUNDING.yml"
370
363
  - ".github/ISSUE_TEMPLATE/Bug_report.md"
371
364
  - ".github/ISSUE_TEMPLATE/Feature_request.md"
372
365
  - ".gitignore"
@@ -374,6 +367,7 @@ files:
374
367
  - ".localeapp/config.rb"
375
368
  - ".rspec"
376
369
  - ".rubocop.yml"
370
+ - ".teatro.yml"
377
371
  - ".travis.yml"
378
372
  - ".yardopts"
379
373
  - CHANGELOG.md
@@ -1,4 +0,0 @@
1
- # These are supported funding model platforms
2
-
3
- patreon: alchemy_cms
4
- open_collective: alchemy_cms