client_for_poslynx 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/CHANGELOG +52 -43
- data/lib/client_for_poslynx/net/em_session.rb +19 -3
- data/lib/client_for_poslynx/version.rb +1 -1
- data/spec/client_for_poslynx/net/em_session_spec.rb +22 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NzFmYTkyYTMxMmQ2M2RiNDhmMGFiZDc1YTk5MmYwOWVkYmM3ZTgwMg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NDk0ZTUwMzJiNGJmMTlhZWUwNDY5OGI4MDQ5ZDFkNzdkMTgzMjBmMQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MzY3NDY0NzY2ZjA5NjRlYWUxYjUwOWM0Y2U3YTc0ODIyNDliNTFkOWU3ZDA3
|
10
|
+
NmFmNDBhYzBmNzc3ZDQ5NjgxZDRkYmMzNmRlNWRkYzczMDEzMjk0ZmVlZjk5
|
11
|
+
Yjk0MzdlYWQ4MDFjZjQwZGIzZWQ1Yjk4NjY0OGFjNGM5YTI2NGQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZTkxNjY5MTM4NGQyNGNmYWRiMDg1YmFiMzQ4NDNkMmUyYmI1ZjRhYzBhY2I4
|
14
|
+
ODNhZjYzODEwMjdiMzkxZjE3NDZkNjllYjZhNjM4OGQxYTkzMDU1NDgxOGI1
|
15
|
+
MDYwNTRkNzg5NzE1NjcyOGRjZjdlYmI3MTIxYjVlYjdjZjlmMTA=
|
data/CHANGELOG
CHANGED
@@ -1,48 +1,11 @@
|
|
1
|
-
Version
|
2
|
-
-
|
3
|
-
|
4
|
-
Version 0.1.0
|
5
|
-
- Initial release
|
6
|
-
|
7
|
-
Version 0.1.1
|
8
|
-
- Add CHANGELOG file
|
1
|
+
Version 1.0.1
|
2
|
+
- Allow nested calls to EM_Session#exec_dissociated
|
9
3
|
|
10
|
-
Version 0.
|
11
|
-
-
|
4
|
+
Version 1.0.0
|
5
|
+
- Fake POS terminal script accepts local IP address parameter.
|
12
6
|
|
13
|
-
Version 0.
|
14
|
-
-
|
15
|
-
|
16
|
-
Version 0.2.2
|
17
|
-
- Specify Ruby version requirement of 1.9.3 or greater.
|
18
|
-
|
19
|
-
Version 0.2.3
|
20
|
-
- Fix bug: Fake terminal script crashes with stak overflow when
|
21
|
-
a single text value is supplied.
|
22
|
-
|
23
|
-
Version 0.2.4
|
24
|
-
- Fix bug: Fake terminal script crashes during user interaction
|
25
|
-
for a debit sale request without a specified cash back amount.
|
26
|
-
|
27
|
-
Version 0.2.5
|
28
|
-
- Introduce experimental signature image parsing and conversion
|
29
|
-
to SVG.
|
30
|
-
- Fix bug: New format of POSLynx response message XML was causing
|
31
|
-
client to hang.
|
32
|
-
|
33
|
-
Version 0.2.6
|
34
|
-
- Add enhanced-format signature data handling.
|
35
|
-
- Fix misconception about signed number representation in signa-
|
36
|
-
ture image data.
|
37
|
-
- Bring signature image handling out of experimental status.
|
38
|
-
|
39
|
-
Version 0.3.0
|
40
|
-
- Allow user to cancel waiting for reply in
|
41
|
-
poslynx_client_console.
|
42
|
-
- Support SSL connections from poslynx_client_console.
|
43
|
-
- Change word separators in poslynx_client_console from under-
|
44
|
-
scores to dashes.
|
45
|
-
- Fake Poslynx includes signature image data in response.
|
7
|
+
Version 1.0.0.pre
|
8
|
+
- Add EM_connector adapter and EM_Session adapter
|
46
9
|
|
47
10
|
Version 0.9.0
|
48
11
|
- Add a network client in the form of an EventManager protocol.
|
@@ -55,3 +18,49 @@ Version 0.9.0
|
|
55
18
|
- Overhaul the fake pos terminal script to be based on
|
56
19
|
EventMachine and to allow request processing to be interrupted
|
57
20
|
by the receipt of a new request.
|
21
|
+
|
22
|
+
Version 0.3.0
|
23
|
+
- Allow user to cancel waiting for reply in
|
24
|
+
poslynx_client_console.
|
25
|
+
- Support SSL connections from poslynx_client_console.
|
26
|
+
- Change word separators in poslynx_client_console from under-
|
27
|
+
scores to dashes.
|
28
|
+
- Fake Poslynx includes signature image data in response.
|
29
|
+
|
30
|
+
Version 0.2.6
|
31
|
+
- Add enhanced-format signature data handling.
|
32
|
+
- Fix misconception about signed number representation in signa-
|
33
|
+
ture image data.
|
34
|
+
- Bring signature image handling out of experimental status.
|
35
|
+
|
36
|
+
Version 0.2.5
|
37
|
+
- Introduce experimental signature image parsing and conversion
|
38
|
+
to SVG.
|
39
|
+
- Fix bug: New format of POSLynx response message XML was causing
|
40
|
+
client to hang.
|
41
|
+
|
42
|
+
Version 0.2.4
|
43
|
+
- Fix bug: Fake terminal script crashes during user interaction
|
44
|
+
for a debit sale request without a specified cash back amount.
|
45
|
+
|
46
|
+
Version 0.2.3
|
47
|
+
- Fix bug: Fake terminal script crashes with stak overflow when
|
48
|
+
a single text value is supplied.
|
49
|
+
|
50
|
+
Version 0.2.2
|
51
|
+
- Specify Ruby version requirement of 1.9.3 or greater.
|
52
|
+
|
53
|
+
Version 0.2.1
|
54
|
+
- Relax Nokogiri gem version requirement.
|
55
|
+
|
56
|
+
Version 0.2.0
|
57
|
+
- Improve API for specifying attribute element mappings.
|
58
|
+
|
59
|
+
Version 0.1.1
|
60
|
+
- Add CHANGELOG file
|
61
|
+
|
62
|
+
Version 0.1.0
|
63
|
+
- Initial release
|
64
|
+
|
65
|
+
Version 0.0.1
|
66
|
+
- Initial development
|
@@ -118,13 +118,29 @@ module ClientForPoslynx
|
|
118
118
|
# EventMachine::defer and has the same considerations and
|
119
119
|
# caveats.
|
120
120
|
#
|
121
|
+
# When a call to #exec_dissociated is nested within a
|
122
|
+
# block passed to anothet call, only the outermost invo-
|
123
|
+
# cation is deferred, and the inner call executes in the
|
124
|
+
# same thread as the outer call.
|
125
|
+
#
|
121
126
|
# Note that methods of the session should not be called by
|
122
127
|
# code within the block since those methods should only be
|
123
128
|
# called from code running in the main event loop thread.
|
124
129
|
def exec_dissociated(&block)
|
125
|
-
|
126
|
-
|
127
|
-
|
130
|
+
@currently_dissociated ||= false
|
131
|
+
|
132
|
+
if @currently_dissociated
|
133
|
+
block.call
|
134
|
+
else
|
135
|
+
begin
|
136
|
+
@currently_dissociated = true
|
137
|
+
was_successful, resp_data_or_ex = Fiber.yield( [:_exec_dissociated, block] )
|
138
|
+
raise resp_data_or_ex unless was_successful
|
139
|
+
resp_data_or_ex
|
140
|
+
ensure
|
141
|
+
@currently_dissociated = false
|
142
|
+
end
|
143
|
+
end
|
128
144
|
end
|
129
145
|
|
130
146
|
# Returns control to EventMachine, and returns control to
|
@@ -252,7 +252,7 @@ module ClientForPoslynx
|
|
252
252
|
end
|
253
253
|
end
|
254
254
|
|
255
|
-
context "executing a dissociated
|
255
|
+
context "executing a dissociated block" do
|
256
256
|
before do
|
257
257
|
allow( em_system ).to receive( :defer ) do |block, callback|
|
258
258
|
result = block.call
|
@@ -286,6 +286,27 @@ module ClientForPoslynx
|
|
286
286
|
end
|
287
287
|
end
|
288
288
|
|
289
|
+
context "executing a nested dissociated block" do
|
290
|
+
it "defers execution of the outer code block only" do
|
291
|
+
(
|
292
|
+
allow( em_system ).
|
293
|
+
to receive( :defer ) do |block, callback|
|
294
|
+
result = block.call
|
295
|
+
callback.call result
|
296
|
+
end
|
297
|
+
).once
|
298
|
+
|
299
|
+
exec_result = nil
|
300
|
+
subject.execute do |s|
|
301
|
+
subject.exec_dissociated {
|
302
|
+
exec_result = subject.exec_dissociated { :the_result }
|
303
|
+
}
|
304
|
+
end
|
305
|
+
expect( exec_result ).to eq( :the_result )
|
306
|
+
end
|
307
|
+
|
308
|
+
end
|
309
|
+
|
289
310
|
context "sleeping" do
|
290
311
|
before do
|
291
312
|
@run_sequence = []
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: client_for_poslynx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steve Jorgensen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06-
|
11
|
+
date: 2015-06-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|