module ModelConcerns::Protectable::ClassMethods
Public Instance Methods
find(*args)
click to toggle source
Calls superclass method
# File lib/model_concerns/protectable.rb, line 22 def find(*args) scope = args.slice!(0) options = args.slice!(0) || {} if protectable? && !options[:real_id] if scope.is_a?(Array) scope.map! {|a| find_id_by_fake_id(a).to_i} else scope = find_id_by_fake_id(scope) end end super(scope) end
find_by_fake_id(fake_id)
click to toggle source
# File lib/model_concerns/protectable.rb, line 44 def find_by_fake_id(fake_id) find_by_id(find_id_by_fake_id(fake_id.to_i)) end
find_id_by_fake_id(fake_id)
click to toggle source
# File lib/model_concerns/protectable.rb, line 48 def find_id_by_fake_id(fake_id) fake_id.to_i ^ protect_seed end
protect_seed()
click to toggle source
# File lib/model_concerns/protectable.rb, line 36 def protect_seed alphabet = Array("a".."z") number = name.split("").collect do |char| alphabet.index(char) end @protect_seed ||= number.shift(12).join.to_i end
protectable?()
click to toggle source
# File lib/model_concerns/protectable.rb, line 52 def protectable? true end