class JSONAPI::Operation

Attributes

operation_type[R]
options[R]
resource_klass[R]

Public Class Methods

new(operation_type, resource_klass, options) click to toggle source
# File lib/jsonapi/operation.rb, line 5
def initialize(operation_type, resource_klass, options)
  @operation_type = operation_type
  @resource_klass = resource_klass
  @options = options
end

Private Class Methods

_processor_from_resource_type(resource_klass) click to toggle source
# File lib/jsonapi/operation.rb, line 25
def _processor_from_resource_type(resource_klass)
  processor = resource_klass.name.gsub(/Resource$/,'Processor').safe_constantize
  if processor.nil?
    processor = JSONAPI.configuration.default_processor_klass
  end

  return processor
end
processor_instance_for(resource_klass, operation_type, params) click to toggle source
# File lib/jsonapi/operation.rb, line 21
def processor_instance_for(resource_klass, operation_type, params)
  _processor_from_resource_type(resource_klass).new(resource_klass, operation_type, params)
end

Public Instance Methods

process() click to toggle source
# File lib/jsonapi/operation.rb, line 11
def process
  processor.process
end

Private Instance Methods

processor() click to toggle source
# File lib/jsonapi/operation.rb, line 16
def processor
  self.class.processor_instance_for(resource_klass, operation_type, options)
end