perpetuity-postgres 0.0.5 → 0.0.6

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: 558b498d177b994d2d6ff89101aba27d040a4fdf
4
- data.tar.gz: e69cfe6e5454170c6565c7018eb002f5d2e3e161
3
+ metadata.gz: e26e3fe68009d265b58369daac0505ea33923e54
4
+ data.tar.gz: 0c78137c119589349a4ad4aa27efc5a19917f66e
5
5
  SHA512:
6
- metadata.gz: 39653126b7754933a22d9ba8fd8dac82436c71340c298954245783a84bd1868c6a566937ead0d5379d300fd98becd7c773c9f143d1db43f9bcf9e8879817647d
7
- data.tar.gz: 4bb4d6b025ed091a7b975b379d45bd7514215960771fc1b2f3a5ac4fc9cbd03cfa63e264057d36ea7d64f944ec61cc066dc3c10b798ac2d1d81533c4db7fe821
6
+ metadata.gz: c6a27b6627af877519f3c95e2b18bb0afa0df15a73c995e6dd01ee7c097aa4b16acc24221d6a057120e67efbcc3a1ff1134583190afc6adfe232ac7a7d428404
7
+ data.tar.gz: 9936e242b444565acc5651779667531fe5d50c2641484b017f3fadd01ed5800abd35d4a3f3337e7d0b0fcdc3d6db7c9ffa183665730d5e90c0902fd48c28e9f3
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## Version 0.0.6
2
+
3
+ - Depend on [perpetuity](https://github.com/jgaskins/perpetuity) 1.0 final
4
+
1
5
  ## Version 0.0.5
2
6
 
3
7
  - Name indexes explicitly based on table and attributes. Previously we were counting on the PostgreSQL naming convention, but that could break in future versions of Postgres.
@@ -4,6 +4,7 @@ require 'perpetuity/postgres/value_with_attribute'
4
4
  require 'perpetuity/postgres/json_array'
5
5
  require 'perpetuity/postgres/json_hash'
6
6
  require 'perpetuity/data_injectable'
7
+ require 'set'
7
8
  require 'json'
8
9
 
9
10
  module Perpetuity
@@ -11,7 +12,7 @@ module Perpetuity
11
12
  class Serializer
12
13
  include DataInjectable
13
14
 
14
- SERIALIZABLE_CLASSES = [Fixnum, Float, String, Time, TrueClass, FalseClass, NilClass]
15
+ SERIALIZABLE_CLASSES = Set[Fixnum, Float, String, Time, TrueClass, FalseClass, NilClass]
15
16
  attr_reader :mapper, :mapper_registry
16
17
 
17
18
  def initialize mapper
@@ -9,13 +9,7 @@ module Perpetuity
9
9
  end
10
10
 
11
11
  def self.from_sql sql_value
12
- date, time = sql_value.split(/ /)
13
- year, month, day = date.split(/-/)
14
- hour, minute, seconds_with_offset = time.split(/:/)
15
- second = seconds_with_offset[/\d+\.\d+/].to_f
16
- offset = seconds_with_offset[/(\+|\-)\d+/] + ':00'
17
-
18
- new Time.new(year, month, day, hour, minute, second, offset)
12
+ Time.parse(sql_value)
19
13
  end
20
14
 
21
15
  def to_time
@@ -1,5 +1,5 @@
1
1
  module Perpetuity
2
2
  class Postgres
3
- VERSION = "0.0.5"
3
+ VERSION = "0.0.6"
4
4
  end
5
5
  end
@@ -19,8 +19,8 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
22
- spec.add_development_dependency "rspec"
22
+ spec.add_development_dependency "rspec", "~> 2.0"
23
23
  spec.add_development_dependency "rake"
24
- spec.add_runtime_dependency "perpetuity", "~> 1.0.0.beta5"
24
+ spec.add_runtime_dependency "perpetuity", "~> 1.0.0"
25
25
  spec.add_runtime_dependency "pg"
26
26
  end
@@ -139,7 +139,7 @@ module Perpetuity
139
139
  other.title == title &&
140
140
  other.body == body &&
141
141
  other.views == views &&
142
- other.published_at == published_at &&
142
+ other.published_at - published_at < 0.0000001 &&
143
143
  other.published == published
144
144
  end
145
145
  end
@@ -10,13 +10,15 @@ module Perpetuity
10
10
 
11
11
  describe 'conversion from a SQL value string' do
12
12
  it 'converts GMT-X times' do
13
- timestamp = TimestampValue.from_sql('2013-12-01 15:31:23.838367-05')
14
- timestamp.to_time.should == Time.new(2013, 12, 1, 15, 31, 23.838367, '-05:00')
13
+ actual = TimestampValue.from_sql('2013-12-01 15:31:23.838367-05')
14
+ expected = Time.new(2013, 12, 1, 15, 31, 23.838367, '-05:00')
15
+ actual.to_time.should be_within(0.0000001).of expected
15
16
  end
16
17
 
17
18
  it 'converts GMT+X times' do
18
- timestamp = TimestampValue.from_sql('1982-08-25 22:19:10.123456+08')
19
- timestamp.to_time.should == Time.new(1982, 8, 25, 10, 19, 10.123456, '-04:00')
19
+ actual = TimestampValue.from_sql('1982-08-25 22:19:10.123456+08')
20
+ expected = Time.new(1982, 8, 25, 10, 19, 10.123456, '-04:00')
21
+ actual.to_time.should be_within(0.0000001).of expected
20
22
  end
21
23
  end
22
24
 
metadata CHANGED
@@ -1,83 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: perpetuity-postgres
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jamie Gaskins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-19 00:00:00.000000000 Z
11
+ date: 2014-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.3'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '2.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '2.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: perpetuity
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 1.0.0.beta5
61
+ version: 1.0.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 1.0.0.beta5
68
+ version: 1.0.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pg
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  description: PostgreSQL adapter for Perpetuity
@@ -87,8 +87,8 @@ executables: []
87
87
  extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
- - .gitignore
91
- - .travis.yml
90
+ - ".gitignore"
91
+ - ".travis.yml"
92
92
  - CHANGELOG.md
93
93
  - Gemfile
94
94
  - LICENSE.txt
@@ -169,12 +169,12 @@ require_paths:
169
169
  - lib
170
170
  required_ruby_version: !ruby/object:Gem::Requirement
171
171
  requirements:
172
- - - '>='
172
+ - - ">="
173
173
  - !ruby/object:Gem::Version
174
174
  version: '0'
175
175
  required_rubygems_version: !ruby/object:Gem::Requirement
176
176
  requirements:
177
- - - '>='
177
+ - - ">="
178
178
  - !ruby/object:Gem::Version
179
179
  version: '0'
180
180
  requirements: []