hobostove 0.3.2 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/data/emoji.csv +882 -0
- data/lib/hobostove.rb +2 -0
- data/lib/hobostove/emoji.rb +17 -0
- data/lib/hobostove/input_panel.rb +1 -1
- data/lib/hobostove/line.rb +84 -0
- data/lib/hobostove/message_renderer.rb +18 -8
- data/lib/hobostove/panel.rb +20 -4
- data/lib/hobostove/user_panel.rb +5 -1
- data/lib/hobostove/window.rb +5 -0
- metadata +19 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5a99998cb3ee7829c656778f5b4c494d391d7702
|
4
|
+
data.tar.gz: 6ef301b7f432c34759ccf9e00a8ad8665cc6698f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4bccc6131a26b5b269d2b3a7ba985c537accaed649a945f1b9f5a11d833e91e78a74d964cadedcddab90d336d3111c0745b223a3559cb1730150d66a04b737bb
|
7
|
+
data.tar.gz: 2022efb7f63dbb0101a8500da41234aebbabe62a2b5259eefead965295515f5c1502529743089418114a2e3fe244591f047d684d4ca7eae975794a62ad017f3d
|
data/data/emoji.csv
ADDED
@@ -0,0 +1,882 @@
|
|
1
|
+
+1,1F44D
|
2
|
+
-1,1F44E
|
3
|
+
0,0030 20E3
|
4
|
+
1,0031 20E3
|
5
|
+
100,1F4AF
|
6
|
+
109,
|
7
|
+
1234,1F522
|
8
|
+
2,0032 20E3
|
9
|
+
3,0033 20E3
|
10
|
+
4,0034 20E3
|
11
|
+
5,0035 20E3
|
12
|
+
6,0036 20E3
|
13
|
+
7,0037 20E3
|
14
|
+
8,0038 20E3
|
15
|
+
8ball,1F3B1
|
16
|
+
9,0039 20E3
|
17
|
+
a,1F170
|
18
|
+
ab,1F18E
|
19
|
+
abc,1F524
|
20
|
+
abcd,1F521
|
21
|
+
accept,1F251
|
22
|
+
aerial_tramway,1F6A1
|
23
|
+
airplane,2708
|
24
|
+
alarm_clock,23F0
|
25
|
+
alien,1F47D
|
26
|
+
ambulance,1F691
|
27
|
+
anchor,2693
|
28
|
+
angel,1F47C
|
29
|
+
anger,1F4A2
|
30
|
+
angry,1F620
|
31
|
+
anguished,1F627
|
32
|
+
ant,1F41C
|
33
|
+
apple,1F34E
|
34
|
+
aquarius,2652
|
35
|
+
aries,2648
|
36
|
+
arrow_backward,25C0
|
37
|
+
arrow_double_down,23EC
|
38
|
+
arrow_double_up,23EB
|
39
|
+
arrow_down,2B07
|
40
|
+
arrow_down_small,1F53D
|
41
|
+
arrow_forward,25B6
|
42
|
+
arrow_heading_down,2935
|
43
|
+
arrow_heading_up,2934
|
44
|
+
arrow_left,2B05
|
45
|
+
arrow_lower_left,2199
|
46
|
+
arrow_lower_right,2198
|
47
|
+
arrow_right,27A1
|
48
|
+
arrow_right_hook,21AA
|
49
|
+
arrow_up,2B06
|
50
|
+
arrow_up_down,2195
|
51
|
+
arrow_up_small,1F53C
|
52
|
+
arrow_upper_left,2196
|
53
|
+
arrow_upper_right,2197
|
54
|
+
arrows_clockwise,1F503
|
55
|
+
arrows_counterclockwise,1F504
|
56
|
+
art,1F3A8
|
57
|
+
articulated_lorry,1F69B
|
58
|
+
astonished,1F632
|
59
|
+
atm,1F3E7
|
60
|
+
b,1F171
|
61
|
+
baby,1F476
|
62
|
+
baby_bottle,1F37C
|
63
|
+
baby_chick,1F424
|
64
|
+
baby_symbol,1F6BC
|
65
|
+
baggage_claim,1F6C4
|
66
|
+
balloon,1F388
|
67
|
+
ballot_box_with_check,2611
|
68
|
+
bamboo,1F38D
|
69
|
+
banana,1F34C
|
70
|
+
bangbang,203C
|
71
|
+
bank,1F3E6
|
72
|
+
bar_chart,1F4CA
|
73
|
+
barber,1F488
|
74
|
+
baseball,26BE
|
75
|
+
basketball,1F3C0
|
76
|
+
bath,1F6C0
|
77
|
+
bathtub,1F6C1
|
78
|
+
battery,1F50B
|
79
|
+
bear,1F43B
|
80
|
+
bee,1F41D
|
81
|
+
beer,1F37A
|
82
|
+
beers,1F37B
|
83
|
+
beetle,1F41E
|
84
|
+
beginner,1F530
|
85
|
+
bell,1F514
|
86
|
+
bento,1F371
|
87
|
+
bicyclist,1F6B4
|
88
|
+
bike,1F6B2
|
89
|
+
bikini,1F459
|
90
|
+
bird,1F426
|
91
|
+
birthday,1F382
|
92
|
+
black_circle,26AB
|
93
|
+
black_joker,1F0CF
|
94
|
+
black_nib,2712
|
95
|
+
black_square,25FC
|
96
|
+
black_square_button,1F532
|
97
|
+
blossom,1F33C
|
98
|
+
blowfish,1F421
|
99
|
+
blue_book,1F4D8
|
100
|
+
blue_car,1F699
|
101
|
+
blue_heart,1F499
|
102
|
+
blush,1F60A
|
103
|
+
boar,1F417
|
104
|
+
boat,26F5
|
105
|
+
bomb,1F4A3
|
106
|
+
book,1F4D6
|
107
|
+
bookmark,1F516
|
108
|
+
bookmark_tabs,1F4D1
|
109
|
+
books,1F4DA
|
110
|
+
boom,1F4A5
|
111
|
+
boot,1F462
|
112
|
+
bouquet,1F490
|
113
|
+
bow,1F647
|
114
|
+
bowling,1F3B3
|
115
|
+
bowtie,
|
116
|
+
boy,1F466
|
117
|
+
bread,1F35E
|
118
|
+
bride_with_veil,1F470
|
119
|
+
bridge_at_night,1F309
|
120
|
+
briefcase,1F4BC
|
121
|
+
broken_heart,1F494
|
122
|
+
bug,1F41B
|
123
|
+
bulb,1F4A1
|
124
|
+
bullettrain_front,1F685
|
125
|
+
bullettrain_side,1F684
|
126
|
+
bus,1F68C
|
127
|
+
busstop,1F68F
|
128
|
+
bust_in_silhouette,1F464
|
129
|
+
busts_in_silhouette,1F465
|
130
|
+
cactus,1F335
|
131
|
+
cake,1F370
|
132
|
+
calendar,1F4C6
|
133
|
+
calling,1F4F2
|
134
|
+
camel,1F42B
|
135
|
+
camera,1F4F7
|
136
|
+
cancer,264B
|
137
|
+
candy,1F36C
|
138
|
+
capital_abcd,1F520
|
139
|
+
capricorn,2651
|
140
|
+
car,1F697
|
141
|
+
card_index,1F4C7
|
142
|
+
carousel_horse,1F3A0
|
143
|
+
cat,1F431
|
144
|
+
cat2,1F408
|
145
|
+
cd,1F4BF
|
146
|
+
chart,1F4B9
|
147
|
+
chart_with_downwards_trend,1F4C9
|
148
|
+
chart_with_upwards_trend,1F4C8
|
149
|
+
checkered_flag,1F3C1
|
150
|
+
cherries,1F352
|
151
|
+
cherry_blossom,1F338
|
152
|
+
chestnut,1F330
|
153
|
+
chicken,1F414
|
154
|
+
children_crossing,1F6B8
|
155
|
+
chocolate_bar,1F36B
|
156
|
+
christmas_tree,1F384
|
157
|
+
church,26EA
|
158
|
+
cinema,1F3A6
|
159
|
+
circus_tent,1F3AA
|
160
|
+
city_sunrise,1F307
|
161
|
+
city_sunset,1F306
|
162
|
+
cl,1F191
|
163
|
+
clap,1F44F
|
164
|
+
clapper,1F3AC
|
165
|
+
clipboard,1F4CB
|
166
|
+
clock1,1F550
|
167
|
+
clock10,1F559
|
168
|
+
clock1030,1F565
|
169
|
+
clock11,1F55A
|
170
|
+
clock1130,1F566
|
171
|
+
clock12,1F55B
|
172
|
+
clock1230,1F567
|
173
|
+
clock130,1F55C
|
174
|
+
clock2,1F551
|
175
|
+
clock230,1F55D
|
176
|
+
clock3,1F552
|
177
|
+
clock330,1F55E
|
178
|
+
clock4,1F553
|
179
|
+
clock430,1F55F
|
180
|
+
clock5,1F554
|
181
|
+
clock530,1F560
|
182
|
+
clock6,1F555
|
183
|
+
clock630,1F561
|
184
|
+
clock7,1F556
|
185
|
+
clock730,1F562
|
186
|
+
clock8,1F557
|
187
|
+
clock830,1F563
|
188
|
+
clock9,1F558
|
189
|
+
clock930,1F564
|
190
|
+
closed_book,1F4D5
|
191
|
+
closed_lock_with_key,1F510
|
192
|
+
closed_umbrella,1F302
|
193
|
+
cloud,2601
|
194
|
+
clubs,2663
|
195
|
+
cn,1F1E8 1F1F3
|
196
|
+
cocktail,1F378
|
197
|
+
coffee,2615
|
198
|
+
cold_sweat,1F630
|
199
|
+
collision,1F4A5
|
200
|
+
computer,1F4BB
|
201
|
+
confetti_ball,1F38A
|
202
|
+
confounded,1F616
|
203
|
+
confused,1F615
|
204
|
+
congratulations,3297
|
205
|
+
construction,1F6A7
|
206
|
+
construction_worker,1F477
|
207
|
+
convenience_store,1F3EA
|
208
|
+
cookie,1F36A
|
209
|
+
cool,1F192
|
210
|
+
cop,1F46E
|
211
|
+
copyright,00A9
|
212
|
+
corn,1F33D
|
213
|
+
couple,1F46B
|
214
|
+
couple_with_heart,1F491
|
215
|
+
couplekiss,1F48F
|
216
|
+
cow,1F42E
|
217
|
+
cow2,1F404
|
218
|
+
credit_card,1F4B3
|
219
|
+
crocodile,1F40A
|
220
|
+
crossed_flags,1F38C
|
221
|
+
crown,1F451
|
222
|
+
cry,1F622
|
223
|
+
crying_cat_face,1F63F
|
224
|
+
crystal_ball,1F52E
|
225
|
+
cupid,1F498
|
226
|
+
curly_loop,27B0
|
227
|
+
currency_exchange,1F4B1
|
228
|
+
curry,1F35B
|
229
|
+
custard,1F36E
|
230
|
+
customs,1F6C3
|
231
|
+
cyclone,1F300
|
232
|
+
dancer,1F483
|
233
|
+
dancers,1F46F
|
234
|
+
dango,1F361
|
235
|
+
dart,1F3AF
|
236
|
+
dash,1F4A8
|
237
|
+
date,1F4C5
|
238
|
+
de,1F1E9 1F1EA
|
239
|
+
deciduous_tree,1F333
|
240
|
+
department_store,1F3EC
|
241
|
+
diamond_shape_with_a_dot_inside,1F4A0
|
242
|
+
diamonds,2666
|
243
|
+
disappointed,1F61E
|
244
|
+
disappointed_relieved,1F625
|
245
|
+
dizzy,1F4AB
|
246
|
+
dizzy_face,1F635
|
247
|
+
do_not_litter,1F6AF
|
248
|
+
dog,1F436
|
249
|
+
dog2,1F415
|
250
|
+
dollar,1F4B5
|
251
|
+
dolls,1F38E
|
252
|
+
dolphin,1F42C
|
253
|
+
door,1F6AA
|
254
|
+
doughnut,1F369
|
255
|
+
dragon,1F409
|
256
|
+
dragon_face,1F432
|
257
|
+
dress,1F457
|
258
|
+
dromedary_camel,1F42A
|
259
|
+
droplet,1F4A7
|
260
|
+
dvd,1F4C0
|
261
|
+
e-mail,1F4E7
|
262
|
+
ear,1F442
|
263
|
+
ear_of_rice,1F33E
|
264
|
+
earth_africa,1F30D
|
265
|
+
earth_americas,1F30E
|
266
|
+
earth_asia,1F30F
|
267
|
+
egg,1F373
|
268
|
+
eggplant,1F346
|
269
|
+
eight,0038 20E3
|
270
|
+
eight_pointed_black_star,2734
|
271
|
+
eight_spoked_asterisk,2733
|
272
|
+
electric_plug,1F50C
|
273
|
+
elephant,1F418
|
274
|
+
email,1F4E9
|
275
|
+
end,1F51A
|
276
|
+
envelope,2709
|
277
|
+
es,1F1EA 1F1F8
|
278
|
+
euro,1F4B6
|
279
|
+
european_castle,1F3F0
|
280
|
+
european_post_office,1F3E4
|
281
|
+
evergreen_tree,1F332
|
282
|
+
exclamation,2755
|
283
|
+
expressionless,1F611
|
284
|
+
eyeglasses,1F453
|
285
|
+
eyes,1F440
|
286
|
+
facepunch,1F44A
|
287
|
+
factory,1F3ED
|
288
|
+
fallen_leaf,1F342
|
289
|
+
family,1F46A
|
290
|
+
fast_forward,23E9
|
291
|
+
fax,1F4E0
|
292
|
+
fearful,1F628
|
293
|
+
feelsgood,
|
294
|
+
feet,1F463
|
295
|
+
ferris_wheel,1F3A1
|
296
|
+
file_folder,1F4C1
|
297
|
+
finnadie,
|
298
|
+
fire,1F525
|
299
|
+
fire_engine,1F692
|
300
|
+
fireworks,1F386
|
301
|
+
first_quarter_moon,1F313
|
302
|
+
first_quarter_moon_with_face,1F31B
|
303
|
+
fish,1F41F
|
304
|
+
fish_cake,1F365
|
305
|
+
fishing_pole_and_fish,1F3A3
|
306
|
+
fist,270A
|
307
|
+
five,0035 20E3
|
308
|
+
flags,1F38F
|
309
|
+
flashlight,1F526
|
310
|
+
floppy_disk,1F4BE
|
311
|
+
flower_playing_cards,1F3B4
|
312
|
+
flushed,1F633
|
313
|
+
foggy,1F301
|
314
|
+
football,1F3C8
|
315
|
+
fork_and_knife,1F374
|
316
|
+
fountain,26F2
|
317
|
+
four,0034 20E3
|
318
|
+
four_leaf_clover,1F340
|
319
|
+
fr,1F1EB 1F1F7
|
320
|
+
free,1F193
|
321
|
+
fried_shrimp,1F364
|
322
|
+
fries,1F35F
|
323
|
+
frog,1F438
|
324
|
+
frowning,1F626
|
325
|
+
fuelpump,26FD
|
326
|
+
full_moon,1F315
|
327
|
+
full_moon_with_face,1F31D
|
328
|
+
game_die,1F3B2
|
329
|
+
gb,1F1EC 1F1E7
|
330
|
+
gem,1F48E
|
331
|
+
gemini,264A
|
332
|
+
ghost,1F47B
|
333
|
+
gift,1F381
|
334
|
+
gift_heart,1F49D
|
335
|
+
girl,1F467
|
336
|
+
globe_with_meridians,1F310
|
337
|
+
goat,1F410
|
338
|
+
goberserk,
|
339
|
+
godmode,
|
340
|
+
golf,26F3
|
341
|
+
grapes,1F347
|
342
|
+
green_apple,1F34F
|
343
|
+
green_book,1F4D7
|
344
|
+
green_heart,1F49A
|
345
|
+
grey_exclamation,2755
|
346
|
+
grey_question,2754
|
347
|
+
grimacing,1F62C
|
348
|
+
grin,1F601
|
349
|
+
grinning,1F600
|
350
|
+
guardsman,1F482
|
351
|
+
guitar,1F3B8
|
352
|
+
gun,1F52B
|
353
|
+
haircut,1F487
|
354
|
+
hamburger,1F354
|
355
|
+
hammer,1F528
|
356
|
+
hamster,1F439
|
357
|
+
hand,270B
|
358
|
+
handbag,1F45C
|
359
|
+
hankey,1F4A9
|
360
|
+
hash,0023 20E3
|
361
|
+
hatched_chick,1F425
|
362
|
+
hatching_chick,1F423
|
363
|
+
headphones,1F3A7
|
364
|
+
hear_no_evil,1F649
|
365
|
+
heart,2764
|
366
|
+
heart_decoration,1F49F
|
367
|
+
heart_eyes,1F60D
|
368
|
+
heart_eyes_cat,1F63B
|
369
|
+
heartbeat,1F493
|
370
|
+
heartpulse,1F497
|
371
|
+
hearts,2665
|
372
|
+
heavy_check_mark,2714
|
373
|
+
heavy_division_sign,2797
|
374
|
+
heavy_dollar_sign,1F4B2
|
375
|
+
heavy_exclamation_mark,2757
|
376
|
+
heavy_minus_sign,2796
|
377
|
+
heavy_multiplication_x,2716
|
378
|
+
heavy_plus_sign,2795
|
379
|
+
helicopter,1F681
|
380
|
+
herb,1F33F
|
381
|
+
hibiscus,1F33A
|
382
|
+
high_brightness,1F506
|
383
|
+
high_heel,1F460
|
384
|
+
hocho,1F52A
|
385
|
+
honey_pot,1F36F
|
386
|
+
honeybee,1F41D
|
387
|
+
horse,1F434
|
388
|
+
horse_racing,1F3C7
|
389
|
+
hospital,1F3E5
|
390
|
+
hotel,1F3E8
|
391
|
+
hotsprings,2668
|
392
|
+
hourglass,23F3
|
393
|
+
hourglass_flowing_sand,23F3
|
394
|
+
house,1F3E0
|
395
|
+
house_with_garden,1F3E1
|
396
|
+
hurtrealbad,
|
397
|
+
hushed,1F62F
|
398
|
+
ice_cream,1F368
|
399
|
+
icecream,1F366
|
400
|
+
id,1F194
|
401
|
+
ideograph_advantage,1F250
|
402
|
+
imp,1F47F
|
403
|
+
inbox_tray,1F4E5
|
404
|
+
incoming_envelope,1F4E8
|
405
|
+
information_desk_person,1F481
|
406
|
+
information_source,2139
|
407
|
+
innocent,1F607
|
408
|
+
interrobang,2049
|
409
|
+
iphone,1F4F1
|
410
|
+
it,1F1EE 1F1F9
|
411
|
+
izakaya_lantern,1F3EE
|
412
|
+
jack_o_lantern,1F383
|
413
|
+
japan,1F5FE
|
414
|
+
japanese_castle,1F3EF
|
415
|
+
japanese_goblin,1F47A
|
416
|
+
japanese_ogre,1F479
|
417
|
+
jeans,1F456
|
418
|
+
joy,1F602
|
419
|
+
joy_cat,1F639
|
420
|
+
jp,1F1EF 1F1F5
|
421
|
+
key,1F511
|
422
|
+
keycap_ten,1F51F
|
423
|
+
kimono,1F458
|
424
|
+
kiss,1F48B
|
425
|
+
kissing,1F617
|
426
|
+
kissing_cat,1F63D
|
427
|
+
kissing_closed_eyes,1F61A
|
428
|
+
kissing_face,1F61A
|
429
|
+
kissing_heart,1F618
|
430
|
+
kissing_smiling_eyes,1F619
|
431
|
+
koala,1F428
|
432
|
+
koko,1F201
|
433
|
+
kr,1F1F0 1F1F7
|
434
|
+
large_blue_circle,1F535
|
435
|
+
large_blue_diamond,1F537
|
436
|
+
large_orange_diamond,1F536
|
437
|
+
last_quarter_moon,1F317
|
438
|
+
last_quarter_moon_with_face,1F31C
|
439
|
+
laughing,1F606
|
440
|
+
leaves,1F343
|
441
|
+
ledger,1F4D2
|
442
|
+
left_luggage,1F6C5
|
443
|
+
left_right_arrow,2194
|
444
|
+
leftwards_arrow_with_hook,21A9
|
445
|
+
lemon,1F34B
|
446
|
+
leo,264C
|
447
|
+
leopard,1F406
|
448
|
+
libra,264E
|
449
|
+
light_rail,1F688
|
450
|
+
link,1F517
|
451
|
+
lips,1F444
|
452
|
+
lipstick,1F484
|
453
|
+
lock,1F512
|
454
|
+
lock_with_ink_pen,1F50F
|
455
|
+
lollipop,1F36D
|
456
|
+
loop,27BF
|
457
|
+
loudspeaker,1F4E2
|
458
|
+
love_hotel,1F3E9
|
459
|
+
love_letter,1F48C
|
460
|
+
low_brightness,1F505
|
461
|
+
m,24C2
|
462
|
+
mag,1F50D
|
463
|
+
mag_right,1F50E
|
464
|
+
mahjong,1F004
|
465
|
+
mailbox,1F4EB
|
466
|
+
mailbox_closed,1F4EA
|
467
|
+
mailbox_with_mail,1F4EC
|
468
|
+
mailbox_with_no_mail,1F4ED
|
469
|
+
man,1F468
|
470
|
+
man_with_gua_pi_mao,1F472
|
471
|
+
man_with_turban,1F473
|
472
|
+
mans_shoe,1F45E
|
473
|
+
maple_leaf,1F341
|
474
|
+
mask,1F637
|
475
|
+
massage,1F486
|
476
|
+
meat_on_bone,1F356
|
477
|
+
mega,1F4E3
|
478
|
+
melon,1F348
|
479
|
+
memo,1F4DD
|
480
|
+
mens,1F6B9
|
481
|
+
metal,
|
482
|
+
metro,1F687
|
483
|
+
microphone,1F3A4
|
484
|
+
microscope,1F52C
|
485
|
+
milky_way,1F30C
|
486
|
+
minibus,1F690
|
487
|
+
minidisc,1F4BD
|
488
|
+
mobile_phone_off,1F4F4
|
489
|
+
money_with_wings,1F4B8
|
490
|
+
moneybag,1F4B0
|
491
|
+
monkey,1F412
|
492
|
+
monkey_face,1F435
|
493
|
+
monorail,1F69D
|
494
|
+
moon,1F319
|
495
|
+
mortar_board,1F393
|
496
|
+
mount_fuji,1F5FB
|
497
|
+
mountain_bicyclist,1F6B5
|
498
|
+
mountain_cableway,1F6A0
|
499
|
+
mountain_railway,1F69E
|
500
|
+
mouse,1F42D
|
501
|
+
mouse2,1F401
|
502
|
+
movie_camera,1F3A5
|
503
|
+
moyai,1F5FF
|
504
|
+
muscle,1F4AA
|
505
|
+
mushroom,1F344
|
506
|
+
musical_keyboard,1F3B9
|
507
|
+
musical_note,1F3B5
|
508
|
+
musical_score,1F3BC
|
509
|
+
mute,1F507
|
510
|
+
nail_care,1F485
|
511
|
+
name_badge,1F4DB
|
512
|
+
neckbeard,
|
513
|
+
necktie,1F454
|
514
|
+
negative_squared_cross_mark,274E
|
515
|
+
neutral_face,1F610
|
516
|
+
new,1F195
|
517
|
+
new_moon,1F311
|
518
|
+
new_moon_with_face,1F31A
|
519
|
+
newspaper,1F4F0
|
520
|
+
ng,1F196
|
521
|
+
nine,0039 20E3
|
522
|
+
no_bell,1F515
|
523
|
+
no_bicycles,1F6B3
|
524
|
+
no_entry,26D4
|
525
|
+
no_entry_sign,1F6AB
|
526
|
+
no_good,1F645
|
527
|
+
no_mobile_phones,1F4F5
|
528
|
+
no_mouth,1F636
|
529
|
+
no_pedestrians,1F6B7
|
530
|
+
no_smoking,1F6AD
|
531
|
+
non-potable_water,1F6B1
|
532
|
+
nose,1F443
|
533
|
+
notebook,1F4D3
|
534
|
+
notebook_with_decorative_cover,1F4D4
|
535
|
+
notes,1F3B6
|
536
|
+
nut_and_bolt,1F529
|
537
|
+
o,2B55
|
538
|
+
o2,1F17E
|
539
|
+
ocean,1F30A
|
540
|
+
octocat,
|
541
|
+
octopus,1F419
|
542
|
+
oden,1F362
|
543
|
+
office,1F3E2
|
544
|
+
ok,1F197
|
545
|
+
ok_hand,1F44C
|
546
|
+
ok_woman,1F646
|
547
|
+
older_man,1F474
|
548
|
+
older_woman,1F475
|
549
|
+
on,1F51B
|
550
|
+
oncoming_automobile,1F698
|
551
|
+
oncoming_bus,1F68D
|
552
|
+
oncoming_police_car,1F694
|
553
|
+
oncoming_taxi,1F696
|
554
|
+
one,0031 20E3
|
555
|
+
open_file_folder,1F4C2
|
556
|
+
open_hands,1F450
|
557
|
+
open_mouth,1F62E
|
558
|
+
ophiuchus,26CE
|
559
|
+
orange_book,1F4D9
|
560
|
+
outbox_tray,1F4E4
|
561
|
+
ox,1F402
|
562
|
+
page_facing_up,1F4C4
|
563
|
+
page_with_curl,1F4C3
|
564
|
+
pager,1F4DF
|
565
|
+
palm_tree,1F334
|
566
|
+
panda_face,1F43C
|
567
|
+
paperclip,1F4CE
|
568
|
+
parking,1F17F
|
569
|
+
part_alternation_mark,303D
|
570
|
+
partly_sunny,26C5
|
571
|
+
passport_control,1F6C2
|
572
|
+
paw_prints,1F43E
|
573
|
+
peach,1F351
|
574
|
+
pear,1F350
|
575
|
+
pencil,1F4DD
|
576
|
+
pencil2,270F
|
577
|
+
penguin,1F427
|
578
|
+
pensive,1F614
|
579
|
+
performing_arts,1F3AD
|
580
|
+
persevere,1F623
|
581
|
+
person_frowning,1F64D
|
582
|
+
person_with_blond_hair,1F471
|
583
|
+
person_with_pouting_face,1F64E
|
584
|
+
phone,260E
|
585
|
+
pig,1F437
|
586
|
+
pig2,1F416
|
587
|
+
pig_nose,1F43D
|
588
|
+
pill,1F48A
|
589
|
+
pineapple,1F34D
|
590
|
+
pisces,2653
|
591
|
+
pizza,1F355
|
592
|
+
point_down,1F447
|
593
|
+
point_left,1F448
|
594
|
+
point_right,1F449
|
595
|
+
point_up,261D
|
596
|
+
point_up_2,1F446
|
597
|
+
police_car,1F693
|
598
|
+
poodle,1F429
|
599
|
+
poop,1F4A9
|
600
|
+
post_office,1F3E3
|
601
|
+
postal_horn,1F4EF
|
602
|
+
postbox,1F4EE
|
603
|
+
potable_water,1F6B0
|
604
|
+
pouch,1F45D
|
605
|
+
poultry_leg,1F357
|
606
|
+
pound,1F4B7
|
607
|
+
pouting_cat,1F63E
|
608
|
+
pray,1F64F
|
609
|
+
princess,1F478
|
610
|
+
punch,1F44A
|
611
|
+
purple_heart,1F49C
|
612
|
+
purse,1F45B
|
613
|
+
pushpin,1F4CC
|
614
|
+
put_litter_in_its_place,1F6AE
|
615
|
+
question,2754
|
616
|
+
rabbit,1F430
|
617
|
+
rabbit2,1F407
|
618
|
+
racehorse,1F40E
|
619
|
+
radio,1F4FB
|
620
|
+
radio_button,1F518
|
621
|
+
rage,1F621
|
622
|
+
rage1,
|
623
|
+
rage2,
|
624
|
+
rage3,
|
625
|
+
rage4,
|
626
|
+
railway_car,1F683
|
627
|
+
rainbow,1F308
|
628
|
+
raised_hand,270B
|
629
|
+
raised_hands,1F64C
|
630
|
+
raising_hand,1F64B
|
631
|
+
ram,1F40F
|
632
|
+
ramen,1F35C
|
633
|
+
rat,1F400
|
634
|
+
recycle,267B
|
635
|
+
red_car,1F697
|
636
|
+
red_circle,1F534
|
637
|
+
registered,00AE
|
638
|
+
relaxed,263A
|
639
|
+
relieved,1F625
|
640
|
+
repeat,1F501
|
641
|
+
repeat_one,1F502
|
642
|
+
restroom,1F6BB
|
643
|
+
revolving_hearts,1F49E
|
644
|
+
rewind,23EA
|
645
|
+
ribbon,1F380
|
646
|
+
rice,1F35A
|
647
|
+
rice_ball,1F359
|
648
|
+
rice_cracker,1F358
|
649
|
+
rice_scene,1F391
|
650
|
+
ring,1F48D
|
651
|
+
rocket,1F680
|
652
|
+
roller_coaster,1F3A2
|
653
|
+
rooster,1F413
|
654
|
+
rose,1F339
|
655
|
+
rotating_light,1F6A8
|
656
|
+
round_pushpin,1F4CD
|
657
|
+
rowboat,1F6A3
|
658
|
+
ru,1F1F7 1F1FA
|
659
|
+
rugby_football,1F3C9
|
660
|
+
runner,1F3C3
|
661
|
+
running,1F3C3
|
662
|
+
running_shirt_with_sash,1F3BD
|
663
|
+
sa,1F202
|
664
|
+
sagittarius,2650
|
665
|
+
sailboat,26F5
|
666
|
+
sake,1F376
|
667
|
+
sandal,1F461
|
668
|
+
santa,1F385
|
669
|
+
satellite,1F4E1
|
670
|
+
satisfied,1F60C
|
671
|
+
saxophone,1F3B7
|
672
|
+
school,1F3EB
|
673
|
+
school_satchel,1F392
|
674
|
+
scissors,2702
|
675
|
+
scorpius,264F
|
676
|
+
scream,1F631
|
677
|
+
scream_cat,1F640
|
678
|
+
scroll,1F4DC
|
679
|
+
seat,1F4BA
|
680
|
+
secret,3299
|
681
|
+
see_no_evil,1F648
|
682
|
+
seedling,1F331
|
683
|
+
seven,0037 20E3
|
684
|
+
shaved_ice,1F367
|
685
|
+
sheep,1F411
|
686
|
+
shell,1F41A
|
687
|
+
ship,1F6A2
|
688
|
+
shipit,
|
689
|
+
shirt,1F455
|
690
|
+
shit,1F4A9
|
691
|
+
shoe,1F45F
|
692
|
+
shower,1F6BF
|
693
|
+
signal_strength,1F4F6
|
694
|
+
six,0036 20E3
|
695
|
+
six_pointed_star,1F52F
|
696
|
+
ski,1F3BF
|
697
|
+
skull,1F480
|
698
|
+
sleeping,1F634
|
699
|
+
sleepy,1F62A
|
700
|
+
slot_machine,1F3B0
|
701
|
+
small_blue_diamond,1F539
|
702
|
+
small_orange_diamond,1F538
|
703
|
+
small_red_triangle,1F53A
|
704
|
+
small_red_triangle_down,1F53B
|
705
|
+
smile,1F604
|
706
|
+
smile_cat,1F638
|
707
|
+
smiley,1F603
|
708
|
+
smiley_cat,1F63A
|
709
|
+
smiling_imp,1F608
|
710
|
+
smirk,1F60F
|
711
|
+
smirk_cat,1F63C
|
712
|
+
smoking,1F6AC
|
713
|
+
snail,1F40C
|
714
|
+
snake,1F40D
|
715
|
+
snowboarder,1F3C2
|
716
|
+
snowflake,2744
|
717
|
+
snowman,26C4
|
718
|
+
sob,1F62D
|
719
|
+
soccer,26BD
|
720
|
+
soon,1F51C
|
721
|
+
sos,1F198
|
722
|
+
sound,1F509
|
723
|
+
space_invader,1F47E
|
724
|
+
spades,2660
|
725
|
+
spaghetti,1F35D
|
726
|
+
sparkler,1F387
|
727
|
+
sparkles,2728
|
728
|
+
sparkling_heart,1F496
|
729
|
+
speak_no_evil,1F64A
|
730
|
+
speaker,1F50A
|
731
|
+
speech_balloon,1F4AC
|
732
|
+
speedboat,1F6A4
|
733
|
+
squirrel,
|
734
|
+
star,1F31F
|
735
|
+
star2,1F31F
|
736
|
+
stars,1F303
|
737
|
+
station,1F689
|
738
|
+
statue_of_liberty,1F5FD
|
739
|
+
steam_locomotive,1F682
|
740
|
+
stew,1F372
|
741
|
+
straight_ruler,1F4CF
|
742
|
+
strawberry,1F353
|
743
|
+
stuck_out_tongue,1F61B
|
744
|
+
stuck_out_tongue_closed_eyes,1F61D
|
745
|
+
stuck_out_tongue_winking_eye,1F61C
|
746
|
+
sun_with_face,1F31E
|
747
|
+
sunflower,1F33B
|
748
|
+
sunglasses,1F60E
|
749
|
+
sunny,2600
|
750
|
+
sunrise,1F305
|
751
|
+
sunrise_over_mountains,1F304
|
752
|
+
surfer,1F3C4
|
753
|
+
sushi,1F363
|
754
|
+
suspect,
|
755
|
+
suspension_railway,1F69F
|
756
|
+
sweat,1F613
|
757
|
+
sweat_drops,1F4A6
|
758
|
+
sweat_smile,1F605
|
759
|
+
sweet_potato,1F360
|
760
|
+
swimmer,1F3CA
|
761
|
+
symbols,1F523
|
762
|
+
syringe,1F489
|
763
|
+
tada,1F389
|
764
|
+
tanabata_tree,1F38B
|
765
|
+
tangerine,1F34A
|
766
|
+
taurus,2649
|
767
|
+
taxi,1F695
|
768
|
+
tea,1F375
|
769
|
+
telephone,260E
|
770
|
+
telephone_receiver,1F4DE
|
771
|
+
telescope,1F52D
|
772
|
+
tennis,1F3BE
|
773
|
+
tent,26FA
|
774
|
+
thought_balloon,1F4AD
|
775
|
+
three,0033 20E3
|
776
|
+
thumbsdown,1F44E
|
777
|
+
thumbsup,1F44D
|
778
|
+
ticket,1F3AB
|
779
|
+
tiger,1F42F
|
780
|
+
tiger2,1F405
|
781
|
+
tired_face,1F62B
|
782
|
+
tm,2122
|
783
|
+
toilet,1F6BD
|
784
|
+
tokyo_tower,1F5FC
|
785
|
+
tomato,1F345
|
786
|
+
tongue,1F61D
|
787
|
+
tongue2,1F445
|
788
|
+
top,1F51D
|
789
|
+
tophat,1F3A9
|
790
|
+
tractor,1F69C
|
791
|
+
traffic_light,1F6A5
|
792
|
+
train,1F683
|
793
|
+
train2,1F686
|
794
|
+
tram,1F68A
|
795
|
+
triangular_flag_on_post,1F6A9
|
796
|
+
triangular_ruler,1F4D0
|
797
|
+
trident,1F531
|
798
|
+
triumph,1F624
|
799
|
+
trolleybus,1F68E
|
800
|
+
trollface,
|
801
|
+
trophy,1F3C6
|
802
|
+
tropical_drink,1F379
|
803
|
+
tropical_fish,1F420
|
804
|
+
truck,1F69A
|
805
|
+
trumpet,1F3BA
|
806
|
+
tshirt,1F455
|
807
|
+
tulip,1F337
|
808
|
+
turtle,1F422
|
809
|
+
tv,1F4FA
|
810
|
+
twisted_rightwards_arrows,1F500
|
811
|
+
two,0032 20E3
|
812
|
+
two_hearts,1F495
|
813
|
+
two_men_holding_hands,1F46C
|
814
|
+
two_women_holding_hands,1F46D
|
815
|
+
u5272,1F239
|
816
|
+
u5408,1F234
|
817
|
+
u55b6,1F23A
|
818
|
+
u6307,1F22F
|
819
|
+
u6708,1F237
|
820
|
+
u6709,1F236
|
821
|
+
u6e80,1F235
|
822
|
+
u7121,1F21A
|
823
|
+
u7533,1F238
|
824
|
+
u7981,1F232
|
825
|
+
u7a7a,1F233
|
826
|
+
uk,D83C DDEC D83C DDE7
|
827
|
+
umbrella,2614
|
828
|
+
unamused,1F612
|
829
|
+
underage,1F51E
|
830
|
+
unlock,1F513
|
831
|
+
up,1F199
|
832
|
+
us,1F1FA 1F1F8
|
833
|
+
v,270C
|
834
|
+
vertical_traffic_light,1F6A6
|
835
|
+
vhs,1F4FC
|
836
|
+
vibration_mode,1F4F3
|
837
|
+
video_camera,1F4F9
|
838
|
+
video_game,1F3AE
|
839
|
+
violin,1F3BB
|
840
|
+
virgo,264D
|
841
|
+
volcano,1F30B
|
842
|
+
vs,1F19A
|
843
|
+
walking,1F6B6
|
844
|
+
waning_crescent_moon,1F318
|
845
|
+
waning_gibbous_moon,1F316
|
846
|
+
warning,26A0
|
847
|
+
watch,231A
|
848
|
+
water_buffalo,1F403
|
849
|
+
watermelon,1F349
|
850
|
+
wave,1F44B
|
851
|
+
wavy_dash,3030
|
852
|
+
waxing_crescent_moon,1F312
|
853
|
+
waxing_gibbous_moon,1F314
|
854
|
+
wc,1F6BE
|
855
|
+
weary,1F629
|
856
|
+
wedding,1F492
|
857
|
+
whale,1F433
|
858
|
+
whale2,1F40B
|
859
|
+
wheelchair,267F
|
860
|
+
white_check_mark,2705
|
861
|
+
white_circle,26AA
|
862
|
+
white_flower,1F4AE
|
863
|
+
white_square,2B1C
|
864
|
+
white_square_button,1F533
|
865
|
+
wind_chime,1F390
|
866
|
+
wine_glass,1F377
|
867
|
+
wink,1F609
|
868
|
+
wink2,1F61C
|
869
|
+
wolf,1F43A
|
870
|
+
woman,1F469
|
871
|
+
womans_clothes,1F45A
|
872
|
+
womans_hat,1F452
|
873
|
+
womens,1F6BA
|
874
|
+
worried,1F61F
|
875
|
+
wrench,1F527
|
876
|
+
x,274C
|
877
|
+
yellow_heart,1F49B
|
878
|
+
yen,1F4B4
|
879
|
+
yum,1F60B
|
880
|
+
zap,26A1
|
881
|
+
zero,0030 20E3
|
882
|
+
zzz,1F4A4
|
data/lib/hobostove.rb
CHANGED
@@ -13,7 +13,9 @@ require 'hobostove/models/message'
|
|
13
13
|
require 'hobostove/models/user'
|
14
14
|
|
15
15
|
require 'hobostove/campfire'
|
16
|
+
require 'hobostove/emoji'
|
16
17
|
require 'hobostove/message_renderer'
|
18
|
+
require 'hobostove/line'
|
17
19
|
|
18
20
|
require 'hobostove/cli/setup'
|
19
21
|
require 'hobostove/cli/upgrade'
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'csv'
|
2
|
+
|
3
|
+
module Hobostove
|
4
|
+
class Emoji
|
5
|
+
def self.replace(string)
|
6
|
+
csv = File.expand_path("../../../data/emoji.csv", __FILE__)
|
7
|
+
CSV.foreach(csv) do |row|
|
8
|
+
if string =~ /:#{row[0]}:/
|
9
|
+
character = [row[1].hex].pack("U")
|
10
|
+
string.gsub!(":#{row[0]}:", character)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
string
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
module Hobostove
|
2
|
+
class Line
|
3
|
+
LineSegment = Struct.new(:color, :body)
|
4
|
+
|
5
|
+
attr_reader :segments
|
6
|
+
|
7
|
+
def initialize(segments = [])
|
8
|
+
@segments = segments
|
9
|
+
end
|
10
|
+
|
11
|
+
def to_s
|
12
|
+
@segments.map(&:body).join
|
13
|
+
end
|
14
|
+
|
15
|
+
def length
|
16
|
+
to_s.length
|
17
|
+
end
|
18
|
+
|
19
|
+
def present?
|
20
|
+
to_s.present?
|
21
|
+
end
|
22
|
+
|
23
|
+
def first(count)
|
24
|
+
segment(count).first
|
25
|
+
end
|
26
|
+
|
27
|
+
def split(width)
|
28
|
+
lines = []
|
29
|
+
line = self
|
30
|
+
begin
|
31
|
+
first, second = line.send(:segment, width)
|
32
|
+
|
33
|
+
lines << first
|
34
|
+
line = second
|
35
|
+
end while second.length > 0
|
36
|
+
lines
|
37
|
+
end
|
38
|
+
|
39
|
+
def add(color, body)
|
40
|
+
segments << LineSegment.new(color, body)
|
41
|
+
end
|
42
|
+
|
43
|
+
def <=>(other)
|
44
|
+
to_s <=> other.to_s
|
45
|
+
end
|
46
|
+
|
47
|
+
def segment(count)
|
48
|
+
first_line = Line.new
|
49
|
+
second_line = Line.new
|
50
|
+
|
51
|
+
segments.inject(0) do |current_count, segment|
|
52
|
+
if current_count > count
|
53
|
+
second_line.add(segment.color, segment.body)
|
54
|
+
next
|
55
|
+
end
|
56
|
+
|
57
|
+
current_count += segment.body.length
|
58
|
+
|
59
|
+
if current_count <= count
|
60
|
+
first_line.add(segment.color, segment.body)
|
61
|
+
else
|
62
|
+
count = segment.body.length - (current_count - count)
|
63
|
+
|
64
|
+
first_line.add(segment.color, segment.body.first(count))
|
65
|
+
second_line.add(segment.color, segment.body[count..-1])
|
66
|
+
end
|
67
|
+
|
68
|
+
current_count
|
69
|
+
end
|
70
|
+
|
71
|
+
[first_line, second_line]
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
def Line(obj)
|
77
|
+
if obj.is_a?(Hobostove::Line)
|
78
|
+
obj
|
79
|
+
else
|
80
|
+
Hobostove::Line.new.tap do |line|
|
81
|
+
line.add(:white, obj.to_s)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
@@ -3,26 +3,36 @@ module Hobostove
|
|
3
3
|
def render_lines(message)
|
4
4
|
message = render(message)
|
5
5
|
return [] if message.nil?
|
6
|
-
message.
|
6
|
+
message.split(window_size).select { |line| line.present? }
|
7
7
|
end
|
8
8
|
|
9
9
|
def render(message)
|
10
|
+
line = Line.new
|
10
11
|
case message.type
|
11
12
|
when "TextMessage"
|
12
|
-
|
13
|
+
line.add(:cyan, message.username)
|
14
|
+
line.add(:white, ": #{Emoji.replace(message.body)}")
|
13
15
|
when "EnterMessage"
|
14
|
-
|
16
|
+
line.add(:white, " ")
|
17
|
+
line.add(:cyan, message.username)
|
18
|
+
line.add(:white, " joined")
|
15
19
|
when "LeaveMessage"
|
16
|
-
|
20
|
+
line.add(:white, " ")
|
21
|
+
line.add(:cyan, message.username)
|
22
|
+
line.add(:white, " left")
|
17
23
|
when "TimestampMessage"
|
18
|
-
"
|
24
|
+
line.add(:white, " #{message.timestamp.strftime("%H:%M")}")
|
19
25
|
when "PasteMessage"
|
20
|
-
|
26
|
+
line.add(:cyan, message.username)
|
27
|
+
line.add(:white, " (paste message):\n#{message.body}")
|
21
28
|
when "TweetMessage"
|
22
|
-
|
29
|
+
line.add(:cyan, message.username)
|
30
|
+
line.add(:white, " (tweet message): #{message.body}")
|
23
31
|
when "UploadMessage"
|
24
|
-
|
32
|
+
line.add(:cyan, message.username)
|
33
|
+
line.add(:white, " (upload message): #{message.body}")
|
25
34
|
end
|
35
|
+
line
|
26
36
|
end
|
27
37
|
end
|
28
38
|
end
|
data/lib/hobostove/panel.rb
CHANGED
@@ -23,9 +23,9 @@ module Hobostove
|
|
23
23
|
|
24
24
|
def <<(string, do_update = true)
|
25
25
|
if wrap_lines?
|
26
|
-
@strings << string.first(width - 4)
|
26
|
+
@strings << Line(string.first(width - 4))
|
27
27
|
else
|
28
|
-
@strings << string
|
28
|
+
@strings << Line(string)
|
29
29
|
end
|
30
30
|
|
31
31
|
refresh if do_update
|
@@ -54,9 +54,21 @@ module Hobostove
|
|
54
54
|
|
55
55
|
@win.box(0, 0)
|
56
56
|
|
57
|
-
|
57
|
+
printable_lines.each_with_index do |line, i|
|
58
58
|
@win.setpos(i + 1, 2)
|
59
|
-
|
59
|
+
|
60
|
+
line.segments.each do |segment|
|
61
|
+
color = case segment.color
|
62
|
+
when :cyan
|
63
|
+
Curses::COLOR_CYAN
|
64
|
+
else
|
65
|
+
Curses::COLOR_WHITE
|
66
|
+
end
|
67
|
+
|
68
|
+
@win.attron(Curses.color_pair(color) | Curses::A_NORMAL) do
|
69
|
+
@win.addstr(segment.body)
|
70
|
+
end
|
71
|
+
end
|
60
72
|
end
|
61
73
|
|
62
74
|
refresh!
|
@@ -64,6 +76,10 @@ module Hobostove
|
|
64
76
|
|
65
77
|
private
|
66
78
|
|
79
|
+
def printable_lines
|
80
|
+
@strings.last(printable_area + @scroll).first(printable_area)
|
81
|
+
end
|
82
|
+
|
67
83
|
def printable_area
|
68
84
|
height - 2
|
69
85
|
end
|
data/lib/hobostove/user_panel.rb
CHANGED
data/lib/hobostove/window.rb
CHANGED
@@ -111,10 +111,15 @@ module Hobostove
|
|
111
111
|
|
112
112
|
def start_curses
|
113
113
|
Curses.init_screen
|
114
|
+
Curses.start_color
|
114
115
|
Curses.cbreak
|
115
116
|
Curses.noecho
|
116
117
|
Curses.curs_set(0)
|
117
118
|
|
119
|
+
Curses.use_default_colors
|
120
|
+
Curses.init_pair(Curses::COLOR_CYAN, Curses::COLOR_CYAN, -1)
|
121
|
+
Curses.init_pair(Curses::COLOR_WHITE, -1, -1)
|
122
|
+
|
118
123
|
@users_panel = UserPanel.new(Curses.lines, 20, 0, Curses.cols - 20)
|
119
124
|
@messages_panel = Panel.new(Curses.lines - 3, Curses.cols - 20, 0, 0, :nowrap => true)
|
120
125
|
@message_panel = InputPanel.new(3, Curses.cols - 20, Curses.lines - 3, 0)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hobostove
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Oestrich
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0.5'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: terminal-notifier
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.6'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.6'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: gli
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -131,13 +145,16 @@ extensions: []
|
|
131
145
|
extra_rdoc_files: []
|
132
146
|
files:
|
133
147
|
- bin/hobostove
|
148
|
+
- data/emoji.csv
|
134
149
|
- lib/hobostove.rb
|
135
150
|
- lib/hobostove/campfire.rb
|
136
151
|
- lib/hobostove/cli/room_picker.rb
|
137
152
|
- lib/hobostove/cli/setup.rb
|
138
153
|
- lib/hobostove/cli/upgrade.rb
|
139
154
|
- lib/hobostove/configuration.rb
|
155
|
+
- lib/hobostove/emoji.rb
|
140
156
|
- lib/hobostove/input_panel.rb
|
157
|
+
- lib/hobostove/line.rb
|
141
158
|
- lib/hobostove/message_renderer.rb
|
142
159
|
- lib/hobostove/models/message.rb
|
143
160
|
- lib/hobostove/models/user.rb
|