class Minarai::ActionBuilder

Public Class Methods

new(attirbutes) click to toggle source
# File lib/minarai/action_builder.rb, line 14
def initialize(attirbutes)
  @attirbutes = attirbutes
end

Public Instance Methods

build() click to toggle source
# File lib/minarai/action_builder.rb, line 18
def build
  action_class.new(@attirbutes)
end

Private Instance Methods

action_class() click to toggle source
# File lib/minarai/action_builder.rb, line 24
def action_class
  if known_action_type?
    Minarai::Actions.const_get(action_class_name, false)
  else
    Minarai::Actions::Unknown
  end
end
action_class_name() click to toggle source
# File lib/minarai/action_builder.rb, line 36
def action_class_name
  type.camelize
end
has_type?() click to toggle source
# File lib/minarai/action_builder.rb, line 44
def has_type?
  !!@attirbutes['type']
end
known_action_type?() click to toggle source
# File lib/minarai/action_builder.rb, line 32
def known_action_type?
  has_type? && Minarai::Actions.constants.include?(action_class_name.to_sym)
end
type() click to toggle source
# File lib/minarai/action_builder.rb, line 40
def type
  @attirbutes['type']
end