Class: DataShift::Mandatory

Inherits:
Object
  • Object
show all
Includes:
Logging
Defined in:
lib/datashift/mandatory.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

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_columnsObject (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_columnsObject (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

Returns:

  • (Boolean)


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

Returns:

  • (Boolean)


24
25
26
# File 'lib/datashift/mandatory.rb', line 24

def empty?
  @comparable_mandatory_columns.empty?
end