hoodoo 1.3.0 → 1.3.1

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- N2VjMWU3NjI1YmZmODQ1NDQ3OTYxMTg1MTk3YzRhNmQzM2U3YzZhNw==
4
+ MmVkNzQ3ZmU3YWQ3ZjY5YzFhOTQzOWQ3ODgwYWYwNGI5NDRhOGM2YQ==
5
5
  data.tar.gz: !binary |-
6
- NzFkZjIyZTk0YmUzNTVhY2IxZWMxMThiMWU0ZmZiMzhmOGNkYjk5Yw==
6
+ ZTM4ZDc5NWM5OTVjZjI4ZWQ3M2E5M2Y5YzVmNGYyMzcwYmVhMjczNg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZjViZWUyYzM2NmY3NmNjZjFlNTQ1ZjkyZWY1ZGE1N2VmNmQ0MDA3N2ExNmNj
10
- M2RlNDZjYTlhOTU5NjM0NWU4NjQ5MjhhODVkMTk2YjE0MjM0NTM4ZDgzYjI3
11
- ODRiYTVkNzE2OTQxY2IzYjE4NzA1ZGJkNGUxZDUzYmZjMGViNDk=
9
+ ODEwNjVhMDM1ODM0ZGUyMWVmMjUxMDQzZWU2NDY1YTFlNzg4YjI2MDYxNWFk
10
+ NmI1YzU4ZmVjYzFkODNmMjhjNjYxNTRhNzc4ZDAwZDNhMmUzYzAyOTE4Yjlm
11
+ MDNkYjI3MzJjMWUzYzU5MDQ5NzhiYWVkZDJkN2I2YTExOWVmNDA=
12
12
  data.tar.gz: !binary |-
13
- ZGI3OTZlM2QzYmFhNGVjZGIzYTJlNGM0NDZmZDYwN2MxOTNiODE1ZWEwYjEw
14
- MDRmMzQxMWMwNGM1ZDJjM2RlMDk0NzZiMzg5MTBiYTg1MDJmMWFlMjFkNzQw
15
- MGU5NGI3ZGIyYmI5OWExZjUxNDZlODljZmY4YTMxYmQzN2IzZGE=
13
+ NjNhNmY1YTk4MjYxNTk2MTUxNDFiMjIyMTEyODM0MzEzMDU4ZDBkMGU3ODFj
14
+ ZWU0NzYwOTUyNDVmNDZlNjAyZjc4N2IwMDk4ZmE5ZWU2NjBmY2RhNWY4YjI2
15
+ MGQ1OWExN2Q1OWRkYTY5ZDQxYzY4ODIxNjJkMzM2ZDQzNjA1NzQ=
@@ -77,26 +77,9 @@ module Hoodoo
77
77
  {
78
78
  :uuid => true,
79
79
  :presence => true,
80
- :uniqueness => true,
80
+ :uniqueness => true
81
81
  }
82
82
  )
83
-
84
- # We also have to remove ActiveRecord's default unscoped uniqueness
85
- # check on 'id'. We've added an equivalent validator above.
86
- #
87
- # Sadly there is no API for this even as late as ActiveRecord 4.2,
88
- # so we have to resort to fragile hackery.
89
- #
90
- model._validators.reject!() do | key, ignored |
91
- key == :id
92
- end
93
-
94
- id_validation_callback = model._validate_callbacks.find do | callback |
95
- callback.raw_filter.is_a?( ::ActiveRecord::Validations::UniquenessValidator ) &&
96
- callback.raw_filter.attributes == [ :id ]
97
- end
98
-
99
- model._validate_callbacks.delete( id_validation_callback )
100
83
  end
101
84
 
102
85
  end
@@ -142,7 +142,7 @@ module Hoodoo; module Services
142
142
  protected
143
143
 
144
144
  # When passed a request context, extracts information that can be given
145
- # as "user data" (or similar) to a exception reporting endpoint, if it
145
+ # as "user data" (or similar) to an exception reporting endpoint, if it
146
146
  # supports such a concept.
147
147
  #
148
148
  # +context+:: Hoodoo::Services::Context instance describing an
@@ -12,6 +12,6 @@ module Hoodoo
12
12
  # The Hoodoo gem version. If this changes, ensure that the date in
13
13
  # "hoodoo.gemspec" is correct and run "bundle install" (or "update").
14
14
  #
15
- VERSION = '1.3.0'
15
+ VERSION = '1.3.1'
16
16
 
17
17
  end
@@ -102,7 +102,7 @@ describe Hoodoo::ActiveRecord::ManuallyDated do
102
102
  [ @uuid_a, 'six', @now - 5.hours, @now - 1.hour, @eot ]
103
103
  ].each do | row_data |
104
104
  RSpecModelManualDateTest.new( {
105
- :id => row_data[ 0 ],
105
+ :uuid => row_data[ 0 ],
106
106
  :data => row_data[ 1 ],
107
107
  :created_at => row_data[ 2 ],
108
108
  :updated_at => row_data[ 2 ],
@@ -69,4 +69,15 @@ describe Hoodoo::ActiveRecord::UUID do
69
69
  m.reload
70
70
  expect( m.id ).to eq( id )
71
71
  end
72
+
73
+ it 'should not allow a duplicate UUID at the application level' do
74
+ m = RSpecModelUUIDTest.new
75
+ m.save
76
+
77
+ n = RSpecModelUUIDTest.new
78
+ n.id = m.id
79
+
80
+ expect( n ).to be_invalid
81
+ expect( n.errors[ :id ] ).to eq( [ 'has already been taken' ] )
82
+ end
72
83
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hoodoo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Loyalty New Zealand
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-17 00:00:00.000000000 Z
11
+ date: 2016-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kgio