igo 0.1.5 → 0.1.5.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 +4 -4
- data/lib/igo/ja.rb +29 -22
- data/lib/igo/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81b5f3fec925891f2ab69645a249aebd65c2e2cf1ae14957cb80d4c85861c138
|
4
|
+
data.tar.gz: 0aacd859a7c85dc0385be5630083b1862293c008214bf6c0c230ebd071a0a65e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6d995a0dca73847507437bf4c33bf0e937f58ee4f8e959836cea94f643e2dff2ae4a9ffeb62dca790fc1aaf8a433fa7b16855f233c401be7cad6f73567718c5b
|
7
|
+
data.tar.gz: 04c947e5b3e0cb76b77afddb6f271fdfa998243bb4aea60a036073873c013a0435cdb59db62bb98c2b40cf7da360c7573e1ccc6d76013b7a6486ec59a6396378
|
data/lib/igo/ja.rb
CHANGED
@@ -70,8 +70,9 @@ module Igo
|
|
70
70
|
# else cutted.map(&:last)
|
71
71
|
# end
|
72
72
|
|
73
|
-
tag(str, s: s, lr: lr, tag: false, kana: true)
|
73
|
+
tag(str, s: s, lr: lr, tag: false, kana: true, kana_only: true)
|
74
74
|
end
|
75
|
+
|
75
76
|
def ruby str, s: false, lr: "()"
|
76
77
|
# str = URI.encode_www_form_component(str)
|
77
78
|
# doc = Nokogiri::HTML(URI.open(SEARCH_URL + str).read)
|
@@ -93,7 +94,7 @@ module Igo
|
|
93
94
|
# else cutted
|
94
95
|
# end
|
95
96
|
|
96
|
-
tag(str, s: s, lr: lr, kana:
|
97
|
+
tag(str, s: s, lr: lr, kana: true, tag: false)
|
97
98
|
|
98
99
|
end
|
99
100
|
# TODO: tag word function
|
@@ -102,7 +103,7 @@ module Igo
|
|
102
103
|
|
103
104
|
end
|
104
105
|
|
105
|
-
def tag str, s: false, ns: 0, lr: "()", sp:"_", short: false, tag: true, kana: false, timeout: 10
|
106
|
+
def tag str, s: false, ns: 0, lr: "()", sp:"_", short: false, tag: true, kana: false, timeout: 10, kana_only: false
|
106
107
|
|
107
108
|
def async_query(arr, timeout=0, &block)
|
108
109
|
promises = arr.map do |element|
|
@@ -126,7 +127,7 @@ module Igo
|
|
126
127
|
results
|
127
128
|
end
|
128
129
|
|
129
|
-
def _tag str
|
130
|
+
def _tag str
|
130
131
|
str = URI.encode_www_form_component(str)
|
131
132
|
doc = Nokogiri::HTML(URI.open(SEARCH_URL + str).read)
|
132
133
|
|
@@ -135,35 +136,41 @@ module Igo
|
|
135
136
|
_1&.css(".japanese_word__furigana").text||nil, # kana
|
136
137
|
_1.attr("data-pos")] # tag
|
137
138
|
end
|
138
|
-
# .map{_1.values_at(* [0, vis_kana ? 1 : 0, vis_tag ? 2 : 0].uniq)}
|
139
139
|
end
|
140
140
|
|
141
|
-
def _stringify cutted, s: "/", lr: "()", sp:"_", short: false, vis_tag: true, vis_kana: true
|
141
|
+
def _stringify cutted, s: "/", lr: "()", sp:"_", short: false, vis_tag: true, vis_kana: true, kana_only: false
|
142
142
|
# cutted.each{ _1[1] = nil } unless vis_kana
|
143
143
|
# cutted.each{ _1[2] = nil } unless vis_tag
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
144
|
+
if kana_only
|
145
|
+
return cutted.map do
|
146
|
+
(_1[1].empty? ? _1[0] : _1[1]) +
|
147
|
+
((vis_kana && _1[2]) ? (sp + _1[2]) : "")
|
148
|
+
end.join(s)
|
149
|
+
else
|
150
|
+
unless s.is_a?(String)
|
151
|
+
s = " "
|
152
|
+
end
|
153
|
+
left, right = case lr
|
154
|
+
when String then (lr*2).split("").values_at(0, -1)
|
155
|
+
when Array then lr
|
156
|
+
end
|
157
|
+
cutted.map do
|
158
|
+
_1[0] +
|
159
|
+
((vis_tag && !_1[1]&.empty? )? (left + _1[1] + right) : "") +
|
160
|
+
((vis_kana && _1[2]) ? (sp + _1[2]) : "")
|
161
|
+
end.join(s)
|
150
162
|
end
|
151
|
-
cutted.map do
|
152
|
-
_1[0] +
|
153
|
-
((vis_tag && !_1[1]&.empty? )? (left + _1[1] + right) : "") +
|
154
|
-
((vis_kana && _1[2]) ? (sp + _1[2]) : "")
|
155
|
-
end.join(s)
|
156
163
|
end
|
157
164
|
|
158
|
-
def singo_proc str, s: false, ns: 0, lr: "()", sp:"_", short: false, vis_tag: true, vis_kana: true
|
159
|
-
cutted = _tag str
|
165
|
+
def singo_proc str, s: false, ns: 0, lr: "()", sp:"_", short: false, vis_tag: true, vis_kana: true, kana_only: false
|
166
|
+
cutted = _tag str
|
160
167
|
if short
|
161
168
|
short = short.is_a?(Integer) ? short : 4
|
162
169
|
cutted = cutted.map{[ *_1[0,2], (_1[2][0, short].downcase rescue nil) ]}
|
163
170
|
end
|
164
171
|
|
165
172
|
if s
|
166
|
-
_stringify cutted, s: s, lr: lr, sp: sp, short: short, vis_tag: vis_kana, vis_kana: vis_tag
|
173
|
+
_stringify cutted, s: s, lr: lr, sp: sp, short: short, vis_tag: vis_kana, vis_kana: vis_tag, kana_only: kana_only
|
167
174
|
else
|
168
175
|
cutted = cutted.map{_1.values_at(* [0, vis_kana ? 1 : 0, vis_tag ? 2 : 0].uniq)}
|
169
176
|
cutted[0].size == 1 ? cutted.flatten : cutted
|
@@ -172,10 +179,10 @@ module Igo
|
|
172
179
|
|
173
180
|
case str
|
174
181
|
when String
|
175
|
-
singo_proc str, s: s, ns: ns, lr: lr, sp: sp, short: short, vis_tag: tag, vis_kana: kana
|
182
|
+
singo_proc str, s: s, ns: ns, lr: lr, sp: sp, short: short, vis_tag: tag, vis_kana: kana, kana_only: kana_only
|
176
183
|
when Array
|
177
184
|
async_query str, timeout do
|
178
|
-
singo_proc _1, s: s, ns: ns, lr: lr, sp: sp, short: short, vis_tag: tag, vis_kana: kana
|
185
|
+
singo_proc _1, s: s, ns: ns, lr: lr, sp: sp, short: short, vis_tag: tag, vis_kana: kana, kana_only: kana_only
|
179
186
|
end
|
180
187
|
end
|
181
188
|
# TODO
|
data/lib/igo/version.rb
CHANGED