class Rujure::Objects::Atom

Constants

ATOM
KEYWORD

Attributes

atom[R]

Public Class Methods

new(value, options=nil) click to toggle source
# File lib/rujure/objects/atom.rb, line 9
def initialize(value, options=nil)
  if options.nil?
    @atom = ATOM.invoke(value)
  else
    @atom = ATOM.invoke(value, *transform_options(options))
  end
end

Private Instance Methods

transform_options(options) click to toggle source
# File lib/rujure/objects/atom.rb, line 59
def transform_options(options)
  keys = options.keys.map { |k| KEYWORD.invoke(k.to_s) }
  values = options.values.map { |v| v.is_a?(::Proc) ? Rujure::ProcIFn.new(v) : v }
  keys.zip(values).flatten
end