module CongressForms::Actions

Constants

DEFAULT_FIND_WAIT_TIME

Public Class Methods

build(step) click to toggle source
# File lib/congress_forms/actions.rb, line 7
def self.build(step)
  key = step.keys.first

  const_name = key.capitalize.gsub(/_(\w)/){ |m| m[1].upcase }

  begin
    klass = const_get(const_name, false)
  rescue NameError => e
    raise UnsupportedAction, "#{const_name} handler missing"
  end

  if Visit == klass
    Array(klass.new("value" => step[key]))
  else
    step[key].map do |params|
      klass.new(params)
    end
  end
end