class Acoustid::API::Request::Base

Attributes

params[R]

Public Class Methods

base_uri() click to toggle source
# File lib/acoustid/api/request/base.rb, line 16
def base_uri
  URI.parse('http://api.acoustid.org/v2/')
end
new(params={}) click to toggle source
# File lib/acoustid/api/request/base.rb, line 33
def initialize(params={})
  raise TypeError, 'params must respond to :to_hash or :to_h' unless params.respond_to?(:to_hash) || params.respond_to?(:to_h)
  params = params.to_hash rescue params.to_h
  
  params.each { |param, value| send("#{param}=", value) }
end
path(value=nil) click to toggle source
# File lib/acoustid/api/request/base.rb, line 20
def path(value=nil)
  @path = value.to_s.strip unless value.nil?
  
  @path
end

Public Instance Methods

uri() click to toggle source
# File lib/acoustid/api/request/base.rb, line 40
def uri
  uri = self.class.base_uri.dup
  uri.path += self.class.path
  
  uri
end
valid?() click to toggle source
# File lib/acoustid/api/request/base.rb, line 47
def valid?
  self.class.required_params.none? do |required_param|
    param = send(required_param)
    
    param.nil? || param.empty?# rescue true
  end
end