kinetic_cafe_error 1.8.1 → 1.9

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dc17826f6f7567f2438621fac02064e64fae64ba
4
- data.tar.gz: 8ee581bf23ad9bbedcb42638e01d159773f02c35
3
+ metadata.gz: fec4aacd3216e7dd65b34bc85e3c6f6a388de85d
4
+ data.tar.gz: b7456d64b7ad2bf4b8c0260d70543e552506de13
5
5
  SHA512:
6
- metadata.gz: 3398f8cefdabc226f3851a6b4ecf7e9a3dc0db0c135a66699341e71367ab53852745b09cf8856043ba79223a9e096c13ba83ff2405c008effe35979ae494e038
7
- data.tar.gz: da175a041e62246c34e837723e0f631b9150f96891aec8271396464aaa3c09dcd456381aa689019bf9b17f04aa3b9b8110fe99874e21c9c143947fc60e1029f7
6
+ metadata.gz: 777e6024ab58cc36d601b584dec51eb5ed0e9e2cc58b37741f75c71232568e5ada44653c283ea59c5aadcafb27b8675d363cec706a5b413ba202c8d84b963064
7
+ data.tar.gz: 85348156230d8e3ed1ef759b99202e06e1f0d24e8cc600fb032b0543fceae617f0041659bd9fe09540ab6b25f5648de866055f90d4d955c5e93dc59795f6058d
data/.travis.yml CHANGED
@@ -3,9 +3,6 @@ language: ruby
3
3
  rvm:
4
4
  - 2.2.2
5
5
  - 2.1.6
6
- - 2.0.0
7
- - 1.9.3
8
- - jruby-1.7
9
6
  - jruby-9.0.0.0
10
7
  - jruby-head
11
8
  - ruby-head
@@ -28,10 +25,4 @@ before_script:
28
25
  script: rake travis
29
26
  after_script:
30
27
  - rake travis:after -t
31
- notifications:
32
- email:
33
- recipients:
34
- - FIX@example.com
35
- on_success: change
36
- on_failure: always
37
28
  sudo: false
data/History.rdoc CHANGED
@@ -1,3 +1,15 @@
1
+ === 1.9 / 2015-11-30
2
+
3
+ * 2 bug fixes:
4
+
5
+ * The #stringify method needed to be moved to KineticCafe::ErrorModule so
6
+ that hierarchies *not* built from KineticCafe::Error can properly use query
7
+ parameter parsing.
8
+
9
+ * kinetic_cafe_error has required Ruby 2.1 or higher since version 1.5
10
+ because of the inclusion of i18n-tasks as a dependency. This is now
11
+ reflected in the dependencies.
12
+
1
13
  === 1.8.1 / 2015-10-26
2
14
 
3
15
  * Re-release because 1.8 was yanked
data/Rakefile CHANGED
@@ -15,7 +15,7 @@ spec = Hoe.spec 'kinetic_cafe_error' do
15
15
  developer('Austin Ziegler', 'aziegler@kineticcafe.com')
16
16
  developer('Jero Sutlovic', 'jsutlovic@kineticcafe.com')
17
17
 
18
- require_ruby_version '>= 1.9.2'
18
+ require_ruby_version '>= 2.1'
19
19
 
20
20
  self.history_file = 'History.rdoc'
21
21
  self.readme_file = 'README.rdoc'
@@ -25,7 +25,7 @@ module KineticCafe # :nodoc:
25
25
  # rescue clause and handled there, as is shown in the included
26
26
  # KineticCafe::ErrorHandler controller concern for Rails.
27
27
  class Error < ::StandardError
28
- VERSION = '1.8.1' # :nodoc:
28
+ VERSION = '1.9' # :nodoc:
29
29
 
30
30
  # Get the KineticCafe::Error functionality.
31
31
  include KineticCafe::ErrorModule
@@ -169,55 +169,6 @@ module KineticCafe # :nodoc:
169
169
  base.singleton_class.send :undef_method, :__rack_status
170
170
  end
171
171
  end
172
-
173
- private
174
-
175
- def default_status
176
- defined?(Rack::Utils) && :bad_request || 400
177
- end
178
-
179
- def default_severity
180
- :error
181
- end
182
-
183
- def stringify(object, namespace = nil)
184
- case object
185
- when Hash
186
- stringify_hash(object, namespace).compact.sort.join('; ')
187
- when Array
188
- stringify_array(object, namespace)
189
- else
190
- stringify_value(namespace, object)
191
- end
192
- end
193
-
194
- def stringify_hash(hash, namespace)
195
- hash.collect do |key, value|
196
- key = namespace ? "#{namespace}[#{key}]" : key
197
- case value
198
- when Hash
199
- next if value.nil?
200
- stringify(value, key)
201
- when Array
202
- stringify_array(key, value)
203
- else
204
- stringify_value(key, value)
205
- end
206
- end
207
- end
208
-
209
- def stringify_array(key, array)
210
- key = "#{key}[]"
211
- if array.empty?
212
- stringify_value(key, [])
213
- else
214
- array.collect { |value| stringify(value, key) }.join(', ')
215
- end
216
- end
217
-
218
- def stringify_value(key, value)
219
- "#{key}: #{value}"
220
- end
221
172
  end
222
173
  end
223
174
 
@@ -200,6 +200,53 @@ module KineticCafe # :nodoc:
200
200
  @i18n_params.update(cause: @cause.message)
201
201
  end
202
202
 
203
+ def stringify(object, namespace = nil)
204
+ case object
205
+ when Hash
206
+ stringify_hash(object, namespace).compact.sort.join('; ')
207
+ when Array
208
+ stringify_array(object, namespace)
209
+ else
210
+ stringify_value(namespace, object)
211
+ end
212
+ end
213
+
214
+ def stringify_hash(hash, namespace)
215
+ hash.collect do |key, value|
216
+ key = namespace ? "#{namespace}[#{key}]" : key
217
+ case value
218
+ when Hash
219
+ next if value.nil?
220
+ stringify(value, key)
221
+ when Array
222
+ stringify_array(key, value)
223
+ else
224
+ stringify_value(key, value)
225
+ end
226
+ end
227
+ end
228
+
229
+ def stringify_array(key, array)
230
+ key = "#{key}[]"
231
+ if array.empty?
232
+ stringify_value(key, [])
233
+ else
234
+ array.collect { |value| stringify(value, key) }.join(', ')
235
+ end
236
+ end
237
+
238
+ def stringify_value(key, value)
239
+ "#{key}: #{value}"
240
+ end
241
+
242
+ def default_status
243
+ defined?(Rack::Utils) && :bad_request || 400
244
+ end
245
+
246
+ def default_severity
247
+ :error
248
+ end
249
+
203
250
  class << self
204
251
  ##
205
252
  # The base for I18n key resolution. Defaults to 'kcerrors'.
@@ -91,6 +91,12 @@ describe KineticCafe::Error, '.hierarchy' do
91
91
  assert My < KineticCafe::ErrorModule
92
92
  end
93
93
 
94
+ it 'can handle a query parameter (issue #9)' do
95
+ expected = { query: "id: 1" }
96
+ actual = My.new(query: { id: 1 }).instance_variable_get(:@i18n_params)
97
+ assert_equal expected, actual
98
+ end
99
+
94
100
  it 'cannot be extended a second time' do
95
101
  ex = assert_raises do
96
102
  KineticCafe::Error.hierarchy(class: :My)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kinetic_cafe_error
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.1
4
+ version: '1.9'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Austin Ziegler
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-10-26 00:00:00.000000000 Z
12
+ date: 2015-11-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest
@@ -283,14 +283,14 @@ dependencies:
283
283
  requirements:
284
284
  - - "~>"
285
285
  - !ruby/object:Gem::Version
286
- version: '3.13'
286
+ version: '3.14'
287
287
  type: :development
288
288
  prerelease: false
289
289
  version_requirements: !ruby/object:Gem::Requirement
290
290
  requirements:
291
291
  - - "~>"
292
292
  - !ruby/object:Gem::Version
293
- version: '3.13'
293
+ version: '3.14'
294
294
  description: |-
295
295
  kinetic_cafe_error provides an API-smart error base class and a DSL for
296
296
  defining errors. Under Rails, it also provides a controller concern
@@ -365,7 +365,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
365
365
  requirements:
366
366
  - - ">="
367
367
  - !ruby/object:Gem::Version
368
- version: 1.9.2
368
+ version: '2.1'
369
369
  required_rubygems_version: !ruby/object:Gem::Requirement
370
370
  requirements:
371
371
  - - ">="