Class: Trackerific::Services::MockService

Inherits:
Base
  • Object
show all
Defined in:
lib/trackerific/services/mock_service.rb

Overview

Provides a mock service for using in test and development

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

can_track?, register, track

Class Method Details

.package_id_matchersArray, Regexp

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Regular expression matchers for mocked Trackerific service

Returns:

  • (Array, Regexp)

    the regular expression



12
13
14
# File 'lib/trackerific/services/mock_service.rb', line 12

def self.package_id_matchers
  [ /XXXXXXXXXX/, /XXXxxxxxxx/ ]
end

Instance Method Details

#track(id) ⇒ Trackerific::Details

Sets up a mocked package details

Examples:

Track a package

service = Trackerific::Services::MockedService.new
details = service.track("XXXXXXXXXX") # => valid response
details = service.track("XXXxxxxxxx") # => throws a Trackerific::Error exception

Parameters:

  • package_id (String)

    the package identifier

Returns:

Raises:



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/trackerific/services/mock_service.rb', line 25

def track(id)
  if id == "XXXXXXXXXX"
    Trackerific::Details.new(id, "Your package was delivered.",
      [
        Trackerific::Event.new(
          :date         => Date.today,
          :description  => "Package delivered.",
          :location     => "SANTA MARIA, CA"
        ),
        Trackerific::Event.new(
          :date         => Date.today - 1,
          :description  => "Package scanned.",
          :location     => "SANTA BARBARA, CA"
        ),
        Trackerific::Event.new(
          :date         => Date.today - 2,
          :description  => "Package picked up for delivery.",
          :location     => "LOS ANGELES, CA"
        )
      ]
    )
  else
    raise Trackerific::Error, "Package not found."
  end
end