Class: Acoustid::API::Request::Lookup

Inherits:
Base
  • Object
show all
Defined in:
lib/acoustid/api/request/lookup.rb

Constant Summary

Constants included from ParamValidations

ParamValidations::VALID_META_VALUES

Instance Attribute Summary

Attributes inherited from Base

#params

Instance Method Summary collapse

Methods inherited from Base

base_uri, #initialize, path, #uri

Methods included from ParamAttributes

#param, #param_reader, #param_writer, #required_params

Methods included from ParamValidations

#serialize_integer, #serialize_meta, #serialize_string, #validate_duration, #validate_format, #validate_meta

Constructor Details

This class inherits a constructor from Acoustid::API::Request::Base

Instance Method Details

#valid?Boolean

Different logic is needed for the validation of this API method

Returns:

  • (Boolean)


33
34
35
36
37
38
39
40
41
# File 'lib/acoustid/api/request/lookup.rb', line 33

def valid?
  invalid_duration = duration.nil?
  invalid_fingerprint = fingerprint.nil? || fingerprint.empty?
  invalid_track_id = track_id.nil? || track_id.empty?
  
  invalid_duration_and_fingerprint = invalid_duration && invalid_fingerprint
  
  super && (!invalid_duration_and_fingerprint && invalid_track_id || invalid_duration_and_fingerprint && !invalid_track_id)
end