da_funk 0.7.9 → 0.7.10
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 +4 -4
- data/Gemfile.lock +1 -1
- data/RELEASE_NOTES.md +5 -0
- data/lib/da_funk/helper.rb +38 -19
- data/lib/da_funk/version.rb +1 -1
- data/lib/device/io.rb +12 -5
- data/out/da_funk.mrb +0 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4ecd5d711aa91a4bbe69de7e6ff18412f259f7e
|
4
|
+
data.tar.gz: aa18938c8a20c6bb4f94135e339990000662c9d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 09c7a31d90ac5e0d8e2ac2e65fdffea6b5deb5fc1134d4532ec457533abc7f80c2aff9541ef2eb91f6740622f9b2d7334fb9d93242b64970b063f792533d58d1
|
7
|
+
data.tar.gz: 1486c9556783dfb87f8ed7f96cd6d22492ab966679678c428b43fb6fdbe2184973243fa22586c53a2be2c06750fe9b69eb4a1e5a01476b734ba04b2a54a1c6bd
|
data/Gemfile.lock
CHANGED
data/RELEASE_NOTES.md
CHANGED
data/lib/da_funk/helper.rb
CHANGED
@@ -150,21 +150,14 @@ module DaFunk
|
|
150
150
|
|
151
151
|
# TODO Scalone: Refactor.
|
152
152
|
def pagination(title, options, collection, &block)
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
start_line = 1
|
158
|
-
options[:limit] ||= STDOUT.max_y - 1
|
159
|
-
end
|
160
|
-
if collection.size > options[:limit] # minus header
|
161
|
-
key = Device::IO::F1
|
162
|
-
pages = pagination_page(collection, options[:limit] - 1)
|
153
|
+
start_line, options[:limit] = pagination_limit(title, options[:limit])
|
154
|
+
if collection.size > (options[:limit] - 1) # minus pagination header
|
155
|
+
key = Device::IO.back_key
|
156
|
+
pages = pagination_page(collection, options[:limit] - 1) # minus pagination header
|
163
157
|
page = 1
|
164
|
-
while(key == Device::IO
|
158
|
+
while(key == Device::IO.back_key || key == Device::IO.forward_key)
|
165
159
|
Device::Display.clear
|
166
|
-
|
167
|
-
Device::Display.print("< F1 ____ #{page}/#{pages.size} ____ F2 >", start_line, 0)
|
160
|
+
pagination_header(title, page, pages.size, start_line, options[:default])
|
168
161
|
values = pages[page].to_a
|
169
162
|
block.call(values, start_line+1)
|
170
163
|
key = try_key(pagination_keys(values.size))
|
@@ -185,10 +178,17 @@ module DaFunk
|
|
185
178
|
end
|
186
179
|
end
|
187
180
|
|
181
|
+
def pagination_header(title, page, pages, line, default)
|
182
|
+
print_title(title, default) if title
|
183
|
+
back = Device::IO.back_key_label
|
184
|
+
forward = Device::IO.forward_key_label
|
185
|
+
Device::Display.print("< #{back} __ #{page}/#{pages} __ #{forward} >", line, 0)
|
186
|
+
end
|
187
|
+
|
188
188
|
def pagination_key_page(page, key, size)
|
189
|
-
if key == Device::IO
|
189
|
+
if key == Device::IO.back_key
|
190
190
|
page == 1 ? page : page -= 1
|
191
|
-
elsif key == Device::IO
|
191
|
+
elsif key == Device::IO.forward_key
|
192
192
|
page >= size ? size : page += 1
|
193
193
|
end
|
194
194
|
end
|
@@ -197,8 +197,10 @@ module DaFunk
|
|
197
197
|
page = 1
|
198
198
|
i = 0
|
199
199
|
values.group_by do |value|
|
200
|
-
if size
|
201
|
-
page+=1; i=
|
200
|
+
if size <= i
|
201
|
+
page+=1; i=1
|
202
|
+
else
|
203
|
+
i += 1
|
202
204
|
end
|
203
205
|
page
|
204
206
|
end
|
@@ -206,7 +208,25 @@ module DaFunk
|
|
206
208
|
|
207
209
|
def pagination_keys(size)
|
208
210
|
(1..size.to_i).to_a.map(&:to_s) + [Device::IO::ENTER, Device::IO::CLEAR,
|
209
|
-
Device::IO::CANCEL, Device::IO
|
211
|
+
Device::IO::CANCEL, Device::IO.back_key, Device::IO.forward_key]
|
212
|
+
end
|
213
|
+
|
214
|
+
def pagination_limit(title, number = nil)
|
215
|
+
start = title.nil? ? 0 : 1 # start in next line if title
|
216
|
+
if number
|
217
|
+
limit = number
|
218
|
+
else
|
219
|
+
if STDOUT.max_y > 9
|
220
|
+
limit = 9
|
221
|
+
else
|
222
|
+
if title.nil?
|
223
|
+
limit = STDOUT.max_y
|
224
|
+
else
|
225
|
+
limit = STDOUT.max_y - 1 # minus title
|
226
|
+
end
|
227
|
+
end
|
228
|
+
end
|
229
|
+
[start, limit]
|
210
230
|
end
|
211
231
|
|
212
232
|
def number_to_currency(value, options = {})
|
@@ -273,6 +293,5 @@ module DaFunk
|
|
273
293
|
end
|
274
294
|
end
|
275
295
|
end
|
276
|
-
|
277
296
|
end
|
278
297
|
|
data/lib/da_funk/version.rb
CHANGED
data/lib/device/io.rb
CHANGED
@@ -44,8 +44,12 @@ class Device
|
|
44
44
|
NINE_NUMBER = "9"
|
45
45
|
ZERO_NUMBER = "0"
|
46
46
|
|
47
|
+
KEYBOARD_DEFAULT = ["qzQZ.", "abcABC", "defDEF", "ghiGHI", "jklJKL",
|
48
|
+
"mnoMNO", "prsPRS", "tuvTUV", "wxyWXY", ", *\#_$%-+="]
|
49
|
+
|
47
50
|
class << self
|
48
|
-
attr_accessor :timeout, :keys_range
|
51
|
+
attr_accessor :timeout, :keys_range, :forward_key, :back_key, :back_key_label,
|
52
|
+
:forward_key_label
|
49
53
|
end
|
50
54
|
|
51
55
|
# Setup Keyboard Map
|
@@ -67,8 +71,7 @@ class Device
|
|
67
71
|
# map = [one_letters, two_letters, three_letters, four_letters, five_letters,
|
68
72
|
# six_letters, seven_letters, eight_letters, nine_letters, zero_letters]
|
69
73
|
# Device::IO.setup_keyboard(map)
|
70
|
-
|
71
|
-
def self.setup_keyboard(map)
|
74
|
+
def self.setup_keyboard(map, options = {})
|
72
75
|
one_letters, two_letters, three_letters, four_letters, five_letters,
|
73
76
|
six_letters, seven_letters, eight_letters, nine_letters, zero_letters =
|
74
77
|
map
|
@@ -89,10 +92,14 @@ class Device
|
|
89
92
|
NINE_NUMBER + nine_letters, ZERO_NUMBER + zero_letters
|
90
93
|
]
|
91
94
|
@keys_range = {MASK_ALPHA => range_alpha, MASK_LETTERS => range_letters, MASK_NUMBERS => range_number}
|
95
|
+
|
96
|
+
self.back_key = options[:back_key] || Device::IO::F1
|
97
|
+
self.back_key_label = options[:back_key_label] || " F1 "
|
98
|
+
self.forward_key = options[:forward_key] || Device::IO::F2
|
99
|
+
self.forward_key_label = options[:forward_key_label] || " F2 "
|
92
100
|
end
|
93
101
|
|
94
|
-
self.setup_keyboard(
|
95
|
-
"mnoMNO", "prsPRS", "tuvTUV", "wxyWXY", ", *\#_$%-+="])
|
102
|
+
self.setup_keyboard(KEYBOARD_DEFAULT)
|
96
103
|
self.timeout = DEFAULT_TIMEOUT
|
97
104
|
|
98
105
|
# Restricted to terminals, get strings and numbers.
|
data/out/da_funk.mrb
CHANGED
Binary file
|
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: 0.7.
|
4
|
+
version: 0.7.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thiago Scalone
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|