Class: ActiveModelSerializers::Adapter::JsonApi::ResourceIdentifier
- Inherits:
-
Object
- Object
- ActiveModelSerializers::Adapter::JsonApi::ResourceIdentifier
- Defined in:
- lib/active_model_serializers/adapter/json_api/resource_identifier.rb
Class Method Summary collapse
- .for_type_with_id(type, id, options) ⇒ Object
- .type_for(class_name, serializer_type = nil, transform_options = {}) ⇒ Object
Instance Method Summary collapse
Constructor Details
#initialize(serializer, options) ⇒ ResourceIdentifier
34 35 36 37 |
# File 'lib/active_model_serializers/adapter/json_api/resource_identifier.rb', line 34 def initialize(serializer, ) @id = id_for(serializer) @type = type_for(serializer, ) end |
Class Method Details
.for_type_with_id(type, id, options) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/active_model_serializers/adapter/json_api/resource_identifier.rb', line 25 def self.for_type_with_id(type, id, ) return nil if id.blank? { id: id.to_s, type: type_for(:no_class_needed, type, ) } end |
.type_for(class_name, serializer_type = nil, transform_options = {}) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/active_model_serializers/adapter/json_api/resource_identifier.rb', line 5 def self.type_for(class_name, serializer_type = nil, = {}) if serializer_type raw_type = serializer_type else inflection = if ActiveModelSerializers.config.jsonapi_resource_type == :singular :singularize else :pluralize end raw_type = class_name.underscore raw_type = ActiveSupport::Inflector.public_send(inflection, raw_type) raw_type .gsub!('/'.freeze, ActiveModelSerializers.config.jsonapi_namespace_separator) raw_type end JsonApi.send(:transform_key_casing!, raw_type, ) end |
Instance Method Details
#as_json ⇒ Object
39 40 41 42 |
# File 'lib/active_model_serializers/adapter/json_api/resource_identifier.rb', line 39 def as_json return nil if id.blank? { id: id, type: type } end |