Module: Sequencescape::Api::Associations::InstanceMethods

Defined in:
lib/sequencescape-api/associations.rb

Defined Under Namespace

Classes: CompositeErrors

Instance Method Summary collapse

Instance Method Details

#attributes_for(path, default_value_if_missing = nil) ⇒ Object



55
56
57
58
# File 'lib/sequencescape-api/associations.rb', line 55

def attributes_for(path, default_value_if_missing = nil)
  attributes_from_path(path, default_value_if_missing) or
    raise Sequencescape::Api::JsonError.new(path.to_s, self)
end

#attributes_for?(path) ⇒ Boolean

Returns:

  • (Boolean)


60
61
62
# File 'lib/sequencescape-api/associations.rb', line 60

def attributes_for?(path)
  !!attributes_from_path(path)
end

#errorsObject



107
108
109
# File 'lib/sequencescape-api/associations.rb', line 107

def errors
  @errors ||= CompositeErrors.new(self)
end

#initialize(*args, &block) ⇒ Object



42
43
44
45
46
# File 'lib/sequencescape-api/associations.rb', line 42

def initialize(*args, &block)
  @associations = {}
  @errors = nil
  super
end

#is_association?(name) ⇒ Boolean

Returns:

  • (Boolean)


51
52
53
# File 'lib/sequencescape-api/associations.rb', line 51

def is_association?(name)
  associations.key?(name.to_sym)
end

#run_validations!Object



69
70
71
72
73
# File 'lib/sequencescape-api/associations.rb', line 69

def run_validations!
  our_result = super
  their_result = @associations.values.all?(&:run_validations!)
  our_result and their_result
end