mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-25 07:16:49 +00:00
Add setup method and Setting object to configure AMS
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
require 'active_model/array_serializer'
|
||||
require 'active_model/serializable'
|
||||
require 'active_model/serializer/associations'
|
||||
require 'active_model/serializer/settings'
|
||||
|
||||
module ActiveModel
|
||||
class Serializer
|
||||
@@ -12,6 +13,10 @@ module ActiveModel
|
||||
base._associations = []
|
||||
end
|
||||
|
||||
def setup
|
||||
yield SETTINGS
|
||||
end
|
||||
|
||||
def serializer_for(resource)
|
||||
if resource.respond_to?(:to_ary)
|
||||
ArraySerializer
|
||||
|
||||
27
lib/active_model/serializer/settings.rb
Normal file
27
lib/active_model/serializer/settings.rb
Normal file
@@ -0,0 +1,27 @@
|
||||
module ActiveModel
|
||||
class Serializer
|
||||
class Settings
|
||||
def initialize
|
||||
@data = {}
|
||||
end
|
||||
|
||||
def [](key)
|
||||
@data[key.to_s]
|
||||
end
|
||||
|
||||
def []=(key, value)
|
||||
@data[key.to_s] = value
|
||||
end
|
||||
|
||||
def each(&block)
|
||||
@data.each(&block)
|
||||
end
|
||||
|
||||
def clear
|
||||
@data.clear
|
||||
end
|
||||
end
|
||||
|
||||
SETTINGS = Settings.new
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user