summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbinoam Praxedes Marques Jr <abinoam@gmail.com>2015-12-14 07:34:55 -0300
committerAbinoam Praxedes Marques Jr <abinoam@gmail.com>2015-12-14 07:34:55 -0300
commit2de591ce37b54ca7efe9e5564145d80ae02b515d (patch)
tree38ab76e5073022f98c6edb8bb3ce1a007e784860
parent01eb0071447800a40bfb84692de3d9082f308c9b (diff)
downloadhighline-2de591ce37b54ca7efe9e5564145d80ae02b515d.tar.gz
Improve HighLine::Question::AnswerConverter documentation
-rw-r--r--lib/highline/question/answer_converter.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/highline/question/answer_converter.rb b/lib/highline/question/answer_converter.rb
index 17c169f..6e24051 100644
--- a/lib/highline/question/answer_converter.rb
+++ b/lib/highline/question/answer_converter.rb
@@ -4,6 +4,7 @@ require 'forwardable'
class HighLine
class Question
+ # It provides all answer conversion flow.
class AnswerConverter
extend Forwardable
@@ -11,10 +12,14 @@ class HighLine
:answer, :answer=, :check_range,
:directory, :answer_type, :choices_complete
+ # @param question [Question]
def initialize(question)
@question = question
end
+ # Based on the given Question object's settings,
+ # it makes the conversion and returns the answer.
+ # @return [Object] the converted answer.
def convert
return unless answer_type
@@ -23,6 +28,7 @@ class HighLine
answer
end
+ # @return [HighLine::String] answer converted to a HighLine::String
def to_string
HighLine::String(answer)
end
@@ -33,37 +39,45 @@ class HighLine
HighLine::String(answer)
end
+ # @return [Integer] answer converted to an Integer
def to_integer
Kernel.send(:Integer, answer)
end
+ # @return [Float] answer converted to a Float
def to_float
Kernel.send(:Float, answer)
end
+ # @return [Symbol] answer converted to an Symbol
def to_symbol
answer.to_sym
end
+ # @return [Regexp] answer converted to a Regexp
def to_regexp
Regexp.new(answer)
end
+ # @return [File] answer converted to a File
def to_file
self.answer = choices_complete(answer)
File.open(File.join(directory.to_s, answer.last))
end
+ # @return [Pathname] answer converted to an Pathname
def to_pathname
self.answer = choices_complete(answer)
Pathname.new(File.join(directory.to_s, answer.last))
end
+ # @return [Array] answer converted to an Array
def to_array
self.answer = choices_complete(answer)
answer.last
end
+ # @return [Proc] answer converted to an Proc
def to_proc
answer_type.call(answer)
end