Sha256: 1ea740a8140f45b04c735cf67e75ca82fcb436349a8aae9b98e51887b6b8e446

Contents?: true

Size: 671 Bytes

Versions: 1

Compression:

Stored size: 671 Bytes

Contents

module SimpleModel
  class Config
    DEFAULTS = {
      :initialize_defaults  => false,
      :attributes_store     => (RUBY_VERSION >= "2.2" ? :symbol : :string) # OPTIONS => :string, :symbol, :indifferent
    }.freeze

    ATTRIBUTE_STORES = {
      :symbol => :to_sym,
      :string => :to_s,
      :indifferent => :to_s
    }.freeze

    attr_accessor :initialize_defaults
    alias :initialize_defaults? :initialize_defaults

    attr_accessor :attributes_store

    def initialize
      DEFAULTS.each do |setting, val|
        self.send("#{setting}=", val)
      end
    end

    def attibutes_store_cast
      ATTRIBUTE_STORES[attributes_store]
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
simple_model-1.4.3 lib/simple_model/config.rb