Module: Trailblazer::Operation::Representer::ClassMethods
- Defined in:
- lib/trailblazer/operation/representer.rb
Instance Method Summary collapse
- #infer_representer_class ⇒ Object
- #representer(constant = nil, &block) ⇒ Object
- #representer_class ⇒ Object
- #representer_class=(constant) ⇒ Object
Instance Method Details
#infer_representer_class ⇒ Object
30 31 32 33 34 35 36 37 38 |
# File 'lib/trailblazer/operation/representer.rb', line 30 def infer_representer_class Disposable::Twin::Schema.from(contract_class, include: [Representable::JSON], options_from: :deserializer, # use :instance etc. in deserializer. superclass: Representable::Decorator, representer_from: lambda { |inline| inline.representer_class }, exclude_options: [:default, :populator] # TODO: test with populator: in an operation. ) end |
#representer(constant = nil, &block) ⇒ Object
15 16 17 18 19 20 |
# File 'lib/trailblazer/operation/representer.rb', line 15 def representer(constant=nil, &block) return representer_class unless constant or block_given? self.representer_class= Class.new(constant) if constant representer_class.class_eval(&block) if block_given? end |
#representer_class ⇒ Object
22 23 24 |
# File 'lib/trailblazer/operation/representer.rb', line 22 def representer_class self._representer_class ||= infer_representer_class end |
#representer_class=(constant) ⇒ Object
26 27 28 |
# File 'lib/trailblazer/operation/representer.rb', line 26 def representer_class=(constant) self._representer_class = constant end |