Sha256: 5c0c59fe449d91cd90dd6518dc1bc719e33a1ee3b7faadbaaee10ec69dcdcee6
Contents?: true
Size: 778 Bytes
Versions: 3
Compression:
Stored size: 778 Bytes
Contents
# -*- coding: utf-8 -*- require 'comma/data_extractor' require 'comma/header_extractor' class Object class_attribute :comma_formats def self.comma(style = :default, &block) (self.comma_formats ||= {})[style] = block end def to_comma(style = :default) extract_with(Comma::DataExtractor, style) end def to_comma_headers(style = :default) extract_with(Comma::HeaderExtractor, style) end private def extract_with(extractor_class, style = :default) raise_unless_style_exists(style) extractor_class.new(self, style, self.class.comma_formats).results end def raise_unless_style_exists(style) raise "No comma format for class #{self.class} defined for style #{style}" unless self.comma_formats && self.comma_formats[style] end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
comma-3.2.2 | lib/comma/object.rb |
comma-3.2.1 | lib/comma/object.rb |
comma-3.2.0 | lib/comma/object.rb |