lib/recite_csv/header/definition.rb in recite_csv-0.1.1 vs lib/recite_csv/header/definition.rb in recite_csv-0.1.2
- old
+ new
@@ -18,22 +18,23 @@
{}.freeze
end
def self.new(*)
if self == Base
- raise ::NotImplementedError, "#{self} is an abstract class and cannot be instantiated."
+ raise ::NotImplementedError,
+ "#{self} is an abstract class and cannot be instantiated."
end
super
end
end
class Hash < Base
DEFAULT_CSV_OPTIONS = { headers: :first_row }.freeze
class ColumnMethodsBuilder < ::Module
def initialize(raw_definition)
- raw_definition.each do |method_name, header_name|
+ raw_definition.each_pair do |method_name, header_name|
define_method method_name do
self[header_name]
end
end
end
@@ -63,11 +64,15 @@
}.freeze
module_function
def dispatch(header_definition)
- _, definition_class = DEFINITIONS.find { |klass, _| header_definition.is_a? klass }
- raise ::ArgumentError, "Unexpected header definition type" unless definition_class
+ _, definition_class = DEFINITIONS.find do |klass, _|
+ header_definition.is_a? klass
+ end
+ unless definition_class
+ raise ::ArgumentError, "Unexpected header definition type"
+ end
definition_class.new(header_definition)
end
end
end
end