Class: PostmonRuby::Finders::Finder

Inherits:
Object
  • Object
show all
Defined in:
lib/postmon_ruby/finders/finder.rb

Instance Method Summary collapse

Instance Method Details

#arguments_sizeObject

Raises:

  • (NotImplementedError)


9
10
11
# File 'lib/postmon_ruby/finders/finder.rb', line 9

def arguments_size
  raise NotImplementedError
end

#arguments_uri(arguments) ⇒ Object



20
21
22
# File 'lib/postmon_ruby/finders/finder.rb', line 20

def arguments_uri(arguments)
  URI(URI::encode("#{ENDPOINT}/#{self.endpoint}/#{arguments.join("/")}")) 
end

#endpointObject

Raises:

  • (NotImplementedError)


5
6
7
# File 'lib/postmon_ruby/finders/finder.rb', line 5

def endpoint
  raise NotImplementedError
end

#search(finder, *arguments) ⇒ Object

Raises:

  • (ArgumentError)


13
14
15
16
17
18
# File 'lib/postmon_ruby/finders/finder.rb', line 13

def search(finder, *arguments)
  arguments.flatten!
  finder = PostmonRuby::Finders::Finders.get_finder(finder)
  raise ArgumentError.new("wrong number of arguments (#{arguments.size} for #{finder.arguments_size})") if finder.arguments_size != arguments.size
  finder.search(arguments)
end