Rename Settings to Config and use accessors to configure things

This commit is contained in:
Santiago Pastorino
2013-10-21 16:23:22 -02:00
parent 5b727cc291
commit 7dcef9f0f5
7 changed files with 83 additions and 85 deletions

View File

@@ -8,8 +8,8 @@ module ActiveModel
@name = name.to_s
@options = options
self.embed = options[:embed] || SETTINGS[:embed] || :objects
@embed_in_root = @embed_ids && (options[:include] || SETTINGS[:include])
self.embed = options[:embed] || CONFIG.embed || :objects
@embed_in_root = @embed_ids && (options[:include] || CONFIG.include)
@embed_key = options[:embed_key] || :id
@key = options[:key]
@embedded_key = options[:root] || name

View File

@@ -1,18 +1,16 @@
require 'active_support/hash_with_indifferent_access'
module ActiveModel
class Serializer
class Settings
class Config
def initialize
@data = ActiveSupport::HashWithIndifferentAccess.new
@data = {}
end
def [](key)
@data[key]
@data[key.to_s]
end
def []=(key, value)
@data[key] = value
@data[key.to_s] = value
end
def each(&block)
@@ -24,8 +22,9 @@ module ActiveModel
end
def method_missing(name, *args)
name = name.to_s
return @data[name] if @data.include?(name)
match = name.to_s.match(/(.*?)([?=]?)$/)
match = name.match(/\A(.*?)([?=]?)\Z/)
case match[2]
when "="
@data[match[1]] = args.first
@@ -35,6 +34,6 @@ module ActiveModel
end
end
SETTINGS = Settings.new
CONFIG = Config.new
end
end