Sha256: e700c119f462f7798c6d4db19db50dbc4668f23fab6280f43a15c45f660ed14c

Contents?: true

Size: 793 Bytes

Versions: 11

Compression:

Stored size: 793 Bytes

Contents

module TablePrint
  class Config
    cattr_accessor :max_width, :time_format

    DEFAULT_MAX_WIDTH = 30
    DEFAULT_TIME_FORMAT = "%Y-%m-%d %H:%M:%S"

    @@max_width = DEFAULT_MAX_WIDTH
    @@time_format = DEFAULT_TIME_FORMAT

    @@klasses = {}

    def self.set(klass, val)
      if klass.is_a? Class
        @@klasses[klass] = val  # val is a hash of column options
      else
        TablePrint::Config.send("#{klass}=", val.first)
      end
    end

    def self.for(klass)
      @@klasses.fetch(klass) {}
    end

    def self.clear(klass)
      if klass.is_a? Class
        @@klasses.delete(klass)
      else
        original_value = TablePrint::Config.const_get("DEFAULT_#{klass.to_s.upcase}")
        TablePrint::Config.send("#{klass}=", original_value)
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
table_print-1.3.1 lib/table_print/config.rb
table_print-1.3.0 lib/table_print/config.rb
table_print-1.2.0 lib/table_print/config.rb
table_print-1.1.5 lib/table_print/config.rb
table_print-1.1.4 lib/table_print/config.rb
table_print-1.1.3 lib/table_print/config.rb
table_print-1.1.2 lib/table_print/config.rb
table_print-1.1.1 lib/table_print/config.rb
table_print-1.1.0 lib/table_print/config.rb
table_print-1.0.1 lib/table_print/config.rb
table_print-1.0.0 lib/table_print/config.rb