da_funk 3.21.2 → 3.24.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8e875275390a4f7dc2339aee32563d421eefb5b8c99506ddad0d07259ea0d3dc
4
- data.tar.gz: 66171f575862fa2b8706d489f6c30092508a57e97ef2b447aeba2905b4f5fbfa
3
+ metadata.gz: b6da6b8ed87e1ee349901dde4b1f105ba4b3ade845c0e2b461edc77eeb4b86fd
4
+ data.tar.gz: 9b2d05e4bca04fab043cfc46931b605ca667ab5fac98fd4800c52a38343da199
5
5
  SHA512:
6
- metadata.gz: d10be46df2116e414f0d6b8b77f4018caf9edf7c9f4edce6b2b2870b1b40185ef89a4f058593940cfc5b21ca76a17fd1047b54afe19a2775fc3aac10a49d06f4
7
- data.tar.gz: 659f95c34040693e80395f8fa006015e07b85d8ddd6e14eb3357ce8c484337eb96db92bcf9e163f16756aa8705f3493cf2ebc67164c74d59f83fe22fa49c7c02
6
+ metadata.gz: dfa4d216332b2761d9ecf0290d4e30c9f3dbd06ea0d3242478fb26a7cfb407d90f8458a2e414d85a72ce8fe7765ca340d444d9a3b805acc3d0e7406d3d4e9b4d
7
+ data.tar.gz: b6e504b9b494a303c7fba0da49d5835797324895c0fbe58ed9cce376cf80b4da4f036ba6e7cd1ab4def7e032f1b8a4895c82b0af0f20c99f3f86710750863c41
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- da_funk (3.21.2)
4
+ da_funk (3.24.2)
5
5
  archive-zip (~> 0.5)
6
6
  bundler
7
7
  cloudwalk_handshake
@@ -18,30 +18,30 @@ GEM
18
18
  cloudwalk (1.15.0)
19
19
  bundler
20
20
  rake
21
- cloudwalk_handshake (1.13.1)
21
+ cloudwalk_handshake (1.14.0)
22
22
  funky-simplehttp (~> 0.6)
23
- funky-emv (1.3.0)
23
+ funky-emv (1.4.1)
24
24
  funky-tlv (~> 0.2)
25
25
  funky-mock (0.1.0)
26
26
  funky-simplehttp (0.6.0)
27
27
  funky-tlv (0.2.3)
28
28
  io-like (0.3.1)
29
- parallel (1.19.1)
30
- parser (2.7.1.3)
31
- ast (~> 2.4.0)
29
+ parallel (1.19.2)
30
+ parser (2.7.1.4)
31
+ ast (~> 2.4.1)
32
32
  posxml_parser (2.26.0)
33
33
  funky-emv (~> 1)
34
34
  rainbow (3.0.0)
35
35
  rake (13.0.1)
36
36
  regexp_parser (1.7.1)
37
37
  rexml (3.2.4)
38
- rubocop (0.85.1)
38
+ rubocop (0.86.0)
39
39
  parallel (~> 1.10)
40
40
  parser (>= 2.7.0.1)
41
41
  rainbow (>= 2.2.2, < 4.0)
42
42
  regexp_parser (>= 1.7)
43
43
  rexml
44
- rubocop-ast (>= 0.0.3)
44
+ rubocop-ast (>= 0.0.3, < 1.0)
45
45
  ruby-progressbar (~> 1.7)
46
46
  unicode-display_width (>= 1.4.0, < 2.0)
47
47
  rubocop-ast (0.0.3)
@@ -1,5 +1,31 @@
1
1
  # DaFunk
2
2
 
3
+ ### 3.24.2 - 2020-08-01
4
+
5
+ - Do not remove company name to file path when ruby app
6
+
7
+ ### 3.24.1 - 2020-07-27
8
+
9
+ - Infinitepay authorizer setting 1 as default.
10
+
11
+ ### 3.24.0 - 2020-07-25
12
+
13
+ - Added Device::Signature class;
14
+ - Added support of converting signature after updating params.dat;
15
+ - Added support to network state on status bar;
16
+ - Added support to physical number keys on virtual keyboard.
17
+
18
+ ### 3.23.0 - 2020-06-22
19
+
20
+ - Remove ThreadPubSub publication before attach;
21
+ - Update funky-emv (1.4.1).
22
+
23
+ ### 3.22.0 - 2020-06-18
24
+
25
+ - Update libs:
26
+ - cloudwalk_handshake (1.14.0)
27
+ - funky-emv (1.4.0)
28
+
3
29
  ### 3.21.2 - 2020-06-16
4
30
 
5
31
  - Fixed timeout return on DaFunK::Helper#menu, it should return Device::IO::KEY_TIMEOUT not options[:timeout];
data/Rakefile CHANGED
@@ -69,7 +69,8 @@ FILES = FileList[
69
69
  "lib/device/support.rb",
70
70
  "lib/device/system.rb",
71
71
  "lib/device/magnetic.rb",
72
- "lib/device/virtual_keyboard.rb"
72
+ "lib/device/virtual_keyboard.rb",
73
+ "lib/device/signature.rb"
73
74
  ]
74
75
 
75
76
  DaFunk::RakeTask.new do |t|
@@ -140,7 +140,11 @@ module DaFunk
140
140
  if posxml?
141
141
  "./shared/#{path}"
142
142
  else
143
- "#{path.gsub("#{Device::Setting.company_name}_", "")}.zip"
143
+ if ruby?
144
+ path
145
+ else
146
+ "#{path.gsub("#{Device::Setting.company_name}_", "")}.zip"
147
+ end
144
148
  end
145
149
  end
146
150
 
@@ -7,6 +7,20 @@ module DaFunk
7
7
  SLOT_UPDATE = 2
8
8
  SLOT_BATTERY_PERCENTUAL = 6
9
9
  SLOT_BATTERY_LEVEL = 7
10
+ SLOT_MESSAGE_CONNECTION = {
11
+ true => {
12
+ :slot1 => 2,
13
+ :slot2 => 3,
14
+ :message1 => './shared/conectado_01.png',
15
+ :message2 => './shared/conectado_02.png'
16
+ },
17
+ false => {
18
+ :slot1 => 2,
19
+ :slot2 => 3,
20
+ :message1 => './shared/buscando_01.png',
21
+ :message2 => './shared/buscando_02.png'
22
+ }
23
+ }
10
24
 
11
25
  BATTERY_IMAGES = {
12
26
  0..4 => "./shared/battery0.png",
@@ -61,7 +75,7 @@ module DaFunk
61
75
  }
62
76
 
63
77
  class << self
64
- attr_accessor :signal, :battery, :power, :managment
78
+ attr_accessor :signal, :battery, :power, :managment, :connected
65
79
  end
66
80
 
67
81
  def self.check
@@ -75,8 +89,26 @@ module DaFunk
75
89
  def self.change_update
76
90
  if File.exists?('./shared/system_update')
77
91
  PAX::Display.print_status_bar(SLOT_UPDATE, "./shared/system_update_download.png")
92
+ PAX::Display.print_status_bar(3, nil)
78
93
  else
79
- PAX::Display.print_status_bar(SLOT_UPDATE, nil)
94
+ change_message
95
+ end
96
+ end
97
+
98
+ def self.change_message
99
+ connected = Device::Network.connected?
100
+
101
+ if connected != self.connected
102
+ self.connected = connected
103
+
104
+ slot_message_1 = SLOT_MESSAGE_CONNECTION[self.connected][:slot1]
105
+ slot_message_2 = SLOT_MESSAGE_CONNECTION[self.connected][:slot2]
106
+
107
+ message_1 = SLOT_MESSAGE_CONNECTION[self.connected][:message1]
108
+ message_2 = SLOT_MESSAGE_CONNECTION[self.connected][:message2]
109
+
110
+ Device::Display.print_status_bar(slot_message_1, message_1)
111
+ Device::Display.print_status_bar(slot_message_2, message_2)
80
112
  end
81
113
  end
82
114
 
@@ -83,6 +83,8 @@ module DaFunk
83
83
  # After: "1 - App,pc2_app.zip,ruby,E0A0;"
84
84
  def self.parse
85
85
  return unless self.setup
86
+
87
+ Device::Signature.convert
86
88
  parse_apps
87
89
  parse_files
88
90
 
@@ -1,4 +1,4 @@
1
1
  module DaFunk
2
- VERSION="3.21.2"
2
+ VERSION="3.24.2"
3
3
  end
4
4
 
@@ -191,7 +191,6 @@ class Device
191
191
 
192
192
  def self.attach(options = nil)
193
193
  Device::Network.connected?
194
- Context::ThreadPubSub.publish('communication_update')
195
194
  if self.code != SUCCESS
196
195
  ThreadScheduler.pausing_communication do
197
196
  self.code = Device::Network.init(*self.config)
@@ -60,7 +60,7 @@ class Device
60
60
  "metadata_timestamp" => "",
61
61
  "payment_channel_attempts" => "0",
62
62
  "payment_channel_date" => "",
63
- "infinitepay_authorizer" => "0",
63
+ "infinitepay_authorizer" => "1",
64
64
  "infinitepay_api" => "0",
65
65
  "infinitepay_cw_endpoint" => "1",
66
66
  "infinitepay_google_endpoint" => "0",
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Device
4
+ class Signature
5
+ FILE = './shared/device.sig'
6
+
7
+ CONVERTED = 1
8
+ FILE_NOT_FOUND = 2
9
+ IS_THE_SAME = 3
10
+
11
+ def self.convert
12
+ load
13
+ return FILE_NOT_FOUND unless @file
14
+
15
+ if must_convert?
16
+ @file.update_attributes({ 'signer' => DaFunk::ParamsDat.file['signer'] })
17
+ return CONVERTED
18
+ end
19
+ IS_THE_SAME
20
+ end
21
+
22
+ def self.must_convert?
23
+ DaFunk::ParamsDat.file['signer'] && DaFunk::ParamsDat.file['signer'] != @file['signer']
24
+ end
25
+
26
+ def self.load
27
+ @file = FileDb.new FILE
28
+ end
29
+ end
30
+ end
@@ -114,6 +114,7 @@ class Device
114
114
  }
115
115
 
116
116
  def self.type_text(params = {})
117
+ phisical_keys = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', "\017"]
117
118
  change_keyboard
118
119
  Device::Display.print_line("#{self.text}", params[:line], params[:column])
119
120
  time = Time.now + (params[:timeout] || Device::IO.timeout) / 1000
@@ -129,6 +130,13 @@ class Device
129
130
  break(Device::IO::KEY_TIMEOUT) if Time.now > time
130
131
 
131
132
  key = getc(100)
133
+ if phisical_keys.include?(key)
134
+ if key == Device::IO::BACK
135
+ show_text({char: :erase}, params)
136
+ else
137
+ show_text({char: key}, params)
138
+ end
139
+ end
132
140
  end
133
141
  end
134
142
 
@@ -0,0 +1,24 @@
1
+ require 'funky-mock'
2
+
3
+ class SignatureTest < DaFunk::Test.case
4
+ def test_signature_should_be_updated
5
+ FileDb.new(Device::Signature::FILE).update_attributes({'signer' => 'whatever'})
6
+ DaFunk::ParamsDat.file = {'signer' => 'thebestsignature'}
7
+
8
+ assert_equal Device::Signature::CONVERTED, Device::Signature.convert
9
+ end
10
+
11
+ def test_signature_file_not_found
12
+ FunkyMock::Mock.new
13
+ Device::Signature.stubs(:load).returns(nil)
14
+
15
+ assert_equal Device::Signature::FILE_NOT_FOUND, Device::Signature.convert
16
+ end
17
+
18
+ def test_signature_is_the_same
19
+ FileDb.new(Device::Signature::FILE).update_attributes({'signer' => 'whatever'})
20
+ DaFunk::ParamsDat.file = {'signer' => 'whatever'}
21
+
22
+ assert_equal Device::Signature::IS_THE_SAME, Device::Signature.convert
23
+ end
24
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: da_funk
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.21.2
4
+ version: 3.24.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thiago Scalone
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-16 00:00:00.000000000 Z
11
+ date: 2020-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -189,6 +189,7 @@ files:
189
189
  - lib/device/printer.rb
190
190
  - lib/device/runtime.rb
191
191
  - lib/device/setting.rb
192
+ - lib/device/signature.rb
192
193
  - lib/device/support.rb
193
194
  - lib/device/system.rb
194
195
  - lib/device/version.rb
@@ -227,6 +228,7 @@ files:
227
228
  - test/unit/device/io_test.rb
228
229
  - test/unit/device/notification_callback_test.rb
229
230
  - test/unit/device/notification_event_test.rb
231
+ - test/unit/device/signature_test.rb
230
232
  - test/unit/ext/float_test.rb
231
233
  - test/unit/ext/string_test.rb
232
234
  - test/unit/file_db_test.rb
@@ -275,6 +277,7 @@ test_files:
275
277
  - test/unit/device/io_test.rb
276
278
  - test/unit/device/notification_callback_test.rb
277
279
  - test/unit/device/notification_event_test.rb
280
+ - test/unit/device/signature_test.rb
278
281
  - test/unit/ext/float_test.rb
279
282
  - test/unit/ext/string_test.rb
280
283
  - test/unit/file_db_test.rb