ocean-rails 1.25.4 → 1.26.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.
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.