uuidify 0.3.1 → 0.4.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: 6f8a8120da954ce9db8b328d8a6c81b1d538ccc0
4
- data.tar.gz: 17ce67d1a23925a96434fe8a20b15699e36c69aa
3
+ metadata.gz: 380fb482f0d0a03a34f56eef56396fb22da0ea73
4
+ data.tar.gz: 2430fe027e8b2ac8a1f240db26a61f3392fc027c
5
5
  SHA512:
6
- metadata.gz: aeeb0e6432fe57413862a48c98ebccffb074a92f046d64da6380094101fe904e39251049c030a8e4f13342e32e35b583496a218dfe7c8fe3e8789dfceb9c01d7
7
- data.tar.gz: 5ba953fe527d76b64a7b927117da494299eaa87ea1bcc41de6f0f459b9f3de5734c7b92a3d7f98b6a5ed3443c5f29d06cbe13f1e9fc28d87745b48ee9f4d561b
6
+ metadata.gz: ded454c7bb0eb31f985d539fab2c3da9f99f65b0a2f7160967ff94f3bf92b9cd48608ad330842eae21ef1bcb501d9b2002a516c1f81bbdda905f5504b8400c22
7
+ data.tar.gz: aa8e8008e167ed87af4f9f2473956f807ed93db11aa6184e2d484735e62ee27508639c1d2495d0d89e941f938c80600234a6fbfdc1e29fe65a11d16b95f67087
checksums.yaml.gz.asc CHANGED
@@ -2,11 +2,11 @@
2
2
  Version: GnuPG/MacGPG2 v2.0.19 (Darwin)
3
3
  Comment: GPGTools - http://gpgtools.org
4
4
 
5
- iQEcBAABCgAGBQJScpY1AAoJEP5F5V2hilTWtCUIAJyZtGfSm93zKqZf6aRt5xxJ
6
- B33YJwCfWfOMTvlQUHi6bsZis71ephaMqqYtZD0bvcIR7QU72WbGJ2dls5H9L1XZ
7
- NRUJYlGN6x5XIsc5BN10bWG32qDkpeipw1t/e/AGl7ws2vSAOv5NEnXBiLX1J6Gg
8
- /rY6favOTS74dXECflVourS24scLX1g94cvx4LHBNsr8iVw0rZ0HqyhgjkWx5UVy
9
- 4206dsNT72nTQIvn9Jbyag2GfhxZxJWJ8ab1DLjd4r7GRJ0wY29S+//OWcsTSWpj
10
- FsNTyTT7ZLcR0ayJk6i+cUp75HSxo3UP1cTsICsKFq8BujjIPoBemYJXjTBzFV8=
11
- =KX+U
5
+ iQEcBAABCgAGBQJSqHy3AAoJEP5F5V2hilTWmDIH/A4HikYutQEudAdnql3Os3s1
6
+ 02RBQB5sa+iQ9smiBsXaGI1DohUp4a1T+WEQNynq7eZ1NFk65G+4Od3ay6t+uCpN
7
+ FANqv9H8eO1mrccCEuxoF3sGUJdUZ5komsSS5nxo4sUumKZTIvx4zYvLRl6NAkQo
8
+ OlaTa5jcQ3Y/noGNg53V6GqFkPHNDrTVnnxw9aFu0WhORwuaWCjoKoQMNU59BG5j
9
+ cpHQmUo7qESGN0u2WBo6YrY4wpbIHJ5ZlJYR3OxHWsCjuV2i2p+DTyxzcAF15efG
10
+ RgU4jkKbYVDmtkXAlhKxwCN2aTsiDOg6+feLczyeAbGDyUhrGXU4BsWL/Cdf16s=
11
+ =QCJ8
12
12
  -----END PGP SIGNATURE-----
data/README.md CHANGED
@@ -19,7 +19,12 @@ To get/set uuids:
19
19
  Foo.new.uuid
20
20
  Foo.new.uuid = UUIDTools::UUID.timestamp_create
21
21
 
22
- To gc orphan records:
22
+ Uuidify should hook into ActiveRecord's `#destroy` and automatically
23
+ clean up entries. However, if you bypass `#destroy` or remove uuidify
24
+ from a given model, you might need to run manual garbage collection to
25
+ clean up existing stale uuids.
26
+
27
+ To gc orphan records:
23
28
 
24
29
  Foo.garbage_collect_uuids # single model
25
30
  Uuidify.garbage_collect_uuids # everything, even if the model doesn't exist in the source
@@ -8,6 +8,12 @@ module Uuidify::UuidifyConcern
8
8
 
9
9
  included do
10
10
  before_destroy :destroy_uuid
11
+
12
+ scope :with_raw_uids, -> {
13
+ joins("INNER JOIN uuidify_uuids ON uuidify_uuids.model_id = #{self.table_name}.id").
14
+ where("uuidify_uuids.model_name = '#{self.name}'").
15
+ select("#{self.table_name}.*, uuidify_uuids.model_uuid AS raw_uid")
16
+ }
11
17
  end
12
18
 
13
19
  module ClassMethods
@@ -41,7 +47,7 @@ module Uuidify::UuidifyConcern
41
47
  uuid = Uuidify::Uuid.create(:model_name => model_name, :model_id => self.id, :model_uuid => new_uuid)
42
48
  uuid.save!
43
49
  end
44
-
50
+
45
51
  UUIDTools::UUID.parse_raw(uuid.model_uuid)
46
52
  end
47
53
 
@@ -1,3 +1,3 @@
1
1
  module Uuidify
2
- VERSION = "0.3.1"
2
+ VERSION = "0.4.0"
3
3
  end
data.tar.gz.asc CHANGED
@@ -2,11 +2,11 @@
2
2
  Version: GnuPG/MacGPG2 v2.0.19 (Darwin)
3
3
  Comment: GPGTools - http://gpgtools.org
4
4
 
5
- iQEcBAABCgAGBQJScpY1AAoJEP5F5V2hilTWYswIAK71QJoyD6XOmMRncDbH3cKU
6
- hPiHNIgvjjhoxWkXloBHE9SIEAFDX4atmZknR0Lkwq3yfpsdawUEWfQMhw4Z1e/a
7
- IAxCjlNpMeYq6OEDB+WRxttRwXN3Qg0VXIcgLm4Jg0UK9GZlJwvvUguYjM8ALhS2
8
- nPassmQ4gS59ZOtFOlBTbtxPtcWJr9uvTt03vFUy8Wu7HrIO5Y7hzfzNy+zEWBTE
9
- y59cYo23sa+3MSHc7m3NP1btpuzyyBbbEiZF9c7hTBV1JOhuhfqE4bgIZrSIQGbE
10
- ZA6I59+F3VDhFy0ZU7uauOAgRJhIn7BuzE1ZhY4bIutSZnTcGbEo3VLuF1DlfI4=
11
- =5Rlp
5
+ iQEcBAABCgAGBQJSqHy3AAoJEP5F5V2hilTWoOoH/AsWUntuV4JGJPOmnOpTGnQh
6
+ ZU/ocGk6gbBqSPgXRcDfCkMS6xuiQ/v131PUyFD3So7FUIMaN4MyEJwKhfCfrDPk
7
+ eFWRmHuy/N/wJhJwcZZzbhXEUEaTZ8nnw5DMSXG8iJlCDzST3UvMx0m2rQ7q1It0
8
+ SuWFfNdrwnXgrY5lT2Mg908SjdcpeSbwtQsPTmBzGBIL4GXv9rl9x0h9AobkH4gs
9
+ mDKDtAv1mXDv6aMMbblh8oekRKEoApH+BBvh6LCGm3LVseFpD+WccRLELzzo1FAI
10
+ /ZUJGLCGJMbej+XW9RrawSIBdpuAKZNIyJzmfzEqr+cHIFsexRc24r5Ss0CwZpo=
11
+ =8iBy
12
12
  -----END PGP SIGNATURE-----
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uuidify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Grant Olson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-31 00:00:00.000000000 Z
11
+ date: 2013-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
metadata.gz.asc CHANGED
@@ -2,11 +2,11 @@
2
2
  Version: GnuPG/MacGPG2 v2.0.19 (Darwin)
3
3
  Comment: GPGTools - http://gpgtools.org
4
4
 
5
- iQEcBAABCgAGBQJScpY1AAoJEP5F5V2hilTWhnUIAKWTukV61tztfBF+nyKmYfZG
6
- evZbY4zsy8rGRbyOHKe7wX9u5K5wOw02Y96KjyqREkSNYWF7PyJlZKUAgyjGpZsr
7
- cHjrPP+Ies3yr1M4gRIiH25yaQoPbQI25IzQ9/JZfAVyzD2Es4stJhx770R/fxcb
8
- 5yDVQOPMn2aeNVVD0FYNYYBbAYOvMhw2ijr/jFvZMeGr7iLrZEU/IdW68flcN1Va
9
- E5zTTykvwqWn/gGpecdMOmbRrGOGWAkWpfERZQiM73ej4A1nBAoZn+hbFxRBFPh6
10
- n4KFeVYCqQffrnWy+4N5T9UGQSFg1tdrhN9LVCB8SCIPe7ssy0B0GcpH+Td/ehI=
11
- =xzYy
5
+ iQEcBAABCgAGBQJSqHy3AAoJEP5F5V2hilTWiMQH/jJIUmFA4kWUgRHMPzTEemEU
6
+ O+vQg8iYQMuzMM9iQK1pTdy22xmFxMn0PW0N6aKZyptvilAjy8RRgIcxQV+/f/Sa
7
+ f/aD/36WT+eHrpEPUMB/FYcFUK8sYPdlntPID1ARCyJOPO6/3bsE+ICr7jbqiqdu
8
+ CxLsT1KYZmOgjHc1kjumy+sqrQ2nXT/oE7ghEE82UA9u941GpHN0+pM6hekaflLR
9
+ BWxJwKbbPngKJj9POYrVmyTfJNh10Mvc5DtSHSh5ersA5ya4fM76Krx6sNmtfaZW
10
+ VSWUHO2jMvLaze6qIpwwRxzpHR+n0nu6APdDUpV4wijj74ONUbu4vRZev8EVHvc=
11
+ =Xbis
12
12
  -----END PGP SIGNATURE-----