2016-08-25 13:14:56 -04:00
|
|
|
class Wizard
|
|
|
|
class Field
|
2016-08-31 13:35:49 -04:00
|
|
|
|
2016-09-02 11:42:14 -04:00
|
|
|
attr_reader :id, :type, :required, :value, :options, :option_data
|
2016-08-25 13:14:56 -04:00
|
|
|
attr_accessor :step
|
|
|
|
|
|
|
|
def initialize(attrs)
|
|
|
|
attrs = attrs || {}
|
|
|
|
|
|
|
|
@id = attrs[:id]
|
|
|
|
@type = attrs[:type]
|
|
|
|
@required = !!attrs[:required]
|
|
|
|
@value = attrs[:value]
|
2016-08-31 13:35:49 -04:00
|
|
|
@options = []
|
2016-09-02 11:42:14 -04:00
|
|
|
@option_data = {}
|
2016-08-31 13:35:49 -04:00
|
|
|
end
|
|
|
|
|
2016-09-02 11:42:14 -04:00
|
|
|
def add_option(id, data=nil)
|
2016-08-31 13:35:49 -04:00
|
|
|
@options << id
|
2016-09-02 11:42:14 -04:00
|
|
|
@option_data[id] = data
|
2016-08-25 13:14:56 -04:00
|
|
|
end
|
2016-08-31 13:35:49 -04:00
|
|
|
|
2016-08-25 13:14:56 -04:00
|
|
|
end
|
|
|
|
end
|