class Saltine::Salt
Attributes
salt[RW]
salted[RW]
unsalted[RW]
Public Class Methods
new(*args)
click to toggle source
# File lib/saltine.rb, line 13 def initialize(*args) @salted = [] @aggressive = false if args.size == 1 && args.first.class <= Hash args = args.first @unsalted = args[:unsalted] || args['unsalted'] @salt = args[:salt] || args['salt'] @aggressive = args[:aggressive] || args['aggressive'] else @unsalted = args end end
salt(*args)
click to toggle source
# File lib/saltine.rb, line 9 def self.salt(*args) new(*args).salt end
Public Instance Methods
aggressive?()
click to toggle source
# File lib/saltine.rb, line 81 def aggressive? ['true', :true, true].include?(@aggressive) end
reset()
click to toggle source
# File lib/saltine.rb, line 60 def reset @salted = [] @salt = nil end
Private Instance Methods
partition(uns)
click to toggle source
# File lib/saltine.rb, line 71 def partition(uns) self.class.new(:unsalted => uns, :salt => salt, :aggressive => aggressive?) end
sieve()
click to toggle source
# File lib/saltine.rb, line 76 def sieve @sieve ||= PrimeNumbers::Generator.new(:sieve_of_eratosthenes) end
unsalted_cast()
click to toggle source
# File lib/saltine.rb, line 65 def unsalted_cast return unsalted unless aggressive? @unsalted_cast ||= ( unsalted.respond_to?(:to_i) ? unsalted.to_i : Integer(unsalted) ) rescue unsalted end