Sha256: 672ebb334ded982fea95965182fd0e97ab3c3db21f0abaa2a786e8297cedf6df
Contents?: true
Size: 678 Bytes
Versions: 7
Compression:
Stored size: 678 Bytes
Contents
module Lionel class ExportBuilder def self.build(&block) new.configure(&block) end def self.default build do A { id } B { name } C { url } end end def configure(&block) instance_eval(&block) self end def columns @columns ||= {} end def method_missing(sym, *args, &block) column_name = sym.to_s.upcase if column_name =~ /\A[A-Z]+\z/ columns[sym.to_s.upcase] = block_given? ? block : lambda { args.first } else raise ColumnNameError.new("Method '#{sym}' does not represent a valid Google Spreadsheet column name") end end end end
Version data entries
7 entries across 7 versions & 1 rubygems