Class: Parkeon::Session

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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(session_id) ⇒ Session

Returns a new instance of Session.



30
31
32
# File 'lib/parkeon/session.rb', line 30

def initialize(session_id)
  @session_id = session_id
end

Class Method Details

.createObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/parkeon/session.rb', line 4

def self.create
  response =
    Gateway.create_session do |xml|
      xml.member {
        xml.name "requester"
        xml.value {
          xml.string Config.requester 
        }
      }
      xml.member {
        xml.name "service" 
        xml.value {
          xml.string Config.service 
        }
      }
      xml.member {
        xml.name "version" 
        xml.value {
          xml.i4 Config.version 
        }
      }
    end

  new( response.find("member value i4").text ) if response.success?
end

Instance Method Details

#invoke(method, &block) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/parkeon/session.rb', line 34

def invoke(method, &block) 
  Gateway.invoke_session do |xml|
    xml.member {
      xml.name "session_id" 
      xml.value {
        xml.i4 session_id 
      }
    }

    xml.member {
      xml.name "method" 
      xml.value {
        xml.string method 
      }
    }

    xml.member {
      xml.name "parameters" 
      xml.value {
        xml.struct {
          block.call(xml) 
        } 
      }
    }
  end
end

#terminateObject



61
62
63
64
65
66
67
68
69
70
# File 'lib/parkeon/session.rb', line 61

def terminate
  Gateway.terminate_session do |xml|
    xml.member {
      xml.name "session_id" 
      xml.value {
        xml.i4 session_id 
      }
    }
  end
end