Module: Sequencescape::Api::Resource::InstanceMethods

Included in:
Sequencescape::Api::Resource
Defined in:
lib/sequencescape-api/resource/instance_methods.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object

rubocop:todo Metrics/MethodLength



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/sequencescape-api/resource/instance_methods.rb', line 2

def self.included(base) # rubocop:todo Metrics/MethodLength
  base.class_eval do
    attr_reader :api, :actions, :uuid
    private :api, :actions
    alias_method(:model, :class)
    alias_method(:id, :uuid)

    delegate :hash, to: :uuid
    delegate :read_timeout, to: :api

    attribute_accessor :created_at, :updated_at, conversion: :to_time

    private

    def attributes
      @_attributes_
    end
  end
end

Instance Method Details

#eql?(object_or_proxy) ⇒ Boolean

Returns:

  • (Boolean)


22
23
24
25
26
# File 'lib/sequencescape-api/resource/instance_methods.rb', line 22

def eql?(object_or_proxy)
  return false unless object_or_proxy.respond_to?(:uuid)

  uuid.eql?(object_or_proxy.uuid)
end

#initialize(api, _json = nil, _wrapped = false) ⇒ Object



28
29
30
31
# File 'lib/sequencescape-api/resource/instance_methods.rb', line 28

def initialize(api, _json = nil, _wrapped = false)
  @api = api
  @_attributes_ = {}
end