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