Sha256: 6ae40eec7c5836a438080a9d86a4f28b4d5fbd5731635a80c2936087a16e315a

Contents?: true

Size: 1.66 KB

Versions: 19

Compression:

Stored size: 1.66 KB

Contents

module JSONAPI
  class OperationResult
    attr_accessor :code
    attr_accessor :meta
    attr_accessor :links
    attr_accessor :options

    def initialize(code, options = {})
      @code = code
      @options = options
      @meta = options.fetch(:meta, {})
      @links = options.fetch(:links, {})
    end
  end

  class ErrorsOperationResult < OperationResult
    attr_accessor :errors

    def initialize(code, errors, options = {})
      @errors = errors
      super(code, options)
    end
  end

  class ResourceOperationResult < OperationResult
    attr_accessor :resource

    def initialize(code, resource, options = {})
      @resource = resource
      super(code, options)
    end
  end

  class ResourcesOperationResult < OperationResult
    attr_accessor :resources, :pagination_params, :record_count, :page_count

    def initialize(code, resources, options = {})
      @resources = resources
      @pagination_params = options.fetch(:pagination_params, {})
      @record_count = options[:record_count]
      @page_count = options[:page_count]
      super(code, options)
    end
  end

  class RelatedResourcesOperationResult < ResourcesOperationResult
    attr_accessor :source_resource, :_type

    def initialize(code, source_resource, type, resources, options = {})
      @source_resource = source_resource
      @_type = type
      super(code, resources, options)
    end
  end

  class LinksObjectOperationResult < OperationResult
    attr_accessor :parent_resource, :relationship

    def initialize(code, parent_resource, relationship, options = {})
      @parent_resource = parent_resource
      @relationship = relationship
      super(code, options)
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
jsonapi-resources-0.9.6 lib/jsonapi/operation_result.rb
jsonapi-resources-0.9.5 lib/jsonapi/operation_result.rb
jsonapi-resources-0.9.4 lib/jsonapi/operation_result.rb
jsonapi-resources-0.9.3 lib/jsonapi/operation_result.rb
jsonapi-resources-0.9.2 lib/jsonapi/operation_result.rb
jsonapi-resources-0.9.1.beta2 lib/jsonapi/operation_result.rb
jsonapi-resources-0.9.1.beta1 lib/jsonapi/operation_result.rb
jsonapi-resources-0.9.0 lib/jsonapi/operation_result.rb
jsonapi-resources-0.9.0.beta3 lib/jsonapi/operation_result.rb
jsonapi-resources-0.8.3 lib/jsonapi/operation_result.rb
jsonapi-resources-0.8.2 lib/jsonapi/operation_result.rb
jsonapi-resources-0.9.0.beta2 lib/jsonapi/operation_result.rb
jsonapi-resources-0.9.0.beta1 lib/jsonapi/operation_result.rb
jsonapi-resources-0.8.1 lib/jsonapi/operation_result.rb
jsonapi-resources-0.8.0 lib/jsonapi/operation_result.rb
jsonapi-resources-0.8.0.beta3 lib/jsonapi/operation_result.rb
jsonapi-resources-0.8.0.beta2 lib/jsonapi/operation_result.rb
jsonapi-resources-0.8.0.beta1 lib/jsonapi/operation_result.rb
jsonapi-resources-0.7.1.beta2 lib/jsonapi/operation_result.rb