perpetuity-postgres 0.0.8 → 0.0.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 +4 -4
- data/lib/perpetuity/postgres/json_string_value.rb +4 -1
- data/lib/perpetuity/postgres/timestamp_value.rb +5 -1
- data/lib/perpetuity/postgres/version.rb +1 -1
- data/spec/perpetuity/postgres/json_string_value_spec.rb +5 -0
- data/spec/perpetuity/postgres/timestamp_value_spec.rb +16 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 82e5dd20f52c8f997e20c60024f28e4b6a139143
|
4
|
+
data.tar.gz: 6e10f51925be27479944ba9b4abcd26622c3cc32
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b76478c240cf159a4e6cafc1bae21fd1a3b061dc276b6fe21a1edda8fdbfe961c11da6c7ca6e2045b999762e4283106084789118fb609307c53184b0f6c6510e
|
7
|
+
data.tar.gz: d5bec6ab884912ab69eaa616c5da3d38727476f6998cccaa61f236ca65f1b4812a7a131a2716aae333eafd2933606914ab702e99e52622c245216eb47602f812
|
@@ -9,7 +9,11 @@ module Perpetuity
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def self.from_sql sql_value
|
12
|
-
|
12
|
+
match = sql_value =~ /(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})\.?(\d*)?([-+]\d{2})?/
|
13
|
+
return new(nil) unless match
|
14
|
+
|
15
|
+
offset = $8 ? "#$8:00" : '+00:00'
|
16
|
+
new Time.new($1.to_i, $2.to_i, $3.to_i, $4.to_i, $5.to_i, "#$6.#$7".to_f, offset)
|
13
17
|
end
|
14
18
|
|
15
19
|
def to_time
|
@@ -15,6 +15,11 @@ module Perpetuity
|
|
15
15
|
expect(JSONStringValue.new('Anakin "Darth Vader" Skywalker').to_s).to be ==
|
16
16
|
'"Anakin \\"Darth Vader\\" Skywalker"'
|
17
17
|
end
|
18
|
+
|
19
|
+
it 'escapes single quotes' do
|
20
|
+
expect(JSONStringValue.new(%{Man it's a hot one}).to_s).to be ==
|
21
|
+
%{"Man it''s a hot one"}
|
22
|
+
end
|
18
23
|
end
|
19
24
|
end
|
20
25
|
end
|
@@ -20,6 +20,22 @@ module Perpetuity
|
|
20
20
|
expected = Time.new(1982, 8, 25, 10, 19, 10.123456, '-04:00')
|
21
21
|
expect(actual.to_time).to be_within(0.0000001).of expected
|
22
22
|
end
|
23
|
+
|
24
|
+
it 'converts timestamps without time zones' do
|
25
|
+
actual = TimestampValue.from_sql('1982-08-25 22:19:10.123456')
|
26
|
+
expected = Time.new(1982, 8, 25, 22, 19, 10.123456, '-00:00')
|
27
|
+
expect(actual.to_time).to be_within(0.0000001).of expected
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'converts timestamps without time zones or milliseconds' do
|
31
|
+
actual = TimestampValue.from_sql('1982-08-25 22:19:10')
|
32
|
+
expected = Time.new(1982, 8, 25, 22, 19, 10, '-00:00')
|
33
|
+
expect(actual.to_time).to be_within(0.0000001).of expected
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'returns nil if nil is passed in' do
|
37
|
+
expect(TimestampValue.from_sql(nil).to_time).to be nil
|
38
|
+
end
|
23
39
|
end
|
24
40
|
|
25
41
|
it 'returns its wrapped value' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: perpetuity-postgres
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jamie Gaskins
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-08-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -181,7 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
181
|
version: '0'
|
182
182
|
requirements: []
|
183
183
|
rubyforge_project:
|
184
|
-
rubygems_version: 2.
|
184
|
+
rubygems_version: 2.4.8
|
185
185
|
signing_key:
|
186
186
|
specification_version: 4
|
187
187
|
summary: PostgreSQL adapter for Perpetuity
|