Sha256: 02802b029fb826905e9ca8770c0584b69bb93060daed3b73507f59c476033cbd
Contents?: true
Size: 829 Bytes
Versions: 2
Compression:
Stored size: 829 Bytes
Contents
require 'honey_format/columns' module HoneyFormat # Represents a header class Header attr_reader :column_names # @return [Header] a new instance of Header. # @param [Array] header array of strings. # @param [Array] valid array of symbols representing valid columns. # @raise [MissingCSVHeaderError] raised when header is missing (empty or nil). def initialize(header, valid: :all) @column_names = build_header(header) @columns = Columns.new(@column_names, valid) end # Returns columns as array. # @return [Array] of columns. def columns @columns.to_a end private def build_header(header) if header.nil? || header.empty? fail(MissingCSVHeaderError, "CSV header can't be empty.") end Sanitize.array!(header) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
honey_format-0.2.1 | lib/honey_format/header.rb |
honey_format-0.2.0 | lib/honey_format/header.rb |