Class: DryCrudJsonapi::Serializer
- Inherits:
-
Object
- Object
- DryCrudJsonapi::Serializer
- Defined in:
- app/domain/dry_crud_jsonapi/serializer.rb
Instance Attribute Summary collapse
-
#define_conditionals ⇒ Object
readonly
Returns the value of attribute define_conditionals.
-
#model_class ⇒ Object
readonly
Returns the value of attribute model_class.
-
#serializer_class ⇒ Object
readonly
Returns the value of attribute serializer_class.
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(model_class) ⇒ Serializer
constructor
A new instance of Serializer.
Constructor Details
#initialize(model_class) ⇒ Serializer
Returns a new instance of Serializer.
5 6 7 8 9 10 11 12 13 14 |
# File 'app/domain/dry_crud_jsonapi/serializer.rb', line 5 def initialize(model_class) @model_class = model_class.to_s.constantize @serializer_class = Class.new(JSONAPI::Serializable::Resource) @serializer_class.send :extend, JSONAPI::Serializable::Resource::ConditionalFields @define_conditionals = { vmware_license: { if: -> { @current_user.license? } }, discoverer: { if: -> { @object.try(:discoverer_id).present? } } } end |
Instance Attribute Details
#define_conditionals ⇒ Object (readonly)
Returns the value of attribute define_conditionals.
3 4 5 |
# File 'app/domain/dry_crud_jsonapi/serializer.rb', line 3 def define_conditionals @define_conditionals end |
#model_class ⇒ Object (readonly)
Returns the value of attribute model_class.
3 4 5 |
# File 'app/domain/dry_crud_jsonapi/serializer.rb', line 3 def model_class @model_class end |
#serializer_class ⇒ Object (readonly)
Returns the value of attribute serializer_class.
3 4 5 |
# File 'app/domain/dry_crud_jsonapi/serializer.rb', line 3 def serializer_class @serializer_class end |
Instance Method Details
#build ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'app/domain/dry_crud_jsonapi/serializer.rb', line 16 def build define_type define_attributes define_link_to_self define_has_one_relations define_belongs_to_relations define_has_many_relations(:through) define_has_many_relations(:has_many) serializer_class end |