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



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

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)


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

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

#errorsObject



105
106
107
# File 'lib/sequencescape-api/associations.rb', line 105

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

#initialize(*args, &block) ⇒ Object



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

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

#is_association?(name) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#run_validations!Object



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

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