Module: LaserLemon::Tokenize::ClassMethods

Defined in:
lib/tokenize.rb

Instance Method Summary collapse

Instance Method Details

#tokenize(*columns) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/tokenize.rb', line 11

def tokenize(*columns)
  options = columns.extract_options!.symbolize_keys.reverse_merge(
    :length => 8,
    :characters => LaserLemon::Tokenize::CHARACTERS
  )
  columns.empty? ? columns.replace([:token]) : columns.collect!(&:to_sym)
  write_inheritable_hash :tokens, columns.inject({}){|h,c| h.update(c => options) }
  class_inheritable_reader :tokens
  include InstanceMethods
  before_create :generate_token
end