Class: Cure::Builder::Candidate
- Inherits:
-
Object
- Object
- Cure::Builder::Candidate
- Includes:
- Helpers::ObjectHelpers, Log
- Defined in:
- lib/cure/builder/candidate.rb
Overview
Per row, we will have a candidate for each transformation that needs to be made
Instance Attribute Summary collapse
-
#action ⇒ Cure::Builder::BaseBuilder
readonly
What sort of data needs to be generated.
-
#column ⇒ String?
readonly
Lookup column name for CSV.
-
#named_range ⇒ String
readonly
Named range that column exists in.
Instance Method Summary collapse
-
#initialize(column, named_range) ⇒ Candidate
constructor
A new instance of Candidate.
- #method_missing(method_name, args) ⇒ Cure::Builder::BaseBuilder
- #perform ⇒ void
- #respond_to_missing?(_method_name, _include_private = false) ⇒ TrueClass
Methods included from Log
#log_debug, #log_error, #log_info, #log_trace, #log_warn
Methods included from Helpers::ObjectHelpers
Constructor Details
#initialize(column, named_range) ⇒ Candidate
Returns a new instance of Candidate.
29 30 31 32 |
# File 'lib/cure/builder/candidate.rb', line 29 def initialize(column, named_range) @column = column @named_range = named_range || "_default" end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_name, args) ⇒ Cure::Builder::BaseBuilder
48 49 50 51 52 53 |
# File 'lib/cure/builder/candidate.rb', line 48 def method_missing(method_name, args) klass_name = "Cure::Builder::#{method_name.to_s.capitalize}Builder" raise "#{method_name} is not valid" unless class_exists?(klass_name) @action = Kernel.const_get(klass_name).new(@named_range, @column, args[:options] || {}) end |
Instance Attribute Details
#action ⇒ Cure::Builder::BaseBuilder (readonly)
What sort of data needs to be generated.
25 26 27 |
# File 'lib/cure/builder/candidate.rb', line 25 def action @action end |
#column ⇒ String? (readonly)
Lookup column name for CSV.
21 22 23 |
# File 'lib/cure/builder/candidate.rb', line 21 def column @column end |
#named_range ⇒ String (readonly)
Named range that column exists in
17 18 19 |
# File 'lib/cure/builder/candidate.rb', line 17 def named_range @named_range end |
Instance Method Details
#perform ⇒ void
This method returns an undefined value.
35 36 37 |
# File 'lib/cure/builder/candidate.rb', line 35 def perform @action.call end |
#respond_to_missing?(_method_name, _include_private = false) ⇒ TrueClass
42 43 44 |
# File 'lib/cure/builder/candidate.rb', line 42 def respond_to_missing?(_method_name, _include_private=false) true end |