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)
- + (Object) cache_key
-
+ (Symbol) default_key_transform
Sets the default transform for the adapter.
- + (Object) fragment_cache(cached_hash, non_cached_hash)
-
+ (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_key
- - (Object) fragment_cache(cached_hash, non_cached_hash)
-
- (Base) initialize(serializer, options = {})
constructor
A new instance of Base.
-
- (Object) serializable_hash(_options = nil)
Subclasses that implement this method must first call options = serialization_options(options).
Constructor Details
- (Base) initialize(serializer, options = {})
Returns a new instance of Base
47 48 49 50 |
# File 'lib/active_model_serializers/adapter/base.rb', line 47 def initialize(serializer, = {}) @serializer = serializer @instance_options = end |
Instance Attribute Details
- (Object) instance_options (readonly)
Returns the value of attribute instance_options
45 46 47 |
# File 'lib/active_model_serializers/adapter/base.rb', line 45 def @instance_options end |
- (Object) serializer (readonly)
Returns the value of attribute serializer
45 46 47 |
# File 'lib/active_model_serializers/adapter/base.rb', line 45 def serializer @serializer end |
Class Method Details
+ (Object) cache_key
37 38 39 |
# File 'lib/active_model_serializers/adapter/base.rb', line 37 def self.cache_key @cache_key ||= ActiveModelSerializers::Adapter.registered_name(self) end |
+ (Symbol) default_key_transform
Sets the default transform for the adapter.
14 15 16 |
# File 'lib/active_model_serializers/adapter/base.rb', line 14 def self.default_key_transform :unaltered end |
+ (Object) fragment_cache(cached_hash, non_cached_hash)
41 42 43 |
# File 'lib/active_model_serializers/adapter/base.rb', line 41 def self.fragment_cache(cached_hash, non_cached_hash) non_cached_hash.merge cached_hash 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.
23 24 25 26 |
# File 'lib/active_model_serializers/adapter/base.rb', line 23 def self.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.
33 34 35 |
# File 'lib/active_model_serializers/adapter/base.rb', line 33 def self.transform_key_casing!(value, ) KeyTransform.send(transform(), value) end |
Instance Method Details
- (Object) as_json(options = nil)
58 59 60 |
# File 'lib/active_model_serializers/adapter/base.rb', line 58 def as_json( = nil) serializable_hash() end |
- (Object) cache_key
62 63 64 |
# File 'lib/active_model_serializers/adapter/base.rb', line 62 def cache_key self.class.cache_key end |
- (Object) fragment_cache(cached_hash, non_cached_hash)
66 67 68 |
# File 'lib/active_model_serializers/adapter/base.rb', line 66 def fragment_cache(cached_hash, non_cached_hash) self.class.fragment_cache(cached_hash, non_cached_hash) end |
- (Object) serializable_hash(_options = nil)
Subclasses that implement this method must first call
= ()
54 55 56 |
# File 'lib/active_model_serializers/adapter/base.rb', line 54 def serializable_hash( = nil) fail NotImplementedError, 'This is an abstract method. Should be implemented at the concrete adapter.' end |