class Apia::LookupArgumentSet
Public Class Methods
collate_objects(set)
click to toggle source
Finds all objects referenced by this argument set and add them to the provided set.
@param set [Apia::ObjectSet] @return [void]
Calls superclass method
Apia::ArgumentSet::collate_objects
# File lib/apia/lookup_argument_set.rb, line 24 def collate_objects(set) super definition.potential_errors.each do |error| set.add_object(error) end end
definition()
click to toggle source
Return the definition for this argument set
@return [Apia::Definitions::ArgumentSet]
# File lib/apia/lookup_argument_set.rb, line 15 def definition @definition ||= Definitions::LookupArgumentSet.new(Helpers.class_name_to_id(name)) end
Public Instance Methods
environment()
click to toggle source
# File lib/apia/lookup_argument_set.rb, line 40 def environment @environment ||= LookupEnvironment.new(self) end
resolve(*args)
click to toggle source
# File lib/apia/lookup_argument_set.rb, line 34 def resolve(*args) return if self.class.definition.resolver.nil? environment.call(@request, *args, &self.class.definition.resolver) end
validate(argument, index: nil)
click to toggle source
# File lib/apia/lookup_argument_set.rb, line 44 def validate(argument, index: nil) if @source.empty? raise InvalidArgumentError.new(argument, issue: :missing_lookup_value, index: index, path: @path) end if @source.values.compact.size > 1 raise InvalidArgumentError.new(argument, issue: :ambiguous_lookup_values, index: index, path: @path) end true end