ocean-rails 1.25.4 → 1.26.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1df7ce5c2c56309411dddf649f819d3653229bf0
4
- data.tar.gz: 9151f2afff53ade22492b7cdf5fcf3198377ac37
3
+ metadata.gz: ed17df413aa988bc3f8fb0657bb64a0badd3e867
4
+ data.tar.gz: 8d343d76ebad720f9f6848a7dcc8e7ab5ce1df37
5
5
  SHA512:
6
- metadata.gz: fe9bd5aba3a921143b415bda7e6726baf3655dba9fa0ee4b52f6c95389f54356d101b0e492c3d1f54022b26f569acd8c0d833cd310296588a132af91e991b5fc
7
- data.tar.gz: 872d8a2a40c5b01880fa1a624941edd28a9dc88e68e3f1fbf66169d526baeecdcef5dff10fd9dab8bf253a7862f77afead8ed0a01444ea20fe4d3f90b51ae170
6
+ metadata.gz: 6908a52cc7d59b1925efe758f886625c24061fb0d72b7ffd7731e1e2f6020681380aba8bdc7935aa66b58a726a588d77fa6f42fcbd3aca222b09c43f3b532785
7
+ data.tar.gz: cfe17eb55a1e0d8b03defc0017c5d61edc69e08243e8cd8044ea05420784ce8a04d155eb1c90de0d1f3b4d27ad0ac331722112dc879c9be905df1d4cda65b064
@@ -50,15 +50,10 @@ module ApiResource
50
50
  index_only.each do |key|
51
51
  val = conds[key]
52
52
  next unless val
53
- if ranged_matchers.include?(key)
54
- if val.include?(",")
55
- from, to = val.split(",")
56
- new_conds[key] = Range.new(DateTime.parse(from), DateTime.parse(to))
57
- else
58
- new_conds[key] = DateTime.parse(val)
59
- end
53
+ if ranged_matchers.include?(key) && val.include?(",")
54
+ new_conds[key] = parse_range(val)
60
55
  else
61
- new_conds[key] = val
56
+ new_conds[key] = parse_scalar(val)
62
57
  end
63
58
  end
64
59
  conds = new_conds
@@ -84,6 +79,27 @@ module ApiResource
84
79
  end
85
80
 
86
81
 
82
+ def parse_range(val)
83
+ from, to = val.split(",")
84
+ Range.new(parse_scalar(from), parse_scalar(to))
85
+ end
86
+
87
+ def parse_scalar(val)
88
+ case val
89
+ when ""
90
+ ""
91
+ when val.to_i.to_s == val
92
+ val.to_i
93
+ when val.to_f.to_s == val
94
+ val.to_f
95
+ when /[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z/
96
+ DateTime.parse(val)
97
+ else
98
+ val
99
+ end
100
+ end
101
+
102
+
87
103
  #
88
104
  # Returns the latest version for the resource class. E.g.:
89
105
  #
data/lib/ocean/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ocean
2
- VERSION = "1.25.4"
2
+ VERSION = "1.26.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ocean-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.25.4
4
+ version: 1.26.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Bengtson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-06 00:00:00.000000000 Z
11
+ date: 2013-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -323,7 +323,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
323
323
  version: '0'
324
324
  requirements: []
325
325
  rubyforge_project:
326
- rubygems_version: 2.1.10
326
+ rubygems_version: 2.0.7
327
327
  signing_key:
328
328
  specification_version: 4
329
329
  summary: This gem implements common Ocean behaviour for Ruby and Ruby on Rails.