Class: ActiveModelSerializers::Adapter::Base
- Inherits:
-
Object
- Object
- ActiveModelSerializers::Adapter::Base
- Defined in:
- lib/active_model_serializers/adapter/base.rb
Direct Known Subclasses
ActiveModel::Serializer::Adapter::Base, Attributes, Json, JsonApi, Null
Instance Attribute Summary (collapse)
-
- (Object) instance_options
readonly
Returns the value of attribute instance_options.
-
- (Object) serializer
readonly
Returns the value of attribute serializer.
Class Method Summary (collapse)
-
+ (Symbol) default_key_transform
Sets the default transform for the adapter.
-
+ (Object) inherited(subclass)
Automatically register adapters when subclassing.
-
+ (Symbol) transform(options)
Determines the transform to use in order of precedence: adapter option, global config, adapter default.
-
+ (Symbol) transform_key_casing!(value, options)
Transforms the casing of the supplied value.
Instance Method Summary (collapse)
- - (Object) as_json(options = nil)
- - (Object) cache_check(serializer)
- - (Object) cached_name
- - (Object) fragment_cache(cached_hash, non_cached_hash)
-
- (Base) initialize(serializer, options = {})
constructor
A new instance of Base.
- - (Object) serializable_hash(_options = nil)
Constructor Details
- (Base) initialize(serializer, options = {})
Returns a new instance of Base
13 14 15 16 |
# File 'lib/active_model_serializers/adapter/base.rb', line 13 def initialize(serializer, = {}) @serializer = serializer @instance_options = end |
Instance Attribute Details
- (Object) instance_options (readonly)
Returns the value of attribute instance_options
11 12 13 |
# File 'lib/active_model_serializers/adapter/base.rb', line 11 def @instance_options end |
- (Object) serializer (readonly)
Returns the value of attribute serializer
11 12 13 |
# File 'lib/active_model_serializers/adapter/base.rb', line 11 def serializer @serializer end |
Class Method Details
+ (Symbol) default_key_transform
Sets the default transform for the adapter.
65 66 67 |
# File 'lib/active_model_serializers/adapter/base.rb', line 65 def default_key_transform :unaltered end |
+ (Object) inherited(subclass)
Automatically register adapters when subclassing
7 8 9 |
# File 'lib/active_model_serializers/adapter/base.rb', line 7 def self.inherited(subclass) ActiveModelSerializers::Adapter.register(subclass) end |
+ (Symbol) transform(options)
Determines the transform to use in order of precedence:
adapter option, global config, adapter default.
74 75 76 77 |
# File 'lib/active_model_serializers/adapter/base.rb', line 74 def transform() return [:key_transform] if && [:key_transform] ActiveModelSerializers.config.key_transform || default_key_transform end |
+ (Symbol) transform_key_casing!(value, options)
Transforms the casing of the supplied value.
84 85 86 |
# File 'lib/active_model_serializers/adapter/base.rb', line 84 def transform_key_casing!(value, ) KeyTransform.send(transform(), value) end |
Instance Method Details
- (Object) as_json(options = nil)
26 27 28 29 30 |
# File 'lib/active_model_serializers/adapter/base.rb', line 26 def as_json( = nil) hash = serializable_hash() (hash) hash end |
- (Object) cache_check(serializer)
36 37 38 39 40 |
# File 'lib/active_model_serializers/adapter/base.rb', line 36 def cache_check(serializer) CachedSerializer.new(serializer).cache_check(self) do yield end end |
- (Object) cached_name
18 19 20 |
# File 'lib/active_model_serializers/adapter/base.rb', line 18 def cached_name @cached_name ||= self.class.name.demodulize.underscore end |
- (Object) fragment_cache(cached_hash, non_cached_hash)
32 33 34 |
# File 'lib/active_model_serializers/adapter/base.rb', line 32 def fragment_cache(cached_hash, non_cached_hash) non_cached_hash.merge cached_hash end |
- (Object) serializable_hash(_options = nil)
22 23 24 |
# File 'lib/active_model_serializers/adapter/base.rb', line 22 def serializable_hash( = nil) fail NotImplementedError, 'This is an abstract method. Should be implemented at the concrete adapter.' end |