class Drillbit::Resource::Model
Constants
- DEFAULT_PROCESSORS
Attributes
parameters[RW]
processors[R]
resource[RW]
Public Class Methods
new(resource:, parameters:, **options)
click to toggle source
# File lib/drillbit/resource/model.rb, line 17 def initialize(resource:, parameters:, **options) self.resource = resource self.parameters = parameters.dup self.processors = options.fetch(:processors, DEFAULT_PROCESSORS) end
Public Instance Methods
meta()
click to toggle source
# File lib/drillbit/resource/model.rb, line 29 def meta @meta ||= processors.inject({}) do |metadata, processor| metadata.merge processor.meta(processed, parameters) end end
processed()
click to toggle source
# File lib/drillbit/resource/model.rb, line 23 def processed @processed ||= processors.inject(resource) do |processed_resource, processor| processor.processed(processed_resource, parameters) end end
processors=(other)
click to toggle source
# File lib/drillbit/resource/model.rb, line 35 def processors=(other) @processors = other.map do |processor| Object.const_get "::Drillbit::Resource::Processors::#{processor.capitalize}" end end