nwrfc 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,46 +1,46 @@
1
- module NWRFC
2
-
3
- # Implementation of a server to host RFC functions to be called from an ABAP system
4
- class Server
5
-
6
- TIMEOUT = 0
7
-
8
- # Register a server with the given gateway and program ID
9
- def initialize(params)
10
- raise "Rarameters must be a Hash" unless params.instance_of? Hash
11
- @rparams = NWRFC.make_conn_params(params)
12
- raise "Could not create valid pointer from parameters" unless @rparams.instance_of? FFI::MemoryPointer
13
- @error = NWRFCLib::RFCError.new
14
- @handle = NWRFCLib.register_server(@rparams, params.size, @error)
15
- NWRFC.check_error(@error)
16
- end
17
-
18
-
19
- # Start serving an RFC function, given the definition and the block,
20
- # to which the connection and functions are yielded
21
- def serve(function, &block)
22
- # Establish callback handler
23
- callback = Proc.new do |connection, function_handle, error|
24
- function_call = FunctionCall.new(function_handle)
25
- yield(function_call)
26
- end
27
- rc = NWRFCLib.install_server_function(nil, function.desc, callback, @error)
28
- NWRFC.check_error(@error) if rc > 0
29
-
30
- # Server loop
31
- while (rc==NWRFCLib::RFC_RC[:RFC_OK] || rc==NWRFCLib::RFC_RC[:RFC_RETRY] || rc==NWRFCLib::RFC_RC[:RFC_ABAP_EXCEPTION])
32
- rc = NWRFCLib.listen_and_dispatch(@handle, TIMEOUT, @error)
33
- end
34
- end
35
-
36
- # Disconnect from the server
37
- def disconnect
38
- NWRFCLib.close_connection(@handle, @error)
39
- NWRFC.check_error(@error)
40
- end
41
-
42
- alias :close :disconnect
43
-
44
- end
45
-
1
+ module NWRFC
2
+
3
+ # Implementation of a server to host RFC functions to be called from an ABAP system
4
+ class Server
5
+
6
+ TIMEOUT = 0
7
+
8
+ # Register a server with the given gateway and program ID
9
+ def initialize(params)
10
+ raise "Rarameters must be a Hash" unless params.instance_of? Hash
11
+ @rparams = NWRFC.make_conn_params(params)
12
+ raise "Could not create valid pointer from parameters" unless @rparams.instance_of? FFI::MemoryPointer
13
+ @error = NWRFCLib::RFCError.new
14
+ @handle = NWRFCLib.register_server(@rparams, params.size, @error)
15
+ NWRFC.check_error(@error)
16
+ end
17
+
18
+
19
+ # Start serving an RFC function, given the definition and the block,
20
+ # to which the connection and functions are yielded
21
+ def serve(function, &block)
22
+ # Establish callback handler
23
+ callback = Proc.new do |connection, function_handle, error|
24
+ function_call = FunctionCall.new(function_handle)
25
+ yield(function_call)
26
+ end
27
+ rc = NWRFCLib.install_server_function(nil, function.desc, callback, @error)
28
+ NWRFC.check_error(@error) if rc > 0
29
+
30
+ # Server loop
31
+ while (rc==NWRFCLib::RFC_RC[:RFC_OK] || rc==NWRFCLib::RFC_RC[:RFC_RETRY] || rc==NWRFCLib::RFC_RC[:RFC_ABAP_EXCEPTION])
32
+ rc = NWRFCLib.listen_and_dispatch(@handle, TIMEOUT, @error)
33
+ end
34
+ end
35
+
36
+ # Disconnect from the server
37
+ def disconnect
38
+ NWRFCLib.close_connection(@handle, @error)
39
+ NWRFC.check_error(@error)
40
+ end
41
+
42
+ alias :close :disconnect
43
+
44
+ end
45
+
46
46
  end
metadata CHANGED
@@ -1,87 +1,65 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: nwrfc
3
- version: !ruby/object:Gem::Version
4
- hash: 21
5
- prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 5
10
- version: 0.0.5
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.6
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Martin Ceronio
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2012-03-09 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
11
+ date: 2014-06-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
21
14
  name: ffi
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 1
29
- segments:
30
- - 1
31
- - 0
32
- - 11
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ! '>='
18
+ - !ruby/object:Gem::Version
33
19
  version: 1.0.11
34
20
  type: :runtime
35
- version_requirements: *id001
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: 1.0.11
36
27
  description: SAP Netweaver RFC Library Wrapper using Ruby-FFI
37
28
  email: martin.ceronio@infosize.co.za
38
29
  executables: []
39
-
40
30
  extensions: []
41
-
42
- extra_rdoc_files:
31
+ extra_rdoc_files:
43
32
  - README.rdoc
44
- files:
33
+ files:
45
34
  - README.rdoc
46
35
  - Rakefile
47
- - lib/nwrfc.rb
48
- - lib/nwrfc/server.rb
49
36
  - lib/nwrfc/datacontainer.rb
50
37
  - lib/nwrfc/nwerror.rb
51
38
  - lib/nwrfc/nwrfclib.rb
39
+ - lib/nwrfc/server.rb
40
+ - lib/nwrfc.rb
52
41
  homepage: http://rubygems.org/gems/nwrfc
53
- licenses: []
54
-
42
+ licenses:
43
+ - MIT
44
+ metadata: {}
55
45
  post_install_message:
56
46
  rdoc_options: []
57
-
58
- require_paths:
47
+ require_paths:
59
48
  - lib
60
- required_ruby_version: !ruby/object:Gem::Requirement
61
- none: false
62
- requirements:
63
- - - ">="
64
- - !ruby/object:Gem::Version
65
- hash: 3
66
- segments:
67
- - 0
68
- version: "0"
69
- required_rubygems_version: !ruby/object:Gem::Requirement
70
- none: false
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- hash: 3
75
- segments:
76
- - 0
77
- version: "0"
49
+ required_ruby_version: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ required_rubygems_version: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ! '>='
57
+ - !ruby/object:Gem::Version
58
+ version: '0'
78
59
  requirements: []
79
-
80
60
  rubyforge_project:
81
- rubygems_version: 1.8.15
61
+ rubygems_version: 2.1.11
82
62
  signing_key:
83
- specification_version: 3
63
+ specification_version: 4
84
64
  summary: SAP Netweaver RFC Library Wrapper
85
65
  test_files: []
86
-
87
- has_rdoc: true