Class: DataShift::Mandatory
- Inherits:
-
Object
- Object
- DataShift::Mandatory
- Includes:
- Logging
- Defined in:
- lib/datashift/mandatory.rb
Instance Attribute Summary collapse
-
#mandatory_columns ⇒ Object
readonly
Returns the value of attribute mandatory_columns.
-
#missing_columns ⇒ Object
readonly
Returns the value of attribute missing_columns.
Instance Method Summary collapse
-
#contains_all?(binder) ⇒ Boolean
Sets mandatory_columns Returns true if bound methods contain every method listed in Mandatory.
- #empty? ⇒ Boolean
-
#initialize(columns) ⇒ Mandatory
constructor
A new instance of Mandatory.
Methods included from Logging
#logdir, #logdir=, #logger, #verbose
Constructor Details
#initialize(columns) ⇒ Mandatory
Returns a new instance of Mandatory.
14 15 16 17 18 19 20 21 22 |
# File 'lib/datashift/mandatory.rb', line 14 def initialize(columns) @mandatory_columns = [*columns] logger.info("Mandatory columns set to #{@mandatory_columns.inspect}") unless @mandatory_columns.empty? @comparable_mandatory_columns = @mandatory_columns.collect(&:downcase) @missing_columns = [] end |
Instance Attribute Details
#mandatory_columns ⇒ Object (readonly)
Returns the value of attribute mandatory_columns.
12 13 14 |
# File 'lib/datashift/mandatory.rb', line 12 def mandatory_columns @mandatory_columns end |
#missing_columns ⇒ Object (readonly)
Returns the value of attribute missing_columns.
12 13 14 |
# File 'lib/datashift/mandatory.rb', line 12 def missing_columns @missing_columns end |
Instance Method Details
#contains_all?(binder) ⇒ Boolean
Sets mandatory_columns Returns true if bound methods contain every method listed in Mandatory
31 32 33 34 35 |
# File 'lib/datashift/mandatory.rb', line 31 def contains_all?( binder ) return true if(empty?) @missing_columns = @comparable_mandatory_columns - binder.operator_names.collect(&:downcase) @missing_columns.empty? end |
#empty? ⇒ Boolean
24 25 26 |
# File 'lib/datashift/mandatory.rb', line 24 def empty? @comparable_mandatory_columns.empty? end |