obfuscated 0.1.6 → 0.1.7

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.
Files changed (2) hide show
  1. data/lib/obfuscated.rb +6 -5
  2. metadata +5 -5
data/lib/obfuscated.rb CHANGED
@@ -6,7 +6,7 @@ module Obfuscated
6
6
 
7
7
  def self.append_features(base)
8
8
  super
9
- base.extend(ClassMethods) if base.to_s == 'ActiveRecord::Base'
9
+ base.extend(ClassMethods)
10
10
  base.extend(Finder)
11
11
  end
12
12
 
@@ -16,10 +16,15 @@ module Obfuscated
16
16
 
17
17
  module Finder
18
18
  def find( *primary_key )
19
+ # Sale.find( '7e2d2c4da1b0' )
19
20
  if primary_key.is_a?(String) && primary_key.length == 12
20
21
  find_by_hashed_id( primary_key )
22
+
23
+ # Sale.includes(:store).find( '7e2d2c4da1b0' )
21
24
  elsif primary_key.is_a?(Array) && primary_key.length == 1 && primary_key[0].is_a?(String) && primary_key[0].length == 12
22
25
  find_by_hashed_id( primary_key[0] )
26
+
27
+ # Other queries
23
28
  else
24
29
  super
25
30
  end
@@ -72,7 +77,3 @@ module Obfuscated
72
77
  end
73
78
 
74
79
  ActiveRecord::Base.class_eval { include Obfuscated }
75
-
76
- # ActiveRelation also needs to get hacked to enable queries like:
77
- # Sale.includes(:store).find( '7e2d2c4da1b0' )
78
- ActiveRecord::Relation.class_eval { include Obfuscated::Finder }
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: obfuscated
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 21
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 6
10
- version: 0.1.6
9
+ - 7
10
+ version: 0.1.7
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jon Collier
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-05-10 00:00:00 Z
18
+ date: 2012-05-11 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: activerecord
@@ -72,7 +72,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
72
72
  requirements: []
73
73
 
74
74
  rubyforge_project:
75
- rubygems_version: 1.8.5
75
+ rubygems_version: 1.8.24
76
76
  signing_key:
77
77
  specification_version: 3
78
78
  summary: Primary Key Obfuscation