Sha256: ad9dc2ca901c9bba59f53e5c9a84b72660ea99b3908eab06b229f6b8f06c869e
Contents?: true
Size: 879 Bytes
Versions: 3
Compression:
Stored size: 879 Bytes
Contents
# frozen_string_literal: true require "recite_csv/header" require "recite_csv/row" require "recite_csv/reader/core" require "recite_csv/reader/dsl" module ReciteCSV module Reader class Builder < ::Module def initialize(header_definition, &block) definition = Header::Definition.dispatch(header_definition) @definition = definition @row_class = ::Class.new(Row::Base) do |klass| klass.include definition.build_column_methods_module klass.class_exec(&block) if block_given? end end private def included(class_or_module) class_or_module.include Core class_or_module.const_set(:Row, @row_class) class_or_module.const_set(:DEFAULT_CSV_OPTIONS, @definition.default_csv_options) class_or_module.extend DSL end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
recite_csv-2.0.0 | lib/recite_csv/reader/builder.rb |
recite_csv-1.0.0 | lib/recite_csv/reader/builder.rb |
recite_csv-0.2.0 | lib/recite_csv/reader/builder.rb |