2016-10-28 12:32:07 +00:00
|
|
|
class BaseSerializer
|
2017-09-07 17:08:56 +00:00
|
|
|
attr_reader :parameters
|
|
|
|
|
2016-11-03 11:54:10 +00:00
|
|
|
def initialize(parameters = {})
|
2017-09-07 17:08:56 +00:00
|
|
|
@parameters = parameters
|
2016-11-03 11:54:10 +00:00
|
|
|
@request = EntityRequest.new(parameters)
|
2016-10-28 12:32:07 +00:00
|
|
|
end
|
|
|
|
|
2017-05-09 04:15:34 +00:00
|
|
|
def represent(resource, opts = {}, entity_class = nil)
|
|
|
|
entity_class = entity_class || self.class.entity_class
|
|
|
|
|
|
|
|
entity_class
|
2016-11-04 14:00:39 +00:00
|
|
|
.represent(resource, opts.merge(request: @request))
|
2017-01-27 12:02:59 +00:00
|
|
|
.as_json
|
2016-10-28 12:32:07 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def self.entity(entity_class)
|
|
|
|
@entity_class ||= entity_class
|
|
|
|
end
|
|
|
|
|
|
|
|
def self.entity_class
|
|
|
|
@entity_class
|
|
|
|
end
|
|
|
|
end
|