activeadmin_settings_cached 2.3.1 → 3.0.0

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.
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activeadmin_settings_cached
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.1
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Semyon Pupkov
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2018-05-22 00:00:00.000000000 Z
10
+ date: 2026-10-31 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activeadmin
@@ -16,64 +15,42 @@ dependencies:
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: rails-settings-cached
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: 0.5.3
18
+ version: '1.0'
34
19
  - - "<"
35
20
  - !ruby/object:Gem::Version
36
- version: 0.6.7
21
+ version: '4'
37
22
  type: :runtime
38
23
  prerelease: false
39
24
  version_requirements: !ruby/object:Gem::Requirement
40
25
  requirements:
41
26
  - - ">="
42
27
  - !ruby/object:Gem::Version
43
- version: 0.5.3
28
+ version: '1.0'
44
29
  - - "<"
45
30
  - !ruby/object:Gem::Version
46
- version: 0.6.7
31
+ version: '4'
47
32
  - !ruby/object:Gem::Dependency
48
- name: appraisal
33
+ name: rails-settings-cached
49
34
  requirement: !ruby/object:Gem::Requirement
50
35
  requirements:
51
- - - ">="
36
+ - - "~>"
52
37
  - !ruby/object:Gem::Version
53
- version: '0'
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
38
+ version: '2.8'
58
39
  - - ">="
59
40
  - !ruby/object:Gem::Version
60
- version: '0'
61
- - !ruby/object:Gem::Dependency
62
- name: bundler
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - ">="
66
- - !ruby/object:Gem::Version
67
- version: '0'
68
- type: :development
41
+ version: 2.8.2
42
+ type: :runtime
69
43
  prerelease: false
70
44
  version_requirements: !ruby/object:Gem::Requirement
71
45
  requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '2.8'
72
49
  - - ">="
73
50
  - !ruby/object:Gem::Version
74
- version: '0'
51
+ version: 2.8.2
75
52
  - !ruby/object:Gem::Dependency
76
- name: capybara
53
+ name: appraisal
77
54
  requirement: !ruby/object:Gem::Requirement
78
55
  requirements:
79
56
  - - ">="
@@ -87,7 +64,7 @@ dependencies:
87
64
  - !ruby/object:Gem::Version
88
65
  version: '0'
89
66
  - !ruby/object:Gem::Dependency
90
- name: coveralls
67
+ name: bundler
91
68
  requirement: !ruby/object:Gem::Requirement
92
69
  requirements:
93
70
  - - ">="
@@ -101,7 +78,7 @@ dependencies:
101
78
  - !ruby/object:Gem::Version
102
79
  version: '0'
103
80
  - !ruby/object:Gem::Dependency
104
- name: database_cleaner
81
+ name: capybara
105
82
  requirement: !ruby/object:Gem::Requirement
106
83
  requirements:
107
84
  - - ">="
@@ -115,7 +92,7 @@ dependencies:
115
92
  - !ruby/object:Gem::Version
116
93
  version: '0'
117
94
  - !ruby/object:Gem::Dependency
118
- name: poltergeist
95
+ name: database_cleaner-active_record
119
96
  requirement: !ruby/object:Gem::Requirement
120
97
  requirements:
121
98
  - - ">="
@@ -156,20 +133,6 @@ dependencies:
156
133
  - - ">="
157
134
  - !ruby/object:Gem::Version
158
135
  version: '0'
159
- - !ruby/object:Gem::Dependency
160
- name: selenium-webdriver
161
- requirement: !ruby/object:Gem::Requirement
162
- requirements:
163
- - - ">="
164
- - !ruby/object:Gem::Version
165
- version: '0'
166
- type: :development
167
- prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- requirements:
170
- - - ">="
171
- - !ruby/object:Gem::Version
172
- version: '0'
173
136
  - !ruby/object:Gem::Dependency
174
137
  name: sqlite3
175
138
  requirement: !ruby/object:Gem::Requirement
@@ -191,9 +154,10 @@ executables: []
191
154
  extensions: []
192
155
  extra_rdoc_files: []
193
156
  files:
157
+ - ".github/stale.yml"
158
+ - ".github/workflows/ci.yml"
194
159
  - ".gitignore"
195
160
  - ".rspec"
196
- - ".travis.yml"
197
161
  - Appraisals
198
162
  - CHANGELOG.md
199
163
  - Dockerfile
@@ -208,11 +172,9 @@ files:
208
172
  - config/locales/en.yml
209
173
  - config/locales/ru.yml
210
174
  - docker-compose.yml
211
- - gemfiles/rails4.2.gemfile
212
- - gemfiles/rails5.0.gemfile
213
- - gemfiles/rails5.1.gemfile
175
+ - gemfiles/rails7.2.gemfile
176
+ - gemfiles/rails8.0.gemfile
214
177
  - lib/activeadmin_settings_cached.rb
215
- - lib/activeadmin_settings_cached/coercions.rb
216
178
  - lib/activeadmin_settings_cached/dsl.rb
217
179
  - lib/activeadmin_settings_cached/engine.rb
218
180
  - lib/activeadmin_settings_cached/model.rb
@@ -221,7 +183,6 @@ files:
221
183
  - lib/generators/active_admin/USAGE
222
184
  - lib/generators/active_admin/settings_generator.rb
223
185
  - lib/generators/active_admin/templates/settings.rb
224
- - spec/coercions_spec.rb
225
186
  - spec/model_spec.rb
226
187
  - spec/settings_spec.rb
227
188
  - spec/spec_helper.rb
@@ -232,7 +193,6 @@ homepage: https://github.com/artofhuman/activeadmin_settings_cached
232
193
  licenses:
233
194
  - MIT
234
195
  metadata: {}
235
- post_install_message:
236
196
  rdoc_options: []
237
197
  require_paths:
238
198
  - lib
@@ -247,13 +207,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
247
207
  - !ruby/object:Gem::Version
248
208
  version: '0'
249
209
  requirements: []
250
- rubyforge_project:
251
- rubygems_version: 2.7.6
252
- signing_key:
210
+ rubygems_version: 3.6.2
253
211
  specification_version: 4
254
212
  summary: UI interface for rails-settings-cached in active admin
255
213
  test_files:
256
- - spec/coercions_spec.rb
257
214
  - spec/model_spec.rb
258
215
  - spec/settings_spec.rb
259
216
  - spec/spec_helper.rb
data/.travis.yml DELETED
@@ -1,17 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
-
4
- gemfile:
5
- - gemfiles/rails4.2.gemfile
6
- - gemfiles/rails5.0.gemfile
7
- - gemfiles/rails5.1.gemfile
8
-
9
- before_script:
10
- - bundle exec rake setup
11
-
12
- script:
13
- - bundle exec rake
14
-
15
- rvm:
16
- - 2.2.6
17
- - 2.3.4
@@ -1,15 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rails", "~> 5.0.1"
6
- gem "inherited_resources", git: "https://github.com/activeadmin/inherited_resources.git"
7
- gem "listen"
8
-
9
- group :test do
10
- gem "pry-byebug"
11
- gem "puma"
12
- gem "therubyracer"
13
- end
14
-
15
- gemspec path: "../"
@@ -1,15 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "rails", "~> 5.1.0"
6
- gem "inherited_resources", git: "https://github.com/activeadmin/inherited_resources.git"
7
- gem "listen"
8
-
9
- group :test do
10
- gem "pry-byebug"
11
- gem "puma"
12
- gem "therubyracer"
13
- end
14
-
15
- gemspec path: "../"
@@ -1,58 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ActiveadminSettingsCached
4
- # Coerce user input values to defined types
5
- #
6
- # @api private
7
- class Coercions
8
- TRUE_VALUES = %w[1 on On ON t true True TRUE T y yes Yes YES Y].freeze
9
- FALSE_VALUES = %w[0 off Off OFF f false False FALSE F n no No NO N].freeze
10
- BOOLEAN_MAP = ::Hash[
11
- TRUE_VALUES.product([true]) + FALSE_VALUES.product([false])
12
- ].freeze
13
-
14
- attr_reader :defaults, :display
15
-
16
- def initialize(defaults, display)
17
- @defaults = defaults
18
- @display = display
19
- end
20
-
21
- def cast_params(params)
22
- coerced_params = params.to_unsafe_h.map do |name, value|
23
- [name, cast_value(name, value)]
24
- end
25
-
26
- return coerced_params unless block_given?
27
-
28
- coerced_params.each do |name, value|
29
- yield(name, value.call) unless value.nil?
30
- end
31
- end
32
-
33
- private
34
-
35
- def cast_value(name, value) # rubocop:disable Metrics/MethodLength
36
- case defaults[name]
37
- when TrueClass, FalseClass
38
- -> { BOOLEAN_MAP.fetch(value, false) }
39
- when Integer
40
- -> { value_or_default(0) { Integer(value) } }
41
- when Float
42
- -> { value_or_default(0.0) { Float(value) } }
43
- when Hash, 'ActiveSupport::HashWithIndifferentAccess'
44
- nil
45
- when Symbol
46
- -> { value.to_sym }
47
- else
48
- -> { value }
49
- end
50
- end
51
-
52
- def value_or_default(default)
53
- yield
54
- rescue ArgumentError, TypeError
55
- default
56
- end
57
- end
58
- end
@@ -1,86 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe ActiveadminSettingsCached::Coercions do
4
- let(:display) do
5
- Hash[
6
- 'base.first_setting' => 'string',
7
- 'base.second_setting' => 'boolean',
8
- 'base.third_setting' => 'number',
9
- 'base.four_setting' => 'number',
10
- 'second.first_setting' => 'boolean',
11
- 'second.second_setting' => 'string'
12
- ].with_indifferent_access
13
- end
14
-
15
- let(:defaults) do
16
- Hash[
17
- 'base.first_setting' => 'AAA',
18
- 'base.second_setting' => true,
19
- 'base.third_setting' => 5,
20
- 'base.four_setting' => 5.5,
21
- 'base.five_setting' => :aaa,
22
- 'second.first_setting' => false,
23
- 'second.second_setting' => 'BBB',
24
- 'some' => {}
25
- ].with_indifferent_access
26
- end
27
-
28
- subject(:coercions) do
29
- ActiveadminSettingsCached::Coercions.new(defaults, display)
30
- end
31
-
32
- context 'when params is valid' do
33
- let(:params) do
34
- ActionController::Parameters.new(
35
- Hash[
36
- 'base.first_setting' => 'BBB',
37
- 'base.second_setting' => 'false',
38
- 'base.third_setting' => '155',
39
- 'base.four_setting' => '55.5',
40
- 'base.five_setting' => 'bbb',
41
- 'second.first_setting' => 'true',
42
- 'second.second_setting' => 'AAA'
43
- ]
44
- )
45
- end
46
-
47
- it 'casts params' do
48
- expect { |b| coercions.cast_params(params, &b) }
49
- .to yield_successive_args(['base.first_setting', 'BBB'],
50
- ['base.second_setting', false],
51
- ['base.third_setting', 155],
52
- ['base.four_setting', 55.5],
53
- ['base.five_setting', :bbb],
54
- ['second.first_setting', true],
55
- ['second.second_setting', 'AAA'])
56
- end
57
- end
58
-
59
- context 'when params is wrong' do
60
- let(:params) do
61
- ActionController::Parameters.new(
62
- Hash[
63
- 'base.second_setting' => 'hjgj',
64
- 'base.third_setting' => 'fhfh',
65
- 'base.four_setting' => 'gjfhg',
66
- 'second.first_setting' => 'ggf',
67
- 'some' => {}
68
- ]
69
- )
70
- end
71
-
72
- it 'returns default values' do
73
- expect { |b| coercions.cast_params(params, &b) }
74
- .to yield_successive_args(['base.second_setting', false],
75
- ['base.third_setting', 0],
76
- ['base.four_setting', 0.0],
77
- ['second.first_setting', false])
78
- end
79
- end
80
-
81
- context 'when params is empty' do
82
- let(:params) { ActionController::Parameters.new(Hash[]) }
83
-
84
- it { expect { |b| coercions.cast_params(params, &b) }.not_to yield_control }
85
- end
86
- end