alchemy_cms 4.2.0 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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