class HighLine::Question::AnswerConverter
It provides all answer conversion flow.
def convert
-
(Object)
- the converted answer.
def convert self.answer = convert_by_answer_type if answer_type answer end
def convert_by_answer_type
def convert_by_answer_type if answer_type.respond_to? :parse answer_type.parse(answer) elsif answer_type.is_a? Class send("to_#{answer_type.name.downcase}") else send("to_#{answer_type.class.name.downcase}") end end
def initialize(question)
-
question
(Question
) --
def initialize(question) @question = question end
def to_array
-
(Array)
- answer converted to an Array
def to_array self.answer = choices_complete(answer) answer.last end
def to_file
-
(File)
- answer converted to a File
def to_file self.answer = choices_complete(answer) File.open(File.join(directory.to_s, answer.last)) end
def to_float
-
(Float)
- answer converted to a Float
def to_float Kernel.send(:Float, answer) end
def to_integer
-
(Integer)
- answer converted to an Integer
def to_integer Kernel.send(:Integer, answer) end
def to_pathname
-
(Pathname)
- answer converted to an Pathname
def to_pathname self.answer = choices_complete(answer) Pathname.new(File.join(directory.to_s, answer.last)) end
def to_proc
-
(Proc)
- answer converted to an Proc
def to_proc answer_type.call(answer) end
def to_regexp
-
(Regexp)
- answer converted to a Regexp
def to_regexp Regexp.new(answer) end
def to_string
-
(HighLine::String)
- answer converted to a HighLine::String
def to_string HighLine::String(answer) end
def to_symbol
-
(Symbol)
- answer converted to an Symbol
def to_symbol answer.to_sym end