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)


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

def arguments_size
  raise NotImplementedError
end

#arguments_uri(arguments) ⇒ Object



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

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

#endpointObject

Raises:

  • (NotImplementedError)


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

def endpoint
  raise NotImplementedError
end

#search(finder, *arguments) ⇒ Object

Raises:

  • (ArgumentError)


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

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