Module: Hideous

Defined in:
lib/hideous.rb,
lib/hideous/version.rb

Defined Under Namespace

Modules: ClassMethods, InstanceMethods

Constant Summary collapse

VERSION =
"0.0.5"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.hide(id, hideous_prime, hideous_prime_inverse, hideous_rndxor, base) ⇒ Object



23
24
25
# File 'lib/hideous.rb', line 23

def self.hide(id, hideous_prime, hideous_prime_inverse, hideous_rndxor, base)
  XorKnuthHash.hash(id, hideous_prime, hideous_prime_inverse, hideous_rndxor, base)
end

.show(id, hideous_prime, hideous_prime_inverse, hideous_rndxor, base) ⇒ Object



27
28
29
# File 'lib/hideous.rb', line 27

def self.show(id, hideous_prime, hideous_prime_inverse, hideous_rndxor, base)
  XorKnuthHash.reverse_hash(id, hideous_prime, hideous_prime_inverse, hideous_rndxor, base)
end

Instance Method Details

#obfuscate_id(options = {}) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/hideous.rb', line 5

def obfuscate_id(options = {})
  require 'hideous/xor_knuth_hash'
  extend ClassMethods
  include InstanceMethods

  cattr_accessor :hideous_prime
  cattr_accessor :hideous_prime_inverse
  cattr_accessor :hideous_rndxor
  cattr_accessor :hideous_enabled
  cattr_accessor :hideous_base

  self.hideous_prime = (options[:prime] || hideous_default_prime)
  self.hideous_prime_inverse = (options[:prime_inverse] || hideous_default_prime_inverse)
  self.hideous_rndxor = (options[:rndxor] || hideous_default_rndxor)
  self.hideous_enabled = (options[:auto].nil? ? true : options[:auto])
  self.hideous_base = (options[:base] || hideous_default_base)
end