uuidify 0.3.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
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-----