Module: Sequencescape::Api::Resource::Json

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

Defined Under Namespace

Modules: ClassMethods Classes: CoercionHandler

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



2
3
4
5
6
# File 'lib/sequencescape-api/resource/json.rb', line 2

def self.included(base)
  base.class_eval do
    extend ClassMethods
  end
end

Instance Method Details

#as_json(options = nil) ⇒ Object



46
47
48
49
# File 'lib/sequencescape-api/resource/json.rb', line 46

def as_json(options = nil)
  options = { action: :create, root: true }.merge(options || {})
  send(:"as_json_for_#{options[:action]}", options)
end

#changed?Boolean

Returns:

  • (Boolean)


86
87
88
# File 'lib/sequencescape-api/resource/json.rb', line 86

def changed?
  super or associations.values.any?(&:changed?)
end

#coerce_to(klazz) ⇒ Object

Coerces the current object instance to another class.



42
43
44
# File 'lib/sequencescape-api/resource/json.rb', line 42

def coerce_to(klazz)
  api.read_uuid(uuid, CoercionHandler.new(api, klazz))
end