simple2ch 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/UPDATES.md +28 -0
- data/doc/Simple2ch/Board.html +1 -1
- data/doc/Simple2ch/Dat.html +1 -1
- data/doc/Simple2ch/DatParseException.html +1 -1
- data/doc/Simple2ch/KakoLogException.html +1 -1
- data/doc/Simple2ch/NotA2chUrlException.html +1 -1
- data/doc/Simple2ch/Res.html +127 -2
- data/doc/Simple2ch/Simple2chException.html +1 -1
- data/doc/Simple2ch/Thre.html +196 -22
- data/doc/Simple2ch.html +11 -11
- data/doc/_index.html +1 -1
- data/doc/file.README.html +22 -8
- data/doc/index.html +22 -8
- data/doc/method_list.html +29 -17
- data/doc/top-level-namespace.html +1 -1
- data/lib/simple2ch/res.rb +32 -1
- data/lib/simple2ch/version.rb +1 -1
- data/lib/simple2ch.rb +1 -0
- data/simple2ch.gemspec +2 -11
- data/spec/res_spec.rb +56 -0
- metadata +10 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f8e580fb8a083fea874c375ed71288ee4c76bf52
|
4
|
+
data.tar.gz: 3a224cbd6e35ba9a28d7f56840def63d8ddff198
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eb35dbbc601c75272629e93c567f1cb1a92e2b4daf76d5d83454058f0cfb9dd12803ffb3aa947ba932ad18e03369b3a373e8b3824f77d4344d663a70522342d7
|
7
|
+
data.tar.gz: a4bea9013a2cd2f2a57cc2e8c59c22ee34e0b9109061c2877492fa7ca7a5053e4d2ec5d5c272c076c70925a55b61c5da73bdbd25d5b44f91549bc47bd279b716
|
data/UPDATES.md
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
[v0.1.1]
|
2
|
+
* メソッド追加
|
3
|
+
* Res#anchorsの追加
|
4
|
+
* レス中のアンカーを抽出する
|
5
|
+
* 必要gemの追加
|
6
|
+
* Charwidthを追加
|
7
|
+
|
8
|
+
[v0.1.0]
|
9
|
+
* メソッド名の変更
|
10
|
+
* Thre.new から Thre.parse に変更
|
11
|
+
* Thre.newは引数の数を変更
|
12
|
+
* この変更に伴い、v0.0.2以下とは一部互換性無し
|
13
|
+
* バグ修正
|
14
|
+
* Time.parseの呼び出しに失敗する問題を修正
|
15
|
+
* その他
|
16
|
+
* その他微細な修正
|
17
|
+
|
18
|
+
[v0.0.2]
|
19
|
+
* メソッド名の変更
|
20
|
+
* Board#threads から Board#thres に変更
|
21
|
+
* ドキュメントの再生成
|
22
|
+
* モジュール名が誤っていたため
|
23
|
+
* README.mdを修正
|
24
|
+
* 使用法などを追加
|
25
|
+
* yardの結果を追加
|
26
|
+
|
27
|
+
[v0.0.1]
|
28
|
+
* 初版
|
data/doc/Simple2ch/Board.html
CHANGED
@@ -702,7 +702,7 @@
|
|
702
702
|
</div>
|
703
703
|
|
704
704
|
<div id="footer">
|
705
|
-
Generated on
|
705
|
+
Generated on Fri Sep 12 14:07:33 2014 by
|
706
706
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
707
707
|
0.8.7.4 (ruby-2.1.2).
|
708
708
|
</div>
|
data/doc/Simple2ch/Dat.html
CHANGED
@@ -493,7 +493,7 @@
|
|
493
493
|
</div>
|
494
494
|
|
495
495
|
<div id="footer">
|
496
|
-
Generated on
|
496
|
+
Generated on Fri Sep 12 14:07:32 2014 by
|
497
497
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
498
498
|
0.8.7.4 (ruby-2.1.2).
|
499
499
|
</div>
|
@@ -122,7 +122,7 @@
|
|
122
122
|
</div>
|
123
123
|
|
124
124
|
<div id="footer">
|
125
|
-
Generated on
|
125
|
+
Generated on Fri Sep 12 14:07:33 2014 by
|
126
126
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
127
127
|
0.8.7.4 (ruby-2.1.2).
|
128
128
|
</div>
|
@@ -122,7 +122,7 @@
|
|
122
122
|
</div>
|
123
123
|
|
124
124
|
<div id="footer">
|
125
|
-
Generated on
|
125
|
+
Generated on Fri Sep 12 14:07:33 2014 by
|
126
126
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
127
127
|
0.8.7.4 (ruby-2.1.2).
|
128
128
|
</div>
|
@@ -122,7 +122,7 @@
|
|
122
122
|
</div>
|
123
123
|
|
124
124
|
<div id="footer">
|
125
|
-
Generated on
|
125
|
+
Generated on Fri Sep 12 14:07:33 2014 by
|
126
126
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
127
127
|
0.8.7.4 (ruby-2.1.2).
|
128
128
|
</div>
|
data/doc/Simple2ch/Res.html
CHANGED
@@ -341,6 +341,30 @@
|
|
341
341
|
<li class="public ">
|
342
342
|
<span class="summary_signature">
|
343
343
|
|
344
|
+
<a href="#anchors-instance_method" title="#anchors (instance method)">- (Array<Fixnum>) <strong>anchors</strong> </a>
|
345
|
+
|
346
|
+
|
347
|
+
|
348
|
+
</span>
|
349
|
+
|
350
|
+
|
351
|
+
|
352
|
+
|
353
|
+
|
354
|
+
|
355
|
+
|
356
|
+
|
357
|
+
|
358
|
+
<span class="summary_desc"><div class='inline'>
|
359
|
+
<p>アンカーを抽出する 荒らしの場合は空配列を返す.</p>
|
360
|
+
</div></span>
|
361
|
+
|
362
|
+
</li>
|
363
|
+
|
364
|
+
|
365
|
+
<li class="public ">
|
366
|
+
<span class="summary_signature">
|
367
|
+
|
344
368
|
<a href="#initialize-instance_method" title="#initialize (instance method)">- (Res) <strong>initialize</strong>(res_num, author: '', author_id: '', date: nil, mail: '', contents: '') </a>
|
345
369
|
|
346
370
|
|
@@ -1010,7 +1034,7 @@
|
|
1010
1034
|
|
1011
1035
|
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_res_num'>res_num</span><span class='comma'>,</span> <span class='id identifier rubyid_contents'>contents</span><span class='rparen'>)</span>
|
1012
1036
|
<span class='kw'>unless</span> <span class='id identifier rubyid_contents'>contents</span><span class='period'>.</span><span class='id identifier rubyid_strip'>strip</span> <span class='op'>==</span> <span class='const'>KAKO_LOG_INFO</span>
|
1013
|
-
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
1037
|
+
<span class='kw'>return</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_res_num'>res_num</span><span class='comma'>,</span> <span class='id identifier rubyid_parse_dat'>parse_dat</span><span class='lparen'>(</span><span class='id identifier rubyid_contents'>contents</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1014
1038
|
<span class='kw'>else</span>
|
1015
1039
|
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>KakoLogException</span>
|
1016
1040
|
<span class='kw'>end</span>
|
@@ -1018,6 +1042,107 @@
|
|
1018
1042
|
</td>
|
1019
1043
|
</tr>
|
1020
1044
|
</table>
|
1045
|
+
</div>
|
1046
|
+
|
1047
|
+
</div>
|
1048
|
+
|
1049
|
+
<div id="instance_method_details" class="method_details_list">
|
1050
|
+
<h2>Instance Method Details</h2>
|
1051
|
+
|
1052
|
+
|
1053
|
+
<div class="method_details first">
|
1054
|
+
<h3 class="signature first" id="anchors-instance_method">
|
1055
|
+
|
1056
|
+
- (<tt>Array<Fixnum></tt>) <strong>anchors</strong>
|
1057
|
+
|
1058
|
+
|
1059
|
+
|
1060
|
+
|
1061
|
+
|
1062
|
+
</h3><div class="docstring">
|
1063
|
+
<div class="discussion">
|
1064
|
+
|
1065
|
+
<p>アンカーを抽出する 荒らしの場合は空配列を返す</p>
|
1066
|
+
|
1067
|
+
|
1068
|
+
</div>
|
1069
|
+
</div>
|
1070
|
+
<div class="tags">
|
1071
|
+
|
1072
|
+
<p class="tag_title">Returns:</p>
|
1073
|
+
<ul class="return">
|
1074
|
+
|
1075
|
+
<li>
|
1076
|
+
|
1077
|
+
|
1078
|
+
<span class='type'>(<tt>Array<Fixnum></tt>)</span>
|
1079
|
+
|
1080
|
+
|
1081
|
+
|
1082
|
+
—
|
1083
|
+
<div class='inline'>
|
1084
|
+
<p>昇順ソート済みアンカー、荒らしの場合は空配列</p>
|
1085
|
+
</div>
|
1086
|
+
|
1087
|
+
</li>
|
1088
|
+
|
1089
|
+
</ul>
|
1090
|
+
|
1091
|
+
</div><table class="source_code">
|
1092
|
+
<tr>
|
1093
|
+
<td>
|
1094
|
+
<pre class="lines">
|
1095
|
+
|
1096
|
+
|
1097
|
+
49
|
1098
|
+
50
|
1099
|
+
51
|
1100
|
+
52
|
1101
|
+
53
|
1102
|
+
54
|
1103
|
+
55
|
1104
|
+
56
|
1105
|
+
57
|
1106
|
+
58
|
1107
|
+
59
|
1108
|
+
60
|
1109
|
+
61
|
1110
|
+
62
|
1111
|
+
63
|
1112
|
+
64
|
1113
|
+
65
|
1114
|
+
66
|
1115
|
+
67
|
1116
|
+
68
|
1117
|
+
69</pre>
|
1118
|
+
</td>
|
1119
|
+
<td>
|
1120
|
+
<pre class="code"><span class="info file"># File 'lib/simple2ch/res.rb', line 49</span>
|
1121
|
+
|
1122
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_anchors'>anchors</span>
|
1123
|
+
<span class='id identifier rubyid_arashi_removal_regex'>arashi_removal_regex</span> <span class='op'>=</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(?:\d{1,4}(?:\]*>)?(?:>|\[>,+-\]){1,2}){9}</span><span class='regexp_end'>/</span></span>
|
1124
|
+
<span class='kw'>unless</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_contents'>contents</span> <span class='op'>=~</span> <span class='id identifier rubyid_arashi_removal_regex'>arashi_removal_regex</span>
|
1125
|
+
<span class='id identifier rubyid_splitter_regex'>splitter_regex</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>[,、, ]</span><span class='tstring_end'>'</span></span>
|
1126
|
+
<span class='id identifier rubyid_digit_regex'>digit_regex</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>(?:\d|[0-9])+</span><span class='tstring_end'>'</span></span>
|
1127
|
+
<span class='id identifier rubyid_hyphen_regex'>hyphen_regex</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>[−ーー\-〜~〜]</span><span class='tstring_end'>'</span></span>
|
1128
|
+
<span class='id identifier rubyid_extracted'>extracted</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_contents'>contents</span><span class='period'>.</span><span class='id identifier rubyid_scan'>scan</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>&gt;((?:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_digit_regex'>digit_regex</span><span class='embexpr_end'>}</span><span class='tstring_content'>(?:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_splitter_regex'>splitter_regex</span><span class='embexpr_end'>}</span><span class='tstring_content'>|</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_hyphen_regex'>hyphen_regex</span><span class='embexpr_end'>}</span><span class='tstring_content'>)*)+)</span><span class='regexp_end'>/</span></span>
|
1129
|
+
<span class='id identifier rubyid_anchors'>anchors</span> <span class='op'>=</span> <span class='id identifier rubyid_extracted'>extracted</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>[\"\[\]]</span><span class='regexp_end'>/</span></span><span class='comma'>,</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_splitter_regex'>splitter_regex</span><span class='embexpr_end'>}</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span>
|
1130
|
+
<span class='id identifier rubyid_anchors'>anchors</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
1131
|
+
<span class='id identifier rubyid_anchors'>anchors</span><span class='period'>.</span><span class='id identifier rubyid_map!'>map!</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_a'>a</span><span class='op'>|</span>
|
1132
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_a'>a</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_digit_regex'>digit_regex</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_hyphen_regex'>hyphen_regex</span><span class='embexpr_end'>}</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_digit_regex'>digit_regex</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='regexp_end'>/</span></span>
|
1133
|
+
<span class='lparen'>(</span><span class='const'>Range</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='id identifier rubyid_parseInt'>parseInt</span><span class='lparen'>(</span><span class='backref'>$1</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_parseInt'>parseInt</span><span class='lparen'>(</span><span class='backref'>$2</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_a'>to_a</span>
|
1134
|
+
<span class='kw'>else</span>
|
1135
|
+
<span class='id identifier rubyid_parseInt'>parseInt</span><span class='lparen'>(</span><span class='id identifier rubyid_a'>a</span><span class='rparen'>)</span>
|
1136
|
+
<span class='kw'>end</span>
|
1137
|
+
<span class='kw'>end</span>
|
1138
|
+
<span class='id identifier rubyid_anchors'>anchors</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span><span class='period'>.</span><span class='id identifier rubyid_sort'>sort</span>
|
1139
|
+
<span class='kw'>else</span>
|
1140
|
+
<span class='lbracket'>[</span><span class='rbracket'>]</span>
|
1141
|
+
<span class='kw'>end</span>
|
1142
|
+
<span class='kw'>end</span></pre>
|
1143
|
+
</td>
|
1144
|
+
</tr>
|
1145
|
+
</table>
|
1021
1146
|
</div>
|
1022
1147
|
|
1023
1148
|
</div>
|
@@ -1025,7 +1150,7 @@
|
|
1025
1150
|
</div>
|
1026
1151
|
|
1027
1152
|
<div id="footer">
|
1028
|
-
Generated on
|
1153
|
+
Generated on Fri Sep 12 14:07:33 2014 by
|
1029
1154
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1030
1155
|
0.8.7.4 (ruby-2.1.2).
|
1031
1156
|
</div>
|
@@ -118,7 +118,7 @@
|
|
118
118
|
</div>
|
119
119
|
|
120
120
|
<div id="footer">
|
121
|
-
Generated on
|
121
|
+
Generated on Fri Sep 12 14:07:33 2014 by
|
122
122
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
123
123
|
0.8.7.4 (ruby-2.1.2).
|
124
124
|
</div>
|
data/doc/Simple2ch/Thre.html
CHANGED
@@ -228,6 +228,39 @@
|
|
228
228
|
|
229
229
|
|
230
230
|
|
231
|
+
<h2>
|
232
|
+
Class Method Summary
|
233
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
234
|
+
</h2>
|
235
|
+
|
236
|
+
<ul class="summary">
|
237
|
+
|
238
|
+
<li class="public ">
|
239
|
+
<span class="summary_signature">
|
240
|
+
|
241
|
+
<a href="#parse-class_method" title="parse (class method)">+ (Thre) <strong>parse</strong>(board, thread_data) </a>
|
242
|
+
|
243
|
+
|
244
|
+
|
245
|
+
</span>
|
246
|
+
|
247
|
+
|
248
|
+
|
249
|
+
|
250
|
+
|
251
|
+
|
252
|
+
|
253
|
+
|
254
|
+
|
255
|
+
<span class="summary_desc"><div class='inline'>
|
256
|
+
<p>板オブジェクトとsubject.txtの1行データを渡すとスレオブジェクトを返す.</p>
|
257
|
+
</div></span>
|
258
|
+
|
259
|
+
</li>
|
260
|
+
|
261
|
+
|
262
|
+
</ul>
|
263
|
+
|
231
264
|
<h2>
|
232
265
|
Instance Method Summary
|
233
266
|
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
@@ -238,7 +271,7 @@
|
|
238
271
|
<li class="public ">
|
239
272
|
<span class="summary_signature">
|
240
273
|
|
241
|
-
<a href="#initialize-instance_method" title="#initialize (instance method)">- (Thre) <strong>initialize</strong>(board,
|
274
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">- (Thre) <strong>initialize</strong>(board, thread_key, title: '', num_of_response: '') </a>
|
242
275
|
|
243
276
|
|
244
277
|
|
@@ -318,7 +351,7 @@
|
|
318
351
|
<div class="method_details first">
|
319
352
|
<h3 class="signature first" id="initialize-instance_method">
|
320
353
|
|
321
|
-
- (<tt><span class='object_link'><a href="" title="Simple2ch::Thre (class)">Thre</a></span></tt>) <strong>initialize</strong>(board,
|
354
|
+
- (<tt><span class='object_link'><a href="" title="Simple2ch::Thre (class)">Thre</a></span></tt>) <strong>initialize</strong>(board, thread_key, title: '', num_of_response: '')
|
322
355
|
|
323
356
|
|
324
357
|
|
@@ -354,7 +387,7 @@
|
|
354
387
|
|
355
388
|
<li>
|
356
389
|
|
357
|
-
<span class='name'>
|
390
|
+
<span class='name'>thread_key</span>
|
358
391
|
|
359
392
|
|
360
393
|
<span class='type'>(<tt>String</tt>)</span>
|
@@ -363,7 +396,39 @@
|
|
363
396
|
|
364
397
|
—
|
365
398
|
<div class='inline'>
|
366
|
-
<p
|
399
|
+
<p>スレッドキー</p>
|
400
|
+
</div>
|
401
|
+
|
402
|
+
</li>
|
403
|
+
|
404
|
+
<li>
|
405
|
+
|
406
|
+
<span class='name'>title</span>
|
407
|
+
|
408
|
+
|
409
|
+
<span class='type'>(<tt>String</tt>)</span>
|
410
|
+
|
411
|
+
|
412
|
+
|
413
|
+
—
|
414
|
+
<div class='inline'>
|
415
|
+
<p>スレッド名</p>
|
416
|
+
</div>
|
417
|
+
|
418
|
+
</li>
|
419
|
+
|
420
|
+
<li>
|
421
|
+
|
422
|
+
<span class='name'>num_of_response</span>
|
423
|
+
|
424
|
+
|
425
|
+
<span class='type'>(<tt>Fixnum</tt>)</span>
|
426
|
+
|
427
|
+
|
428
|
+
|
429
|
+
—
|
430
|
+
<div class='inline'>
|
431
|
+
<p>総書き込み数</p>
|
367
432
|
</div>
|
368
433
|
|
369
434
|
</li>
|
@@ -377,25 +442,23 @@
|
|
377
442
|
<pre class="lines">
|
378
443
|
|
379
444
|
|
380
|
-
14
|
381
|
-
15
|
382
445
|
16
|
383
446
|
17
|
384
447
|
18
|
385
448
|
19
|
386
449
|
20
|
387
450
|
21
|
388
|
-
22
|
451
|
+
22
|
452
|
+
23</pre>
|
389
453
|
</td>
|
390
454
|
<td>
|
391
|
-
<pre class="code"><span class="info file"># File 'lib/simple2ch/thre.rb', line
|
455
|
+
<pre class="code"><span class="info file"># File 'lib/simple2ch/thre.rb', line 16</span>
|
392
456
|
|
393
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_board'>board</span><span class='comma'>,</span> <span class='id identifier
|
457
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_board'>board</span><span class='comma'>,</span> <span class='id identifier rubyid_thread_key'>thread_key</span><span class='comma'>,</span> <span class='label'>title:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='label'>num_of_response:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
394
458
|
<span class='ivar'>@board</span> <span class='op'>=</span> <span class='id identifier rubyid_board'>board</span>
|
395
|
-
<span class='
|
396
|
-
<span class='ivar'>@
|
397
|
-
<span class='ivar'>@
|
398
|
-
<span class='ivar'>@num_of_response</span> <span class='op'>=</span> <span class='backref'>$3</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
|
459
|
+
<span class='ivar'>@thread_key</span> <span class='op'>=</span> <span class='id identifier rubyid_thread_key'>thread_key</span>
|
460
|
+
<span class='ivar'>@title</span> <span class='op'>=</span> <span class='id identifier rubyid_title'>title</span>
|
461
|
+
<span class='ivar'>@num_of_response</span> <span class='op'>=</span> <span class='id identifier rubyid_num_of_response'>num_of_response</span>
|
399
462
|
<span class='ivar'>@reses</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
400
463
|
<span class='ivar'>@f_kako_log</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
401
464
|
<span class='kw'>end</span></pre>
|
@@ -656,6 +719,117 @@
|
|
656
719
|
</div>
|
657
720
|
|
658
721
|
|
722
|
+
<div id="class_method_details" class="method_details_list">
|
723
|
+
<h2>Class Method Details</h2>
|
724
|
+
|
725
|
+
|
726
|
+
<div class="method_details first">
|
727
|
+
<h3 class="signature first" id="parse-class_method">
|
728
|
+
|
729
|
+
+ (<tt><span class='object_link'><a href="" title="Simple2ch::Thre (class)">Thre</a></span></tt>) <strong>parse</strong>(board, thread_data)
|
730
|
+
|
731
|
+
|
732
|
+
|
733
|
+
|
734
|
+
|
735
|
+
</h3><div class="docstring">
|
736
|
+
<div class="discussion">
|
737
|
+
|
738
|
+
<p>板オブジェクトとsubject.txtの1行データを渡すとスレオブジェクトを返す</p>
|
739
|
+
|
740
|
+
|
741
|
+
</div>
|
742
|
+
</div>
|
743
|
+
<div class="tags">
|
744
|
+
<p class="tag_title">Parameters:</p>
|
745
|
+
<ul class="param">
|
746
|
+
|
747
|
+
<li>
|
748
|
+
|
749
|
+
<span class='name'>board</span>
|
750
|
+
|
751
|
+
|
752
|
+
<span class='type'>(<tt><span class='object_link'><a href="Board.html" title="Simple2ch::Board (class)">Board</a></span></tt>)</span>
|
753
|
+
|
754
|
+
|
755
|
+
|
756
|
+
—
|
757
|
+
<div class='inline'>
|
758
|
+
<p>スレッドが属する板情報</p>
|
759
|
+
</div>
|
760
|
+
|
761
|
+
</li>
|
762
|
+
|
763
|
+
<li>
|
764
|
+
|
765
|
+
<span class='name'>thread_data</span>
|
766
|
+
|
767
|
+
|
768
|
+
<span class='type'>(<tt>String</tt>)</span>
|
769
|
+
|
770
|
+
|
771
|
+
|
772
|
+
—
|
773
|
+
<div class='inline'>
|
774
|
+
<p>0000000000.dat<>スレッドタイトル (レス数)</p>
|
775
|
+
</div>
|
776
|
+
|
777
|
+
</li>
|
778
|
+
|
779
|
+
</ul>
|
780
|
+
|
781
|
+
<p class="tag_title">Returns:</p>
|
782
|
+
<ul class="return">
|
783
|
+
|
784
|
+
<li>
|
785
|
+
|
786
|
+
|
787
|
+
<span class='type'>(<tt><span class='object_link'><a href="" title="Simple2ch::Thre (class)">Thre</a></span></tt>)</span>
|
788
|
+
|
789
|
+
|
790
|
+
|
791
|
+
—
|
792
|
+
<div class='inline'>
|
793
|
+
<p>スレ</p>
|
794
|
+
</div>
|
795
|
+
|
796
|
+
</li>
|
797
|
+
|
798
|
+
</ul>
|
799
|
+
|
800
|
+
</div><table class="source_code">
|
801
|
+
<tr>
|
802
|
+
<td>
|
803
|
+
<pre class="lines">
|
804
|
+
|
805
|
+
|
806
|
+
29
|
807
|
+
30
|
808
|
+
31
|
809
|
+
32
|
810
|
+
33
|
811
|
+
34
|
812
|
+
35
|
813
|
+
36</pre>
|
814
|
+
</td>
|
815
|
+
<td>
|
816
|
+
<pre class="code"><span class="info file"># File 'lib/simple2ch/thre.rb', line 29</span>
|
817
|
+
|
818
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_board'>board</span><span class='comma'>,</span> <span class='id identifier rubyid_thread_data'>thread_data</span><span class='rparen'>)</span>
|
819
|
+
<span class='id identifier rubyid_thread_data'>thread_data</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(\d{10})\.dat<>(.+) \((\d+)\)</span><span class='regexp_end'>/</span></span>
|
820
|
+
<span class='id identifier rubyid_hash'>hash</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
821
|
+
<span class='id identifier rubyid_thread_key'>thread_key</span> <span class='op'>=</span> <span class='backref'>$1</span>
|
822
|
+
<span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:title</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='backref'>$2</span>
|
823
|
+
<span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:num_of_response</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='backref'>$3</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span>
|
824
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='id identifier rubyid_board'>board</span><span class='comma'>,</span> <span class='id identifier rubyid_thread_key'>thread_key</span><span class='comma'>,</span> <span class='id identifier rubyid_hash'>hash</span>
|
825
|
+
<span class='kw'>end</span></pre>
|
826
|
+
</td>
|
827
|
+
</tr>
|
828
|
+
</table>
|
829
|
+
</div>
|
830
|
+
|
831
|
+
</div>
|
832
|
+
|
659
833
|
<div id="instance_method_details" class="method_details_list">
|
660
834
|
<h2>Instance Method Details</h2>
|
661
835
|
|
@@ -704,12 +878,12 @@
|
|
704
878
|
<pre class="lines">
|
705
879
|
|
706
880
|
|
707
|
-
|
708
|
-
|
709
|
-
|
881
|
+
46
|
882
|
+
47
|
883
|
+
48</pre>
|
710
884
|
</td>
|
711
885
|
<td>
|
712
|
-
<pre class="code"><span class="info file"># File 'lib/simple2ch/thre.rb', line
|
886
|
+
<pre class="code"><span class="info file"># File 'lib/simple2ch/thre.rb', line 46</span>
|
713
887
|
|
714
888
|
<span class='kw'>def</span> <span class='id identifier rubyid_kako_log?'>kako_log?</span>
|
715
889
|
<span class='ivar'>@f_kako_log</span> <span class='op'>||</span> <span class='id identifier rubyid_fetch_dat'>fetch_dat</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
|
@@ -763,12 +937,12 @@
|
|
763
937
|
<pre class="lines">
|
764
938
|
|
765
939
|
|
766
|
-
|
767
|
-
|
768
|
-
|
940
|
+
40
|
941
|
+
41
|
942
|
+
42</pre>
|
769
943
|
</td>
|
770
944
|
<td>
|
771
|
-
<pre class="code"><span class="info file"># File 'lib/simple2ch/thre.rb', line
|
945
|
+
<pre class="code"><span class="info file"># File 'lib/simple2ch/thre.rb', line 40</span>
|
772
946
|
|
773
947
|
<span class='kw'>def</span> <span class='id identifier rubyid_reses'>reses</span>
|
774
948
|
<span class='ivar'>@reses</span> <span class='op'>||</span> <span class='id identifier rubyid_fetch_dat'>fetch_dat</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
|
@@ -783,7 +957,7 @@
|
|
783
957
|
</div>
|
784
958
|
|
785
959
|
<div id="footer">
|
786
|
-
Generated on
|
960
|
+
Generated on Fri Sep 12 14:07:33 2014 by
|
787
961
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
788
962
|
0.8.7.4 (ruby-2.1.2).
|
789
963
|
</div>
|
data/doc/Simple2ch.html
CHANGED
@@ -104,12 +104,12 @@
|
|
104
104
|
<dt id="DEBUG-constant" class="">DEBUG =
|
105
105
|
|
106
106
|
</dt>
|
107
|
-
<dd><pre class="code"><span class='kw'>
|
107
|
+
<dd><pre class="code"><span class='kw'>false</span></pre></dd>
|
108
108
|
|
109
109
|
<dt id="VERSION-constant" class="">VERSION =
|
110
110
|
|
111
111
|
</dt>
|
112
|
-
<dd><pre class="code"><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>0.
|
112
|
+
<dd><pre class="code"><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>0.1.1</span><span class='tstring_end'>"</span></span></pre></dd>
|
113
113
|
|
114
114
|
</dl>
|
115
115
|
|
@@ -247,16 +247,16 @@
|
|
247
247
|
<pre class="lines">
|
248
248
|
|
249
249
|
|
250
|
-
21
|
251
|
-
22
|
252
250
|
23
|
253
251
|
24
|
254
252
|
25
|
255
253
|
26
|
256
|
-
27
|
254
|
+
27
|
255
|
+
28
|
256
|
+
29</pre>
|
257
257
|
</td>
|
258
258
|
<td>
|
259
|
-
<pre class="code"><span class="info file"># File 'lib/simple2ch.rb', line
|
259
|
+
<pre class="code"><span class="info file"># File 'lib/simple2ch.rb', line 23</span>
|
260
260
|
|
261
261
|
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_url'>url</span><span class='rparen'>)</span>
|
262
262
|
<span class='id identifier rubyid_req'>req</span> <span class='op'>=</span> <span class='const'>Net</span><span class='op'>::</span><span class='const'>HTTP</span><span class='op'>::</span><span class='const'>Get</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_url'>url</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
|
@@ -285,12 +285,12 @@
|
|
285
285
|
<pre class="lines">
|
286
286
|
|
287
287
|
|
288
|
-
|
289
|
-
|
290
|
-
|
288
|
+
16
|
289
|
+
17
|
290
|
+
18</pre>
|
291
291
|
</td>
|
292
292
|
<td>
|
293
|
-
<pre class="code"><span class="info file"># File 'lib/simple2ch.rb', line
|
293
|
+
<pre class="code"><span class="info file"># File 'lib/simple2ch.rb', line 16</span>
|
294
294
|
|
295
295
|
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_root'>root</span>
|
296
296
|
<span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span> <span class='id identifier rubyid___dir__'>__dir__</span>
|
@@ -305,7 +305,7 @@
|
|
305
305
|
</div>
|
306
306
|
|
307
307
|
<div id="footer">
|
308
|
-
Generated on
|
308
|
+
Generated on Fri Sep 12 14:07:32 2014 by
|
309
309
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
310
310
|
0.8.7.4 (ruby-2.1.2).
|
311
311
|
</div>
|
data/doc/_index.html
CHANGED
@@ -205,7 +205,7 @@
|
|
205
205
|
</div>
|
206
206
|
|
207
207
|
<div id="footer">
|
208
|
-
Generated on
|
208
|
+
Generated on Fri Sep 12 14:07:32 2014 by
|
209
209
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
210
210
|
0.8.7.4 (ruby-2.1.2).
|
211
211
|
</div>
|
data/doc/file.README.html
CHANGED
@@ -64,7 +64,21 @@
|
|
64
64
|
<div id="content"><div id='filecontents'>
|
65
65
|
<h1 id="label-Simple2ch">Simple2ch</h1>
|
66
66
|
|
67
|
-
<p>2ch Japanese BBS simple reader.</p>
|
67
|
+
<p>2ch Japanese BBS simple reader for Ruby.</p>
|
68
|
+
|
69
|
+
<p>Ruby用の2chの簡易リーダーです。</p>
|
70
|
+
|
71
|
+
<p><img src="https://badge.fury.io/rb/simple2ch.svg"> <a
|
72
|
+
href="http://dogwood008.github.io/simple2ch/">リファレンス</a></p>
|
73
|
+
|
74
|
+
<h2 id="label-%E6%9B%B4%E6%96%B0%E5%86%85%E5%AE%B9">更新内容</h2>
|
75
|
+
|
76
|
+
<p>[v0.1.0] * メソッド名の変更 * Thre.new から Thre.parse に変更 * Thre.newは引数の数を変更 *
|
77
|
+
この変更に伴い、v0.0.2以下とは一部互換性無し * バグ修正 * Time.parseの呼び出しに失敗する問題を修正 * その他 *
|
78
|
+
その他微細な修正</p>
|
79
|
+
|
80
|
+
<p>[v0.0.2] * メソッド名の変更 * Board#threads から Board#thres に変更 * ドキュメントの再生成 *
|
81
|
+
モジュール名が誤っていたため * README.mdを修正 * 使用法などを追加 * yardの結果を追加</p>
|
68
82
|
|
69
83
|
<h2 id="label-Installation">Installation</h2>
|
70
84
|
|
@@ -88,13 +102,13 @@
|
|
88
102
|
'http://viper.2ch.sc/news4vip/') board.thres
|
89
103
|
#=>[#<Simple2ch::Thre>, ..., #<Simple2ch::Thre>] </code></p>
|
90
104
|
</li><li>
|
91
|
-
<p>レス取得 <code>ruby thre = board.thres[hoge] #=>
|
92
|
-
thre.reses #=> [#<Simple2ch::Res>, ...,
|
93
|
-
</code></p>
|
105
|
+
<p>レス取得 <code>ruby hoge = SUM_OF_NUMBER1 thre = board.thres[hoge] #=>
|
106
|
+
#<Simple2ch::Thre> thre.reses #=> [#<Simple2ch::Res>, ...,
|
107
|
+
#<Simple2ch::Res>] </code></p>
|
94
108
|
</li><li>
|
95
|
-
<p>書き込み内容取得 <code>ruby res = thre.reses[foo] #=>
|
96
|
-
res.author #=> "以下、\(^o^)/でVIPがお送りします"
|
97
|
-
"hoge foo bar" </code></p>
|
109
|
+
<p>書き込み内容取得 <code>ruby foo = SUM_OF_NUMBER2 res = thre.reses[foo] #=>
|
110
|
+
#<Simple2ch::Res> res.author #=> "以下、\(^o^)/でVIPがお送りします"
|
111
|
+
res.contents #=> "hoge foo bar" </code></p>
|
98
112
|
</li></ul>
|
99
113
|
|
100
114
|
<h2 id="label-Contributing">Contributing</h2>
|
@@ -115,7 +129,7 @@ feature'</code>)</p>
|
|
115
129
|
</div></div>
|
116
130
|
|
117
131
|
<div id="footer">
|
118
|
-
Generated on
|
132
|
+
Generated on Fri Sep 12 14:07:32 2014 by
|
119
133
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
120
134
|
0.8.7.4 (ruby-2.1.2).
|
121
135
|
</div>
|
data/doc/index.html
CHANGED
@@ -64,7 +64,21 @@
|
|
64
64
|
<div id="content"><div id='filecontents'>
|
65
65
|
<h1 id="label-Simple2ch">Simple2ch</h1>
|
66
66
|
|
67
|
-
<p>2ch Japanese BBS simple reader.</p>
|
67
|
+
<p>2ch Japanese BBS simple reader for Ruby.</p>
|
68
|
+
|
69
|
+
<p>Ruby用の2chの簡易リーダーです。</p>
|
70
|
+
|
71
|
+
<p><img src="https://badge.fury.io/rb/simple2ch.svg"> <a
|
72
|
+
href="http://dogwood008.github.io/simple2ch/">リファレンス</a></p>
|
73
|
+
|
74
|
+
<h2 id="label-%E6%9B%B4%E6%96%B0%E5%86%85%E5%AE%B9">更新内容</h2>
|
75
|
+
|
76
|
+
<p>[v0.1.0] * メソッド名の変更 * Thre.new から Thre.parse に変更 * Thre.newは引数の数を変更 *
|
77
|
+
この変更に伴い、v0.0.2以下とは一部互換性無し * バグ修正 * Time.parseの呼び出しに失敗する問題を修正 * その他 *
|
78
|
+
その他微細な修正</p>
|
79
|
+
|
80
|
+
<p>[v0.0.2] * メソッド名の変更 * Board#threads から Board#thres に変更 * ドキュメントの再生成 *
|
81
|
+
モジュール名が誤っていたため * README.mdを修正 * 使用法などを追加 * yardの結果を追加</p>
|
68
82
|
|
69
83
|
<h2 id="label-Installation">Installation</h2>
|
70
84
|
|
@@ -88,13 +102,13 @@
|
|
88
102
|
'http://viper.2ch.sc/news4vip/') board.thres
|
89
103
|
#=>[#<Simple2ch::Thre>, ..., #<Simple2ch::Thre>] </code></p>
|
90
104
|
</li><li>
|
91
|
-
<p>レス取得 <code>ruby thre = board.thres[hoge] #=>
|
92
|
-
thre.reses #=> [#<Simple2ch::Res>, ...,
|
93
|
-
</code></p>
|
105
|
+
<p>レス取得 <code>ruby hoge = SUM_OF_NUMBER1 thre = board.thres[hoge] #=>
|
106
|
+
#<Simple2ch::Thre> thre.reses #=> [#<Simple2ch::Res>, ...,
|
107
|
+
#<Simple2ch::Res>] </code></p>
|
94
108
|
</li><li>
|
95
|
-
<p>書き込み内容取得 <code>ruby res = thre.reses[foo] #=>
|
96
|
-
res.author #=> "以下、\(^o^)/でVIPがお送りします"
|
97
|
-
"hoge foo bar" </code></p>
|
109
|
+
<p>書き込み内容取得 <code>ruby foo = SUM_OF_NUMBER2 res = thre.reses[foo] #=>
|
110
|
+
#<Simple2ch::Res> res.author #=> "以下、\(^o^)/でVIPがお送りします"
|
111
|
+
res.contents #=> "hoge foo bar" </code></p>
|
98
112
|
</li></ul>
|
99
113
|
|
100
114
|
<h2 id="label-Contributing">Contributing</h2>
|
@@ -115,7 +129,7 @@ feature'</code>)</p>
|
|
115
129
|
</div></div>
|
116
130
|
|
117
131
|
<div id="footer">
|
118
|
-
Generated on
|
132
|
+
Generated on Fri Sep 12 14:07:32 2014 by
|
119
133
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
120
134
|
0.8.7.4 (ruby-2.1.2).
|
121
135
|
</div>
|
data/doc/method_list.html
CHANGED
@@ -48,59 +48,59 @@
|
|
48
48
|
|
49
49
|
|
50
50
|
<li class="r1 ">
|
51
|
-
<span class='object_link'><a href="Simple2ch/Res.html#
|
51
|
+
<span class='object_link'><a href="Simple2ch/Res.html#anchors-instance_method" title="Simple2ch::Res#anchors (method)">#anchors</a></span>
|
52
52
|
<small>Simple2ch::Res</small>
|
53
53
|
</li>
|
54
54
|
|
55
55
|
|
56
56
|
<li class="r2 ">
|
57
|
-
<span class='object_link'><a href="Simple2ch/Res.html#
|
57
|
+
<span class='object_link'><a href="Simple2ch/Res.html#author-instance_method" title="Simple2ch::Res#author (method)">#author</a></span>
|
58
58
|
<small>Simple2ch::Res</small>
|
59
59
|
</li>
|
60
60
|
|
61
61
|
|
62
62
|
<li class="r1 ">
|
63
|
+
<span class='object_link'><a href="Simple2ch/Res.html#author_id-instance_method" title="Simple2ch::Res#author_id (method)">#author_id</a></span>
|
64
|
+
<small>Simple2ch::Res</small>
|
65
|
+
</li>
|
66
|
+
|
67
|
+
|
68
|
+
<li class="r2 ">
|
63
69
|
<span class='object_link'><a href="Simple2ch/Thre.html#board-instance_method" title="Simple2ch::Thre#board (method)">#board</a></span>
|
64
70
|
<small>Simple2ch::Thre</small>
|
65
71
|
</li>
|
66
72
|
|
67
73
|
|
68
|
-
<li class="
|
74
|
+
<li class="r1 ">
|
69
75
|
<span class='object_link'><a href="Simple2ch/Board.html#board_name-instance_method" title="Simple2ch::Board#board_name (method)">#board_name</a></span>
|
70
76
|
<small>Simple2ch::Board</small>
|
71
77
|
</li>
|
72
78
|
|
73
79
|
|
74
|
-
<li class="
|
80
|
+
<li class="r2 ">
|
75
81
|
<span class='object_link'><a href="Simple2ch/Res.html#contents-instance_method" title="Simple2ch::Res#contents (method)">#contents</a></span>
|
76
82
|
<small>Simple2ch::Res</small>
|
77
83
|
</li>
|
78
84
|
|
79
85
|
|
80
|
-
<li class="
|
86
|
+
<li class="r1 ">
|
81
87
|
<span class='object_link'><a href="Simple2ch/Res.html#date-instance_method" title="Simple2ch::Res#date (method)">#date</a></span>
|
82
88
|
<small>Simple2ch::Res</small>
|
83
89
|
</li>
|
84
90
|
|
85
91
|
|
86
|
-
<li class="
|
92
|
+
<li class="r2 ">
|
87
93
|
<span class='object_link'><a href="Simple2ch.html#fetch-class_method" title="Simple2ch.fetch (method)">fetch</a></span>
|
88
94
|
<small>Simple2ch</small>
|
89
95
|
</li>
|
90
96
|
|
91
97
|
|
92
|
-
<li class="
|
98
|
+
<li class="r1 ">
|
93
99
|
<span class='object_link'><a href="Simple2ch/Board.html#initialize-instance_method" title="Simple2ch::Board#initialize (method)">#initialize</a></span>
|
94
100
|
<small>Simple2ch::Board</small>
|
95
101
|
</li>
|
96
102
|
|
97
103
|
|
98
|
-
<li class="r1 ">
|
99
|
-
<span class='object_link'><a href="Simple2ch/Res.html#initialize-instance_method" title="Simple2ch::Res#initialize (method)">#initialize</a></span>
|
100
|
-
<small>Simple2ch::Res</small>
|
101
|
-
</li>
|
102
|
-
|
103
|
-
|
104
104
|
<li class="r2 ">
|
105
105
|
<span class='object_link'><a href="Simple2ch/Dat.html#initialize-instance_method" title="Simple2ch::Dat#initialize (method)">#initialize</a></span>
|
106
106
|
<small>Simple2ch::Dat</small>
|
@@ -114,8 +114,8 @@
|
|
114
114
|
|
115
115
|
|
116
116
|
<li class="r2 ">
|
117
|
-
<span class='object_link'><a href="Simple2ch/
|
118
|
-
<small>Simple2ch::
|
117
|
+
<span class='object_link'><a href="Simple2ch/Res.html#initialize-instance_method" title="Simple2ch::Res#initialize (method)">#initialize</a></span>
|
118
|
+
<small>Simple2ch::Res</small>
|
119
119
|
</li>
|
120
120
|
|
121
121
|
|
@@ -126,23 +126,35 @@
|
|
126
126
|
|
127
127
|
|
128
128
|
<li class="r2 ">
|
129
|
+
<span class='object_link'><a href="Simple2ch/Thre.html#kako_log%3F-instance_method" title="Simple2ch::Thre#kako_log? (method)">#kako_log?</a></span>
|
130
|
+
<small>Simple2ch::Thre</small>
|
131
|
+
</li>
|
132
|
+
|
133
|
+
|
134
|
+
<li class="r1 ">
|
129
135
|
<span class='object_link'><a href="Simple2ch/Res.html#mail-instance_method" title="Simple2ch::Res#mail (method)">#mail</a></span>
|
130
136
|
<small>Simple2ch::Res</small>
|
131
137
|
</li>
|
132
138
|
|
133
139
|
|
134
|
-
<li class="
|
140
|
+
<li class="r2 ">
|
135
141
|
<span class='object_link'><a href="Simple2ch/Thre.html#num_of_response-instance_method" title="Simple2ch::Thre#num_of_response (method)">#num_of_response</a></span>
|
136
142
|
<small>Simple2ch::Thre</small>
|
137
143
|
</li>
|
138
144
|
|
139
145
|
|
140
|
-
<li class="
|
146
|
+
<li class="r1 ">
|
141
147
|
<span class='object_link'><a href="Simple2ch/Res.html#parse-class_method" title="Simple2ch::Res.parse (method)">parse</a></span>
|
142
148
|
<small>Simple2ch::Res</small>
|
143
149
|
</li>
|
144
150
|
|
145
151
|
|
152
|
+
<li class="r2 ">
|
153
|
+
<span class='object_link'><a href="Simple2ch/Thre.html#parse-class_method" title="Simple2ch::Thre.parse (method)">parse</a></span>
|
154
|
+
<small>Simple2ch::Thre</small>
|
155
|
+
</li>
|
156
|
+
|
157
|
+
|
146
158
|
<li class="r1 ">
|
147
159
|
<span class='object_link'><a href="Simple2ch/Res.html#res_num-instance_method" title="Simple2ch::Res#res_num (method)">#res_num</a></span>
|
148
160
|
<small>Simple2ch::Res</small>
|
@@ -103,7 +103,7 @@
|
|
103
103
|
</div>
|
104
104
|
|
105
105
|
<div id="footer">
|
106
|
-
Generated on
|
106
|
+
Generated on Fri Sep 12 14:07:32 2014 by
|
107
107
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
108
108
|
0.8.7.4 (ruby-2.1.2).
|
109
109
|
</div>
|
data/lib/simple2ch/res.rb
CHANGED
@@ -38,13 +38,44 @@ module Simple2ch
|
|
38
38
|
# @raise [KakoLogException] 過去ログ情報をパースしようとした際に発生
|
39
39
|
def self.parse(res_num, contents)
|
40
40
|
unless contents.strip == KAKO_LOG_INFO
|
41
|
-
self.new
|
41
|
+
return self.new(res_num, parse_dat(contents))
|
42
42
|
else
|
43
43
|
raise KakoLogException
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
+
# アンカーを抽出する 荒らしの場合は空配列を返す
|
48
|
+
# @return [Array<Fixnum>] 昇順ソート済みアンカー、荒らしの場合は空配列
|
49
|
+
def anchors
|
50
|
+
arashi_removal_regex = /(?:\d{1,4}(?:\]*>)?(?:>|\[>,+-\]){1,2}){9}/
|
51
|
+
unless self.contents =~ arashi_removal_regex
|
52
|
+
splitter_regex = '[,、, ]'
|
53
|
+
digit_regex = '(?:\d|[0-9])+'
|
54
|
+
hyphen_regex = '[−ーー\-〜~〜]'
|
55
|
+
extracted = self.contents.scan />((?:#{digit_regex}(?:#{splitter_regex}|#{hyphen_regex})*)+)/
|
56
|
+
anchors = extracted.flatten.to_s.gsub(/[\"\[\]]/,'').split(/#{splitter_regex}/)
|
57
|
+
anchors.delete('')
|
58
|
+
anchors.map! do |a|
|
59
|
+
if a =~ /(#{digit_regex})#{hyphen_regex}(#{digit_regex})/
|
60
|
+
(Range.new parseInt($1), parseInt($2)).to_a
|
61
|
+
else
|
62
|
+
parseInt(a)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
anchors.flatten.uniq.sort
|
66
|
+
else
|
67
|
+
[]
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
47
71
|
private
|
72
|
+
# 全角数字をFixnumへ変換する
|
73
|
+
# @param [String] strnum 全角数字
|
74
|
+
# @return [Fixnum] 数字
|
75
|
+
def parseInt(strnum)
|
76
|
+
(Charwidth.normalize strnum).to_i
|
77
|
+
end
|
78
|
+
|
48
79
|
# Datの1行から各項目を分離して、Resオブジェクトを返すメソッドの実体
|
49
80
|
# @param [String] dat datのデータ1行
|
50
81
|
# @raise [DatParseException] Datのパースに失敗したときに発生
|
data/lib/simple2ch/version.rb
CHANGED
data/lib/simple2ch.rb
CHANGED
data/simple2ch.gemspec
CHANGED
@@ -4,22 +4,13 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'simple2ch/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
updates = %q{[v0.1.0]
|
8
|
-
* メソッド名の変更
|
9
|
-
* Thre.new から Thre.parse に変更
|
10
|
-
* Thre.newは引数の数を変更
|
11
|
-
* この変更に伴い、v0.0.2以下とは一部互換性無し
|
12
|
-
* バグ修正
|
13
|
-
* Time.parseの呼び出しに失敗する問題を修正
|
14
|
-
* その他
|
15
|
-
* その他微細な修正}
|
16
7
|
|
17
8
|
spec.name = "simple2ch"
|
18
9
|
spec.version = Simple2ch::VERSION
|
19
10
|
spec.authors = ["dogwood008"]
|
20
11
|
spec.email = ["dogwood008+rubygems@gmail.com"]
|
21
12
|
spec.summary = %q{2ch Japanese BBS simple reader.}
|
22
|
-
spec.description = spec.summary
|
13
|
+
spec.description = spec.summary
|
23
14
|
spec.homepage = "https://github.com/dogwood008/simple2ch"
|
24
15
|
spec.license = "MIT"
|
25
16
|
|
@@ -33,9 +24,9 @@ Gem::Specification.new do |spec|
|
|
33
24
|
spec.add_development_dependency "rspec"
|
34
25
|
spec.add_development_dependency "rspec-core"
|
35
26
|
spec.add_development_dependency 'rspec-its'
|
36
|
-
spec.add_development_dependency 'spork'
|
37
27
|
|
38
28
|
spec.required_ruby_version = '~> 2.0'
|
29
|
+
spec.add_dependency 'charwidth', '~> 0.1.3'
|
39
30
|
|
40
31
|
# spec.add_development_dependency 'spring'
|
41
32
|
# spec.add_development_dependency 'zeus'
|
data/spec/res_spec.rb
CHANGED
@@ -39,4 +39,60 @@ describe Simple2ch::Res do
|
|
39
39
|
it { is_expected.to be_a_kind_of(Time) }
|
40
40
|
it { is_expected.not_to be eq nil }
|
41
41
|
end
|
42
|
+
|
43
|
+
describe '#anchors' do
|
44
|
+
shared_examples('have valid anchors') do
|
45
|
+
let(:res_num) { 100 }
|
46
|
+
subject { Res.new(res_num, contents: contents) }
|
47
|
+
|
48
|
+
describe 'that\'s anchored res is valid' do
|
49
|
+
its(:anchors) { is_expected.to be_a_kind_of Array }
|
50
|
+
its(:anchors) { is_expected.to be == anchor }
|
51
|
+
its('anchors.size') { is_expected.to be == anchor.size }
|
52
|
+
end
|
53
|
+
end
|
54
|
+
context 'when it have anchors separated commas' do
|
55
|
+
let(:contents) { %Q{>>1, 2, 3,12, 34\n9} }
|
56
|
+
let(:anchor) { [1, 2, 3, 12, 34] }
|
57
|
+
it_behaves_like 'have valid anchors'
|
58
|
+
end
|
59
|
+
context 'when it have anchors separated commas & spaces' do
|
60
|
+
let(:contents) { %Q{>>1, 2, 3 4 5 6, 12、 34\n9} }
|
61
|
+
let(:anchor) { [1, 2, 3, 4, 5, 6, 12, 34] }
|
62
|
+
it_behaves_like 'have valid anchors'
|
63
|
+
end
|
64
|
+
context 'when it have anchors range' do
|
65
|
+
let(:contents) { %Q{>1-5\n9} }
|
66
|
+
let(:anchor) { (1..5).to_a }
|
67
|
+
it_behaves_like 'have valid anchors'
|
68
|
+
end
|
69
|
+
context 'when it have range and separated anchors pattern#1' do
|
70
|
+
let(:contents){%Q{>1-5,6,8}}
|
71
|
+
let(:anchor) {[1,2,3,4,5,6,8]}
|
72
|
+
it_behaves_like 'have valid anchors'
|
73
|
+
end
|
74
|
+
context 'when it have range and separated anchors pattern#2' do
|
75
|
+
let(:contents){%Q{>1,3, 9−13\n25}}
|
76
|
+
let(:anchor) {[1,3,9,10,11,12,13]}
|
77
|
+
it_behaves_like 'have valid anchors'
|
78
|
+
end
|
79
|
+
context 'when it have ARASHI anchors' do
|
80
|
+
let(:contents) { %Q{>1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,
|
81
|
+
>52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,
|
82
|
+
|
83
|
+
>>1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
|
84
|
+
∧_∧
|
85
|
+
(´・ω・`) n
|
86
|
+
 ̄ .. \ ( E)
|
87
|
+
フ ア.フ.ィ /ヽ ヽ_//
|
88
|
+
>>21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40
|
89
|
+
∧_∧
|
90
|
+
(´・ω・`) n
|
91
|
+
 ̄ .. \ ( E)
|
92
|
+
フ ア.フ.ィ /ヽ ヽ_//
|
93
|
+
>>41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60 } }
|
94
|
+
let(:anchor) { [] }
|
95
|
+
it_behaves_like 'have valid anchors'
|
96
|
+
end
|
97
|
+
end
|
42
98
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple2ch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- dogwood008
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -81,30 +81,20 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: charwidth
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
90
|
-
type: :
|
89
|
+
version: 0.1.3
|
90
|
+
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
97
|
-
description:
|
98
|
-
2ch Japanese BBS simple reader.
|
99
|
-
[v0.1.0]
|
100
|
-
* メソッド名の変更
|
101
|
-
* Thre.new から Thre.parse に変更
|
102
|
-
* Thre.newは引数の数を変更
|
103
|
-
* この変更に伴い、v0.0.2以下とは一部互換性無し
|
104
|
-
* バグ修正
|
105
|
-
* Time.parseの呼び出しに失敗する問題を修正
|
106
|
-
* その他
|
107
|
-
* その他微細な修正
|
96
|
+
version: 0.1.3
|
97
|
+
description: 2ch Japanese BBS simple reader.
|
108
98
|
email:
|
109
99
|
- dogwood008+rubygems@gmail.com
|
110
100
|
executables: []
|
@@ -116,6 +106,7 @@ files:
|
|
116
106
|
- LICENSE.txt
|
117
107
|
- README.md
|
118
108
|
- Rakefile
|
109
|
+
- UPDATES.md
|
119
110
|
- doc/Simple2ch.html
|
120
111
|
- doc/Simple2ch/Board.html
|
121
112
|
- doc/Simple2ch/Dat.html
|