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