usiri 1.0.0 → 2.0.0
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/README.md +10 -1
- data/lib/usiri.rb +12 -6
- data/lib/usiri/IT.rb +14 -0
- data/lib/usiri/chaguo_cli.rb +6 -7
- data/lib/usiri/msaidizi.rb +7 -1
- data/lib/usiri/muhakikisha.rb +2 -2
- data/lib/usiri/muombi.rb +66 -22
- data/lib/usiri/mwisho.rb +28 -12
- data/lib/usiri/toleo.rb +1 -1
- data/usiri.gemspec +13 -12
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2c411920ad5ebcedbde652445b481525178895c9
|
|
4
|
+
data.tar.gz: af91e7d0b876bf56a343aaf14c0880e10df42bf6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3dc13f909a2786ad06dc98f4b862b7aa205af91c196422b4e010ed1a6583df030720562037244ca03de2c0ea8894a42406a9383c25e22e48893e2ebf9647f65d
|
|
7
|
+
data.tar.gz: 4d3a26d0feffc329d891d312d79a9dfb18e006b1711497e2a23d6983f9847dc38386e42d958b84e75dd0d830d443a2917e3714a293f793168a3972f3be26ebaa
|
data/README.md
CHANGED
|
@@ -1 +1,10 @@
|
|
|
1
|
-
# usiri
|
|
1
|
+
# usiri
|
|
2
|
+
usiri [chaguo]
|
|
3
|
+
|
|
4
|
+
-j, --jina JINA jina itayotumwika kutengeneza siri
|
|
5
|
+
-s, --siti SITI siti itayotumwika kutengeneza siri
|
|
6
|
+
-a, --alama [AINA] aina ya alama | moja katita [yoyote ,safi ,bila]
|
|
7
|
+
-u, --urefu UREFU urefu wa siri. msingi: 23, wastan wa chini: 16, wastan wa ju: 88
|
|
8
|
+
-t, --toleo TOLEO toleo itayotumwika kutengeneza siri. msingi: 1.0
|
|
9
|
+
-m Oneysha mesegi hii
|
|
10
|
+
-T Oneysha toleo ya programu hii
|
data/lib/usiri.rb
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
require 'digest'
|
|
2
2
|
require 'clipboard'
|
|
3
|
+
require 'usiri/IT'
|
|
3
4
|
require 'usiri/msaidizi'
|
|
4
|
-
|
|
5
|
+
require 'usiri/mwisho'
|
|
5
6
|
|
|
6
7
|
module Usiri
|
|
7
8
|
extend self
|
|
@@ -33,7 +34,8 @@ module Usiri
|
|
|
33
34
|
tokeo = badilisha_maalama tokeo, kutoka, hashi
|
|
34
35
|
end
|
|
35
36
|
|
|
36
|
-
|
|
37
|
+
copi_kwenye_ubao tokeo
|
|
38
|
+
kwaheri
|
|
37
39
|
end
|
|
38
40
|
|
|
39
41
|
def tengeneza_id
|
|
@@ -55,7 +57,7 @@ module Usiri
|
|
|
55
57
|
end
|
|
56
58
|
|
|
57
59
|
def ina_alama? neno
|
|
58
|
-
neno.match?
|
|
60
|
+
neno.match? REGEX[:alama]
|
|
59
61
|
end
|
|
60
62
|
|
|
61
63
|
def ni_alama? chr
|
|
@@ -76,7 +78,7 @@ module Usiri
|
|
|
76
78
|
end
|
|
77
79
|
|
|
78
80
|
def maalama
|
|
79
|
-
@alama ==
|
|
81
|
+
@alama == MSINGI[:alama] ? alama_yoyote : alama_safi
|
|
80
82
|
end
|
|
81
83
|
|
|
82
84
|
def ju_chini
|
|
@@ -115,8 +117,12 @@ module Usiri
|
|
|
115
117
|
herufu_tokeo.join
|
|
116
118
|
end
|
|
117
119
|
|
|
118
|
-
def
|
|
120
|
+
def copi_kwenye_ubao siri
|
|
119
121
|
Clipboard.copy siri
|
|
120
|
-
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
def kwaheri
|
|
125
|
+
IT.ondoa_line paka=1
|
|
126
|
+
puts MAELEZO[:siri_copiwa] + MAELEZO[:kwaheri]
|
|
121
127
|
end
|
|
122
128
|
end
|
data/lib/usiri/IT.rb
ADDED
data/lib/usiri/chaguo_cli.rb
CHANGED
|
@@ -36,37 +36,36 @@ class ChaguoCLI
|
|
|
36
36
|
private
|
|
37
37
|
def chaguo_jina mfasili
|
|
38
38
|
mfasili.on("-j", "--jina JINA", MAELEZO[:jina]) do |jina|
|
|
39
|
-
raise kosa jina if jina.match?
|
|
39
|
+
raise kosa jina if jina.match? REGEX[:chaguo_cli]
|
|
40
40
|
@jina = jina
|
|
41
41
|
end
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
def chaguo_siti mfasili
|
|
45
45
|
mfasili.on("-s", "--siti SITI", MAELEZO[:siti]) do |siti|
|
|
46
|
-
raise kosa siti if siti.match?
|
|
46
|
+
raise kosa siti if siti.match? REGEX[:chaguo_cli]
|
|
47
47
|
@siti = siti
|
|
48
48
|
end
|
|
49
49
|
end
|
|
50
50
|
|
|
51
51
|
def chaguo_alama mfasili
|
|
52
|
-
mfasili.on("-a", "--alama [AINA]", AINA_MAALAMA,
|
|
53
|
-
MAELEZO[:alama]) do |alama|
|
|
52
|
+
mfasili.on("-a", "--alama [AINA]", AINA_MAALAMA, MAELEZO[:alama]) do |alama|
|
|
54
53
|
if AINA_MAALAMA.include? alama
|
|
55
54
|
@alama = alama
|
|
56
55
|
else
|
|
57
|
-
@alama =
|
|
56
|
+
@alama = MSINGI[:alama]
|
|
58
57
|
end
|
|
59
58
|
end
|
|
60
59
|
end
|
|
61
60
|
|
|
62
61
|
def chaguo_urefu mfasili
|
|
63
|
-
mfasili.on("-u", "--urefu UREFU",
|
|
62
|
+
mfasili.on("-u", "--urefu UREFU", REGEX[:urefu], MAELEZO[:urefu]) do |urefu|
|
|
64
63
|
@urefu = urefu.to_i
|
|
65
64
|
end
|
|
66
65
|
end
|
|
67
66
|
|
|
68
67
|
def chaguo_toleo mfasili
|
|
69
|
-
mfasili.on("-t", "--toleo TOLEO",
|
|
68
|
+
mfasili.on("-t", "--toleo TOLEO", REGEX[:toleo], MAELEZO[:toleo]) do |toleo|
|
|
70
69
|
@toleo = toleo
|
|
71
70
|
end
|
|
72
71
|
end
|
data/lib/usiri/msaidizi.rb
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
require 'optparse'
|
|
2
2
|
require 'usiri/chaguo_cli'
|
|
3
3
|
require 'usiri/muombi'
|
|
4
|
+
require 'usiri/mwisho'
|
|
4
5
|
|
|
5
6
|
module Msaidizi
|
|
6
7
|
extend self
|
|
@@ -47,6 +48,11 @@ module Msaidizi
|
|
|
47
48
|
end
|
|
48
49
|
|
|
49
50
|
def omba_chaguo_kama_hazipo chaguo_asili
|
|
50
|
-
|
|
51
|
+
begin
|
|
52
|
+
Muombi.new chaguo_asili
|
|
53
|
+
rescue SystemExit, Interrupt
|
|
54
|
+
puts MAELEZO[:kwaheri]
|
|
55
|
+
exit
|
|
56
|
+
end
|
|
51
57
|
end
|
|
52
58
|
end
|
data/lib/usiri/muhakikisha.rb
CHANGED
data/lib/usiri/muombi.rb
CHANGED
|
@@ -1,27 +1,58 @@
|
|
|
1
|
-
require 'io/console'
|
|
2
1
|
require "inquirer"
|
|
3
|
-
require "usiri/mwisho"
|
|
4
2
|
require "usiri/muhakikisha"
|
|
3
|
+
require "usiri/it"
|
|
4
|
+
require "usiri/mwisho"
|
|
5
5
|
|
|
6
6
|
class Muombi
|
|
7
7
|
attr_accessor :jina, :siti, :siri, :alama, :urefu, :toleo
|
|
8
8
|
|
|
9
9
|
def initialize(chaguo_asili)
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
@alama = leta_chaguo chaguo_asili, :alama
|
|
14
|
-
@urefu = leta_chaguo(chaguo_asili, :urefu).to_i
|
|
15
|
-
@toleo = leta_chaguo chaguo_asili, :toleo
|
|
10
|
+
karibu
|
|
11
|
+
leta_chaguo_id chaguo_asili
|
|
12
|
+
leta_chaguo_siri chaguo_asili
|
|
16
13
|
end
|
|
17
14
|
|
|
18
15
|
private
|
|
19
|
-
def
|
|
16
|
+
def karibu
|
|
17
|
+
puts MAELEZO[:karibu]
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def leta_chaguo_id chaguo_asili
|
|
21
|
+
[:jina, :siti, :siri].each do |chaguo|
|
|
22
|
+
setti_chaguo chaguo, leta_chaguo(chaguo_asili, chaguo, ENVI[chaguo])
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def leta_chaguo_siri chaguo_asili
|
|
27
|
+
hazijasetiwa = [];
|
|
28
|
+
|
|
29
|
+
MSINGI.each do |jina_chaguo, thamani|
|
|
30
|
+
if chaguo_haijasetiwa? chaguo_asili, jina_chaguo
|
|
31
|
+
hazijasetiwa.push jina_chaguo
|
|
32
|
+
else
|
|
33
|
+
thamani = leta_chaguo chaguo_asili, jina_chaguo
|
|
34
|
+
setti_chaguo jina_chaguo, thamani
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
maamuzi = omba_chaguo_siri hazijasetiwa.map { |e| "#{e}: #{MSINGI[e]}" }
|
|
39
|
+
|
|
40
|
+
hazijasetiwa.each_with_index do |chaguo, sehemu|
|
|
41
|
+
amekubali_msingi = maamuzi[sehemu]
|
|
42
|
+
if amekubali_msingi
|
|
43
|
+
setti_chaguo chaguo, MSINGI[chaguo]
|
|
44
|
+
else
|
|
45
|
+
setti_chaguo chaguo, leta_chaguo(chaguo_asili, chaguo)
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def leta_chaguo chaguo_asili, chaguo, env = nil
|
|
20
51
|
jibu = leta_chaguo_asili chaguo_asili, chaguo
|
|
21
52
|
|
|
22
53
|
if jibu.nil?
|
|
23
|
-
if not
|
|
24
|
-
jibu = ENV[
|
|
54
|
+
if not env.nil?
|
|
55
|
+
jibu = ENV[env]
|
|
25
56
|
else
|
|
26
57
|
muhakikisha = tengeneza_muhakikisha chaguo
|
|
27
58
|
jibu = omba chaguo
|
|
@@ -34,7 +65,20 @@ class Muombi
|
|
|
34
65
|
end
|
|
35
66
|
end
|
|
36
67
|
|
|
37
|
-
jibu
|
|
68
|
+
chaguo == :urefu ? jibu.to_i : jibu
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def setti_chaguo chaguo, thamani
|
|
72
|
+
setta = leta_setta chaguo
|
|
73
|
+
self.method(setta).call(thamani)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def leta_setta chaguo
|
|
77
|
+
(chaguo.to_s + "=").to_sym
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def chaguo_haijasetiwa? chaguo_asili, chaguo
|
|
81
|
+
leta_chaguo_asili(chaguo_asili, chaguo).nil?
|
|
38
82
|
end
|
|
39
83
|
|
|
40
84
|
def leta_chaguo_asili chaguo_asili, chaguo
|
|
@@ -94,23 +138,23 @@ class Muombi
|
|
|
94
138
|
|
|
95
139
|
case chaguo
|
|
96
140
|
when :urefu
|
|
97
|
-
opts[:default] =
|
|
141
|
+
opts[:default] = MSINGI[:urefu].to_s
|
|
98
142
|
when :toleo
|
|
99
|
-
opts[:default] =
|
|
143
|
+
opts[:default] = MSINGI[:toleo].to_s
|
|
100
144
|
end
|
|
145
|
+
|
|
101
146
|
opts
|
|
102
147
|
end
|
|
103
148
|
|
|
104
149
|
def omba_siri swala
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
print swala
|
|
108
|
-
ingizo = STDIN.noecho(&:gets).strip
|
|
109
|
-
clear_line
|
|
110
|
-
ingizo
|
|
150
|
+
print swala
|
|
151
|
+
IT.letas(ondoa=true).strip
|
|
111
152
|
end
|
|
112
153
|
|
|
113
|
-
def
|
|
114
|
-
|
|
154
|
+
def omba_chaguo_siri msingi
|
|
155
|
+
Ask.checkbox(MAELEZO[:chaguo_siri],
|
|
156
|
+
msingi,
|
|
157
|
+
default: msingi.map { |e| true },
|
|
158
|
+
response: false)
|
|
115
159
|
end
|
|
116
160
|
end
|
data/lib/usiri/mwisho.rb
CHANGED
|
@@ -1,25 +1,41 @@
|
|
|
1
1
|
require "colorize"
|
|
2
2
|
|
|
3
|
+
MSINGI = {
|
|
4
|
+
alama: :yoyote,
|
|
5
|
+
urefu: 23,
|
|
6
|
+
toleo: 1.0
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
ENVI = {
|
|
10
|
+
jina: "JINA_USIRI"
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
AINA_MAALAMA = [MSINGI[:alama], :safi, :bila]
|
|
3
14
|
UREFU_WASTAN_CHINI = 16
|
|
4
15
|
UREFU_WASTAN_JU = 88
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
16
|
+
|
|
17
|
+
REGEX = {
|
|
18
|
+
urefu: /^[1-7][6-9]$|^[2-7][0-9]$|^8[0-8]$/,
|
|
19
|
+
toleo: /^-?[\d]+\.?[\d]*$/,
|
|
20
|
+
alama: /[\W_]/,
|
|
21
|
+
chaguo_cli: /^-[jsautTm]$|^--jina$|^--siti$|^--alama$|^--urefu$|^--toleo$/
|
|
22
|
+
}
|
|
23
|
+
|
|
13
24
|
MAELEZO = {
|
|
25
|
+
karibu: ("👐🏾 "+" Karibu!").black.on_yellow +
|
|
26
|
+
" Ingiza au chagua chaguozako alafu bonyeza 'enter' kuendelea".green,
|
|
14
27
|
jina: "jina itayotumwika kutengeneza siri",
|
|
15
28
|
siti: "siti itayotumwika kutengeneza siri",
|
|
16
29
|
siri: "siri ku: ",
|
|
17
|
-
|
|
18
|
-
|
|
30
|
+
chaguo_siri: "tumiya chaguo haya kutengeneza siri."+
|
|
31
|
+
" Bonyeza 'spacebar' kukubali aw kukataa chaguo.",
|
|
32
|
+
alama: "aina ya alama | moja katita [#{AINA_MAALAMA.join(' ,')}]",
|
|
33
|
+
urefu: "urefu wa siri. msingi: #{MSINGI[:urefu]},\
|
|
19
34
|
wastan wa chini: #{UREFU_WASTAN_CHINI}, wastan wa ju: #{UREFU_WASTAN_JU}",
|
|
20
|
-
toleo: "toleo itayotumwika kutengeneza siri. msingi: #{
|
|
35
|
+
toleo: "toleo itayotumwika kutengeneza siri. msingi: #{MSINGI[:toleo]}",
|
|
21
36
|
msaada: "Oneysha mesegi hii",
|
|
22
37
|
toleo_usiri: "Oneysha toleo ya programu hii",
|
|
23
38
|
jaribu_tena: "**JARIBU TENA**".black.on_red,
|
|
24
|
-
siri_copiwa: "Siri ime copiwa kwenye ubao".green
|
|
39
|
+
siri_copiwa: "🙌🏾 "+ " Siri ime copiwa kwenye ubao. Karibu tena! ".green,
|
|
40
|
+
kwaheri: "Kwaheri".green + " ✌🏾"
|
|
25
41
|
}
|
data/lib/usiri/toleo.rb
CHANGED
data/usiri.gemspec
CHANGED
|
@@ -4,16 +4,17 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
|
4
4
|
require "usiri/toleo"
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |spec|
|
|
7
|
-
spec.name
|
|
8
|
-
spec.version
|
|
9
|
-
spec.executables
|
|
10
|
-
spec.date
|
|
11
|
-
spec.summary
|
|
12
|
-
spec.description
|
|
13
|
-
spec.authors
|
|
14
|
-
spec.email
|
|
15
|
-
spec.files
|
|
16
|
-
spec.require_paths
|
|
17
|
-
spec.
|
|
18
|
-
spec.
|
|
7
|
+
spec.name = 'usiri'
|
|
8
|
+
spec.version = Usiri::TOLEO
|
|
9
|
+
spec.executables << 'usiri'
|
|
10
|
+
spec.date = '2017-10-24'
|
|
11
|
+
spec.summary = "Manega ya maneno ya siri"
|
|
12
|
+
spec.description = "Hii ni programu raisi ya ku hifadhi maneno ya siri"
|
|
13
|
+
spec.authors = ["Itenga"]
|
|
14
|
+
spec.email = 'itenga@protonmail.com'
|
|
15
|
+
spec.files = `git ls-files`.split("\n")
|
|
16
|
+
spec.require_paths = ["lib"]
|
|
17
|
+
spec.required_ruby_version = '>=2.4.0'
|
|
18
|
+
spec.homepage = 'https://github.com/msukuma/usiri'
|
|
19
|
+
spec.license = 'MIT'
|
|
19
20
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: usiri
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Itenga
|
|
@@ -25,6 +25,7 @@ files:
|
|
|
25
25
|
- Rakefile
|
|
26
26
|
- bin/usiri
|
|
27
27
|
- lib/usiri.rb
|
|
28
|
+
- lib/usiri/IT.rb
|
|
28
29
|
- lib/usiri/chaguo_cli.rb
|
|
29
30
|
- lib/usiri/msaidizi.rb
|
|
30
31
|
- lib/usiri/muhakikisha.rb
|
|
@@ -44,7 +45,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
44
45
|
requirements:
|
|
45
46
|
- - ">="
|
|
46
47
|
- !ruby/object:Gem::Version
|
|
47
|
-
version:
|
|
48
|
+
version: 2.4.0
|
|
48
49
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
49
50
|
requirements:
|
|
50
51
|
- - ">="
|