Class: ServiceKiosk::Kiosk

Inherits:
Object
  • Object
show all
Defined in:
lib/kiosk.rb

Constant Summary collapse

@@kiosks =
{}

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id) ⇒ Kiosk

Returns a new instance of Kiosk.



33
34
35
36
# File 'lib/kiosk.rb', line 33

def initialize(id)
  @id = id
  @is_remote = is_remote
end

Class Method Details

.gem_dirObject



26
27
28
29
30
31
# File 'lib/kiosk.rb', line 26

def self.gem_dir
  spec = Gem::Specification.find_by_name("service_kiosk")
  #gem_root = spec.gem_dir
  #gem_lib = gem_root + "/lib"
  spec.gem_dir
end

.open(handle_raw) ⇒ Object



11
12
13
14
15
16
17
18
19
20
# File 'lib/kiosk.rb', line 11

def self.open(handle_raw)
  handle = handle_raw.upcase
  kiosk = @@kiosks[handle]
  if kiosk.nil?
    locator = ENV['KIOSK_' + handle]
    kiosk = @@kiosks[handle] = ServiceKiosk::Kiosk.new locator if locator
  end
  raise "No '#{handle}' kiosk found" unless kiosk
  kiosk
end

.register(handle, locator) ⇒ Object



22
23
24
# File 'lib/kiosk.rb', line 22

def self.register(handle, locator)
  @@kiosks[handle.upcase] = ServiceKiosk::Kiosk.new locator
end

Instance Method Details

#is_remoteObject



46
47
48
# File 'lib/kiosk.rb', line 46

def is_remote
  /^http/.match @id
end

#service(name) ⇒ Object



38
39
40
41
42
43
44
# File 'lib/kiosk.rb', line 38

def service(name)
  if @is_remote
    ServiceKiosk::RemoteService.new @id, name
  else
    ServiceKiosk::InternalService.new @id, name
  end
end