Sha256: 13c572ad06dad4be0248d73f706d4f4d7e305cd387aeb9c38d68025f3a4ea5d2

Contents?: true

Size: 672 Bytes

Versions: 2

Compression:

Stored size: 672 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

2 entries across 2 versions & 1 rubygems

Version Path
simple_model-1.4.2 lib/simple_model/config.rb
simple_model-1.4.1 lib/simple_model/config.rb