apidiesel 0.4 → 0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/apidiesel/dsl.rb +55 -1
- data/lib/apidiesel/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 60f1db7f0462707d5b984581b41c98d78d3d4404
|
4
|
+
data.tar.gz: 9e90978a907d27fed6d8dc56f91141e13a274f5d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 422d9aca10b78ea62722611baa3e8234dcc7b5c05aa2b87ed39dfaae573e358f37e1a0ed160232f3136000cf42b215efad3060ea7c88de4801ec3fa153f9cf8c
|
7
|
+
data.tar.gz: efb5f850575dd7be9a49bb48319ac1ee973a71b951112dec2a4a65517654b6543796b2418171e98d0fb25b69401cfa0db0191584a9ec634f933632396764a15e
|
data/lib/apidiesel/dsl.rb
CHANGED
@@ -270,6 +270,60 @@ module Apidiesel
|
|
270
270
|
end
|
271
271
|
end
|
272
272
|
|
273
|
+
# Returns `key` from the API response as Date.
|
274
|
+
#
|
275
|
+
# @param (see #string)
|
276
|
+
# @option (see #string)
|
277
|
+
def date(*args, **kargs)
|
278
|
+
args = normalize_arguments(args, kargs)
|
279
|
+
args.reverse_merge!(format: '%Y-%m-%d')
|
280
|
+
|
281
|
+
response_formatters << lambda do |data, processed_data|
|
282
|
+
value = get_value(data, args[:at])
|
283
|
+
|
284
|
+
value = apply_filter(args[:prefilter], value)
|
285
|
+
|
286
|
+
if args.has_key?(:on_error)
|
287
|
+
value = Date.strptime(value, args[:format]) rescue args[:on_error]
|
288
|
+
else
|
289
|
+
value = Date.strptime(value, args[:format])
|
290
|
+
end
|
291
|
+
|
292
|
+
value = apply_filter(args[:postfilter] || args[:filter], value)
|
293
|
+
|
294
|
+
processed_data[ args[:as] ] = value
|
295
|
+
|
296
|
+
processed_data
|
297
|
+
end
|
298
|
+
end
|
299
|
+
|
300
|
+
# Returns `key` from the API response as Time.
|
301
|
+
#
|
302
|
+
# @param (see #string)
|
303
|
+
# @option (see #string)
|
304
|
+
def time(*args, **kargs)
|
305
|
+
args = normalize_arguments(args, kargs)
|
306
|
+
args.reverse_merge!(format: '%Y-%m-%d')
|
307
|
+
|
308
|
+
response_formatters << lambda do |data, processed_data|
|
309
|
+
value = get_value(data, args[:at])
|
310
|
+
|
311
|
+
value = apply_filter(args[:prefilter], value)
|
312
|
+
|
313
|
+
if args.has_key?(:on_error)
|
314
|
+
value = Time.strptime(value, args[:format]) rescue args[:on_error]
|
315
|
+
else
|
316
|
+
value = Time.strptime(value, args[:format])
|
317
|
+
end
|
318
|
+
|
319
|
+
value = apply_filter(args[:postfilter] || args[:filter], value)
|
320
|
+
|
321
|
+
processed_data[ args[:as] ] = value
|
322
|
+
|
323
|
+
processed_data
|
324
|
+
end
|
325
|
+
end
|
326
|
+
|
273
327
|
# Returns an array of subhashes
|
274
328
|
#
|
275
329
|
# @example
|
@@ -431,7 +485,7 @@ module Apidiesel
|
|
431
485
|
end
|
432
486
|
end
|
433
487
|
|
434
|
-
%w{value string integer float hash array datetime objects symbol}.each do |name|
|
488
|
+
%w{value string integer float hash array datetime date time objects symbol}.each do |name|
|
435
489
|
define_method "x_#{name}".to_sym, ->(*args, **kargs, &block) { }
|
436
490
|
end
|
437
491
|
|
data/lib/apidiesel/version.rb
CHANGED