ya_lorem_ja 0.0.2 → 0.0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ee9fcc6d1cc4d19a188e31de60f9e0096d4c657b
4
- data.tar.gz: 68c8521edad996b66c165df4ae7ea0ab25a656a6
3
+ metadata.gz: c0e5e7a7c562138118215559d2a12f02660a2bad
4
+ data.tar.gz: a37b9178a152876d117b4cc58ce975428925535a
5
5
  SHA512:
6
- metadata.gz: 2ac2a091906936e9b07c5d5480d11c53b49b073b999e5ec53bf226b0fd37b93298c5acc5b9ed9a97a6b1b3c96189b08805bbdf02d08126e3d24fa21729f68171
7
- data.tar.gz: aff31a73c543fcc906c48e93b05eb816619f4b8d1680cd85fc81c3b9d75476b4214ba8d380d22327cba30575dfaa41f162f5a9ba909b28eb14b2d53a305185d5
6
+ metadata.gz: e2422ba2833828891761653fc3efa611506aa2e797b95f31c1dc1675237e88714dd9971f64909e65519fa595c6d0390c6caeebd2c36b6c2dae559a43f05e93fb
7
+ data.tar.gz: 4d67a7c2c040ae14c522254049f220066af877031ac81939f2f2c9ccbac45c54152f6bc6653f26f06070e9e4954155acf4beb224851f7ef65ba176ae76761d10
data/README.md CHANGED
@@ -54,25 +54,43 @@ Middleman の lorem のインターフェースを参考にしています。
54
54
  - sentences(num_of_sentces)
55
55
  - paragraph
56
56
  - paragraphs(num_of_paragraph)
57
+ - date(format)
58
+ - image(size, options={})
57
59
 
58
60
  ## 実装
59
61
 
60
62
  日本語 lorem の簡易版であるため、自然言語処理は一切していません。
61
- 文を最小単位とした文章情報から、指定された文字数に収まる文を選択しています。
63
+ 文を最小単位とした文章リソースから、指定された文字数に収まる文を選択しています。
62
64
 
63
65
  そのため、 word(or words) が指定された場合は、1単語あたり2〜6文字(コンストラクタで変更可)の範囲でランダムに文字数を決定し、
64
66
  その文字数に収まる文を選択しています。ただし、 word(or words)の場合は、選択した文末に句点が存在する場合、文末の句点を削除します。
65
67
 
66
- sentence(or sentence)が指定された場合は、1文あたり6〜20単語(コンストラクタで変更可)の範囲でランダムに単語数を決定し、単語数×単語の文字数に収まる文を選択しています。
68
+ sentence(or sentence)が指定された場合は、1文あたり6〜15単語(コンストラクタで変更可)の範囲でランダムに単語数を決定し、単語数×単語の文字数に収まる文を選択しています。
67
69
  複数文(例: sentences(3))を指定した場合は、改行文字(デフォルト "\n", line_breakプロパティで変更可)で各文を結合します。
68
70
 
69
71
  paragraph(or paragraphs)が指定された場合は、1段落あたり2〜5文(コンストラクタで変更可)の範囲でランダムに文数を決定し、文を選択します。
70
72
  複数段落(例: paragraphs(3))を指定した場合は、2つ分の改行文字(デフォルト "\n\n)を段落区切りとして設定します。
71
73
 
72
- ## 文章情報
74
+ ## 文章リソース
73
75
 
74
- デフォルトの文章情報として、 [坂口安吾「風博士」](http://www.aozora.gr.jp/cards/001095/card42616.html) を使用しています。
76
+ 文章リソースとして、以下を収録しています。
77
+ デフォルトでは [坂口安吾「風博士」](http://www.aozora.gr.jp/cards/001095/card42616.html) が使用されます。
75
78
 
79
+ + [坂口安吾「風博士」](http://www.aozora.gr.jp/cards/001095/card42616.html)
80
+ + [宮沢賢治「注文の多い料理店」](http://www.aozora.gr.jp/cards/000081/card43737.html)
81
+
82
+ 文書リソースの指定方法は以下になります。
83
+
84
+ ```ruby
85
+ require 'ya_lorem_ja'
86
+ # 坂口安吾「風博士」 を使用する場合
87
+ lorem_kazehakase = YaLoremJa::Lorem.new
88
+ # or
89
+ lorem_kazehakase = YaLoremJa::Lorem.new(:kazehakase)
90
+
91
+ # 宮沢賢治「注文の多い料理店」を使用する場合
92
+ lorem_ryouriten = YaLoremJa::Lorem.new(:chuumon_no_ooi_ryouriten)
93
+ ```
76
94
 
77
95
  ## Contributing
78
96
 
data/lib/ya_lorem_ja.rb CHANGED
@@ -1,9 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  require "ya_lorem_ja/version"
3
3
  require 'ya_lorem_ja/word_resource'
4
- require 'ya_lorem_ja/resources/kazehakase'
5
4
 
6
-
7
5
  ##
8
6
  # Yet Anothoer Japanese Lorem
9
7
  #
@@ -12,6 +10,11 @@ module YaLoremJa
12
10
  # Japanese Lorem
13
11
  class Lorem
14
12
  attr_reader :resource_name
13
+
14
+ DEFAULT_RESOURCE_NAME = :kazehakase
15
+ DEFAULT_CHAR_COUNT_RANGE_IN_WORD = 2..6
16
+ DEFAULT_WORD_COUNT_RANGE_IN_SENTENCE = 6..15
17
+ DEFAULT_SENTENCE_COUNT_RANGE_IN_PARAGRAPH = 2..5
15
18
 
16
19
  ##
17
20
  # @param [Symbol] resource_name name of word resource
@@ -19,8 +22,15 @@ module YaLoremJa
19
22
  # @param [Range] word_count_range range of word count in sentence
20
23
  # @param [Range] sentence_count_range renage of sentence count in paragraph
21
24
  #
22
- def initialize(resource_name=:kazehakase, char_count_range=2..6, word_count_range=6..15, sentence_count_range=2..5)
25
+ def initialize(resource_name=DEFAULT_RESOURCE_NAME, char_count_range=DEFAULT_CHAR_COUNT_RANGE_IN_WORD, word_count_range=DEFAULT_WORD_COUNT_RANGE_IN_SENTENCE, sentence_count_range=DEFAULT_SENTENCE_COUNT_RANGE_IN_PARAGRAPH)
23
26
  @resource_name = resource_name
27
+
28
+ # require
29
+ begin
30
+ require File.join('ya_lorem_ja/resources', resource_name.to_s)
31
+ rescue LoadError
32
+ end
33
+
24
34
  # 文章辞書の読み込み
25
35
  @resource = ::YaLoremJa::WordResources.load(resource_name, char_count_range, word_count_range, sentence_count_range)
26
36
  end
@@ -0,0 +1,266 @@
1
+ # -*- coding: utf-8 -*-
2
+ module YaLoremJa
3
+ ##
4
+ # word resource from {http://www.aozora.gr.jp/cards/001095/card42616.html kazehakase}
5
+ class ChuumonNoOoiRyouriten < ::YaLoremJa::WordResource
6
+
7
+ ##
8
+ # @param [Range] char_count_range range of character count in a word
9
+ # @param [Range] word_count_range range of word count in sentence
10
+ # @param [Range] sentence_count_range renage of sentence count in paragraph
11
+ def initialize(char_count_range, word_count_range, sentence_count_range)
12
+ super(char_count_range, word_count_range, sentence_count_range)
13
+ @sentence_end_chars = ["、", "。"]
14
+ @sentence_map = Hash.new{ |h,k| h[k] = [] }
15
+
16
+ lines=<<CONTENTS.split("\n")
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
+ RESTAURANT
50
+ 西洋料理店
51
+ WILDCAT HOUSE
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
+ 扉には赤い字で、
102
+ お客さまがた、ここで髪をきちんとして、それからはきもの
103
+ の泥を落してください。
104
+ と書いてありました。
105
+ これはどうも尤もだ。
106
+ 僕もさっき玄関で、山のなかだとおもって見くびったんだよ
107
+ 作法の厳しい家だ。
108
+ きっとよほど偉い人たちが、たびたび来るんだ。
109
+ そこで二人は、きれいに髪をけずって、靴の泥を落しました。
110
+ そしたら、どうです。
111
+ ブラシを板の上に置くや否や、そいつがぼうっとかすんで無くなって、風がどうっと室の中に入ってきました。
112
+ 二人はびっくりして、互によりそって、扉をがたんと開けて、次の室へ入って行きました。
113
+ 早く何か暖いものでもたべて、元気をつけて置かないと、もう途方もないことになってしまうと、二人とも思ったのでした。
114
+ 扉の内側に、また変なことが書いてありました。
115
+ 鉄砲と弾丸をここへ置いてください。
116
+ 見るとすぐ横に黒い台がありました。
117
+ なるほど、鉄砲を持ってものを食うという法はない。
118
+ いや、よほど偉いひとが始終来ているんだ。
119
+ 二人は鉄砲をはずし、帯皮を解いて、それを台の上に置きました。
120
+ また黒い扉がありました。
121
+ どうか帽子と外套と靴をおとり下さい。
122
+ どうだ、とるか。
123
+ 仕方ない、とろう。
124
+ たしかによっぽどえらいひとなんだ。
125
+ 奥に来ているのは
126
+ 二人は帽子とオーバーコートを釘にかけ、靴をぬいでぺたぺたあるいて扉の中にはいりました。
127
+ 扉の裏側には、
128
+ ネクタイピン、カフスボタン、眼鏡、財布、その他金物類、
129
+ ことに尖ったものは、みんなここに置いてください
130
+ と書いてありました。
131
+ 扉のすぐ横には黒塗りの立派な金庫も、ちゃんと口を開けて置いてありました。
132
+ 鍵まで添えてあったのです。
133
+ ははあ、何かの料理に電気をつかうと見えるね。
134
+ 金気のものはあぶない。
135
+ ことに尖ったものはあぶないと斯う云うんだろう。
136
+ そうだろう。
137
+ して見ると勘定は帰りにここで払うのだろうか。
138
+ どうもそうらしい。
139
+ そうだ。
140
+ きっと。
141
+ 二人はめがねをはずしたり、カフスボタンをとったり、みんな金庫のなかに入れて、ぱちんと錠をかけました。
142
+ すこし行きますとまた扉があって、その前に硝子の壺が一つありました。
143
+ 扉には斯う書いてありました。
144
+ 壺のなかのクリームを顔や手足にすっかり塗ってください。
145
+ みるとたしかに壺のなかのものは牛乳のクリームでした。
146
+ クリームをぬれというのはどういうんだ。
147
+ これはね、外がひじょうに寒いだろう。
148
+ 室のなかがあんまり暖いとひびがきれるから、その予防なんだ。
149
+ どうも奥には、よほどえらいひとがきている。
150
+ こんなとこで、案外ぼくらは、貴族とちかづきになるかも知れないよ。
151
+ 二人は壺のクリームを、顔に塗って手に塗ってそれから靴下をぬいで足に塗りました。
152
+ それでもまだ残っていましたから、それは二人ともめいめいこっそり顔へ塗るふりをしながら喰べました。
153
+ それから大急ぎで扉をあけますと、その裏側には、
154
+ クリームをよく塗りましたか、耳にもよく塗りましたか、
155
+ と書いてあって、ちいさなクリームの壺がここにも置いてありました。
156
+ そうそう、ぼくは耳には塗らなかった。
157
+ あぶなく耳にひびを切らすとこだった。
158
+ ここの主人はじつに用意|周到だね。
159
+ ああ、細かいとこまでよく気がつくよ。
160
+ ところでぼくは早く何か喰べたいんだが、どうも斯うどこまでも廊下じゃ仕方ないね。
161
+ するとすぐその前に次の戸がありました。
162
+ 料理はもうすぐできます。
163
+ 十五分とお待たせはいたしません。
164
+ すぐたべられます。
165
+ 早くあなたの頭に瓶の中の香水をよく振りかけてください。
166
+ そして戸の前には金ピカの香水の瓶が置いてありました。
167
+ 二人はその香水を、頭へぱちゃぱちゃ振りかけました。
168
+ ところがその香水は、どうも酢のような匂がするのでした。
169
+ この香水はへんに酢くさい。
170
+ どうしたんだろう。
171
+ まちがえたんだ。
172
+ 下女が風邪でも引いてまちがえて入れたんだ。
173
+ 二人は扉をあけて中にはいりました。
174
+ 扉の裏側には、大きな字で斯う書いてありました。
175
+ いろいろ注文が多くてうるさかったでしょう。
176
+ お気の毒でした。
177
+ もうこれだけです。
178
+ どうかからだ中に、壺の中の塩をたくさん
179
+ よくもみ込んでください。
180
+ なるほど立派な青い瀬戸の塩壺は置いてありましたが、こんどというこんどは二人ともぎょっとしてお互にクリームをたくさん塗った顔を見合せました。
181
+ どうもおかしいぜ。
182
+ ぼくもおかしいとおもう。
183
+ 沢山の注文というのは、向うがこっちへ注文してるんだよ。
184
+ だからさ、西洋料理店というのは、ぼくの考えるところでは、西洋料理を、来た人にたべさせるのではなくて、来た人を西洋料理にして、食べてやる家とこういうことなんだ。
185
+ これは、その、つ、つ、つ、つまり、ぼ、ぼ、ぼくらが……。
186
+ がたがたがたがた、ふるえだしてもうものが言えませんでした。
187
+ その、ぼ、ぼくらが、……うわあ。
188
+ がたがたがたがたふるえだして、もうものが言えませんでした。
189
+ 遁げ……。
190
+ がたがたしながら一人の紳士はうしろの戸を押そうとしましたが、どうです、戸はもう一分も動きませんでした。
191
+ 奥の方にはまだ一枚扉があって、大きなかぎ穴が二つつき、銀いろのホークとナイフの形が切りだしてあって、
192
+ いや、わざわざご苦労です。
193
+ 大へん結構にできました。
194
+ さあさあおなかにおはいりください。
195
+ と書いてありました。
196
+ おまけにかぎ穴からはきょろきょろ二つの青い眼玉がこっちをのぞいています。
197
+ うわあ。
198
+ がたがたがたがた。
199
+ うわあ。
200
+ がたがたがたがた。
201
+ ふたりは泣き出しました。
202
+ すると戸の中では、こそこそこんなことを云っています。
203
+ だめだよ。
204
+ もう気がついたよ。
205
+ 塩をもみこまないようだよ。
206
+ あたりまえさ。
207
+ 親分の書きようがまずいんだ。
208
+ あすこへ、いろいろ注文が多くてうるさかったでしょう、お気の毒でしたなんて、間抜けたことを書いたもんだ。
209
+ どっちでもいいよ。
210
+ どうせぼくらには、骨も分けて呉れやしないんだ。
211
+ それはそうだ。
212
+ けれどももしここへあいつらがはいって来なかったら、それはぼくらの責任だぜ。
213
+ 呼ぼうか、呼ぼう。
214
+ おい、お客さん方、早くいらっしゃい。
215
+ いらっしゃい。
216
+ いらっしゃい。
217
+ お皿も洗ってありますし、菜っ葉ももうよく塩でもんで置きました。
218
+ あとはあなたがたと、菜っ葉をうまくとりあわせて、まっ白なお皿にのせるだけです。
219
+ はやくいらっしゃい。
220
+ へい、いらっしゃい、いらっしゃい。
221
+ それともサラドはお嫌いですか。
222
+ そんならこれから火を起してフライにしてあげましょうか。
223
+ とにかくはやくいらっしゃい。
224
+ 二人はあんまり心を痛めたために、顔がまるでくしゃくしゃの紙屑のようになり、お互にその顔を見合せ、ぶるぶるふるえ、声もなく泣きました。
225
+ 中ではふっふっとわらってまた叫んでいます。
226
+ いらっしゃい、いらっしゃい。
227
+ そんなに泣いては折角のクリームが流れるじゃありませんか。
228
+ へい、ただいま。
229
+ じきもってまいります。
230
+ さあ、早くいらっしゃい。
231
+ 早くいらっしゃい。
232
+ 親方がもうナフキンをかけて、ナイフをもって、舌なめずりして、お客さま方を待っていられます。
233
+ 二人は泣いて泣いて泣いて泣いて泣きました。
234
+ そのときうしろからいきなり、
235
+ わん、わん、ぐゎあ。
236
+ という声がして、あの白熊のような犬が二|疋、扉をつきやぶって室の中に飛び込んできました。
237
+ 鍵穴の眼玉はたちまちなくなり、犬どもはううとうなってしばらく室の中をくるくる廻っていましたが、また一声
238
+ わん。
239
+ と高く吠えて、いきなり次の扉に飛びつきました。
240
+ 戸はがたりとひらき、犬どもは吸い込まれるように飛んで行きました。
241
+ その扉の向うのまっくらやみのなかで、
242
+ にゃあお、くゎあ、ごろごろ。
243
+ という声がして、それからがさがさ鳴りました。
244
+ 室はけむりのように消え、二人は寒さにぶるぶるふるえて、草の中に立っていました。
245
+ 見ると、上着や靴や財布やネクタイピンは、あっちの枝にぶらさがったり、こっちの根もとにちらばったりしています。
246
+ 風がどうと吹いてきて、草はざわざわ、木の葉はかさかさ、木はごとんごとんと鳴りました。
247
+ 犬がふうとうなって戻ってきました。
248
+ そしてうしろからは、
249
+ 旦那あ、旦那あ、と叫ぶものがあります。
250
+ 二人は俄かに元気がついて
251
+ おおい、おおい、ここだぞ、早く来い。
252
+ と叫びました。
253
+ 簔帽子をかぶった専門の猟師が、草をざわざわ分けてやってきました。
254
+ そこで二人はやっと安心しました。
255
+ そして猟師のもってきた団子をたべ、途中で十円だけ山鳥を買って東京に帰りました。
256
+ しかし、さっき一ぺん紙くずのようになった二人の顔だけは、東京に帰っても、お湯にはいっても、もうもとのとおりになおりませんでした。
257
+ CONTENTS
258
+ lines.each do |line|
259
+ @sentence_map[line.size] << line
260
+ end
261
+ end
262
+ end
263
+ end
264
+
265
+ # register :chuumon_no_ooi_ryouriten as word resource
266
+ ::YaLoremJa::ChuumonNoOoiRyouriten.register(:chuumon_no_ooi_ryouriten)
@@ -1,5 +1,5 @@
1
1
  module YaLoremJa
2
2
  ##
3
3
  # version
4
- VERSION = "0.0.2"
4
+ VERSION = "0.0.3"
5
5
  end
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  module YaLoremJa
3
-
3
+
4
4
  ##
5
5
  # manage word resources
6
6
  module WordResources
@@ -0,0 +1,104 @@
1
+ # -*- coding: utf-8 -*-
2
+ require 'spec_helper'
3
+
4
+ describe YaLoremJa do
5
+ it 'should have a version number' do
6
+ expect(YaLoremJa::VERSION).not_to be_nil
7
+ end
8
+
9
+ it 'インスタンスを生成できること' do
10
+ lorem = YaLoremJa::Lorem.new(:chuumon_no_ooi_ryouriten)
11
+ expect(lorem).not_to be_nil
12
+ end
13
+
14
+ it '1語を取得できること' do
15
+ lorem = YaLoremJa::Lorem.new(:chuumon_no_ooi_ryouriten)
16
+ a_word = lorem.word
17
+ puts a_word
18
+ expect(a_word.size).to be <= lorem.char_count_range.max
19
+ end
20
+
21
+ it '2語を取得できること' do
22
+ lorem = YaLoremJa::Lorem.new(:chuumon_no_ooi_ryouriten)
23
+ words = lorem.words(2)
24
+ puts words
25
+ expect(words.size).to be <= (lorem.char_count_range.max * 2)
26
+ end
27
+
28
+ it '10語を取得できること' do
29
+ lorem = YaLoremJa::Lorem.new(:chuumon_no_ooi_ryouriten)
30
+ words = lorem.words(10)
31
+ puts words
32
+ expect(words.size).to be <= (lorem.char_count_range.max * 10)
33
+ end
34
+
35
+ it 'デフォルト改行文字は\nであること' do
36
+ lorem = YaLoremJa::Lorem.new(:chuumon_no_ooi_ryouriten)
37
+ expect(lorem.line_break).to be == "\n"
38
+ end
39
+
40
+ it '1文を取得できること' do
41
+ lorem = YaLoremJa::Lorem.new(:chuumon_no_ooi_ryouriten)
42
+ a_sentence = lorem.sentence
43
+ puts a_sentence
44
+ expect(a_sentence.size).to be <= (lorem.word_count_range.max * lorem.char_count_range.max)
45
+ end
46
+
47
+ it '3文を取得できること' do
48
+ lorem = YaLoremJa::Lorem.new(:chuumon_no_ooi_ryouriten)
49
+ sentences = lorem.sentences(3)
50
+ puts sentences
51
+ expect(sentences.split("\n").count).to be == 3
52
+ end
53
+
54
+ it '1段落を取得できること' do
55
+ lorem = YaLoremJa::Lorem.new(:chuumon_no_ooi_ryouriten)
56
+ a_para = lorem.paragraph
57
+ expect(a_para).not_to be_nil
58
+ puts a_para
59
+ expect(a_para.split(/\n{1}/).count).to be >= lorem.sentence_count_range.min
60
+ end
61
+
62
+ it '3段落を取得できること' do
63
+ lorem = YaLoremJa::Lorem.new(:chuumon_no_ooi_ryouriten)
64
+ paras = lorem.paragraphs(3)
65
+ expect(paras).not_to be_nil
66
+ puts paras
67
+ expect(paras.split(/\n{2}/).count).to be == 3
68
+ paras.split(/\n{2}/).each do |a_para|
69
+ expect(a_para.split(/\n{1}/).count).to be >= lorem.sentence_count_range.min
70
+ end
71
+ end
72
+
73
+ it '改行文字を変更時、文の改行文字も変更されること' do
74
+ lorem = YaLoremJa::Lorem.new(:chuumon_no_ooi_ryouriten)
75
+ lorem.line_break = "\r\n"
76
+ sentences = lorem.sentences(3)
77
+ p sentences
78
+ expect(sentences.split("\r\n").count).to be == 3
79
+ end
80
+
81
+ it '改行文字を変更時、段落の改行文字も変更されること' do
82
+ lorem = YaLoremJa::Lorem.new(:chuumon_no_ooi_ryouriten)
83
+ lorem.line_break = "\r\n"
84
+ paras = lorem.paragraphs(3)
85
+ expect(paras).not_to be_nil
86
+ p paras
87
+ expect(paras.split("\r\n"*2).count).to be == 3
88
+ paras.split("\r\n"*2).each do |a_para|
89
+ expect(a_para.split("\r\n").count).to be >= lorem.sentence_count_range.min
90
+ end
91
+ end
92
+
93
+ it '日付を取得できること' do
94
+ lorem = YaLoremJa::Lorem.new(:chuumon_no_ooi_ryouriten)
95
+ expect(lorem.date).to match /^\d{4}年\d{2}月\d{2}日$/
96
+ expect(lorem.date('%Y-%m-%d')).to match /^\d{4}-\d{2}-\d{2}$/
97
+ end
98
+
99
+ it '画像URLを取得できること' do
100
+ lorem = YaLoremJa::Lorem.new(:chuumon_no_ooi_ryouriten)
101
+ expect(lorem.image('20x20')).to match %r!^http://placehold.it/20x20$!
102
+ end
103
+
104
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ya_lorem_ja
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - kenji tanaka
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-06 00:00:00.000000000 Z
11
+ date: 2015-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -65,10 +65,12 @@ files:
65
65
  - README.md
66
66
  - Rakefile
67
67
  - lib/ya_lorem_ja.rb
68
+ - lib/ya_lorem_ja/resources/chuumon_no_ooi_ryouriten.rb
68
69
  - lib/ya_lorem_ja/resources/kazehakase.rb
69
70
  - lib/ya_lorem_ja/version.rb
70
71
  - lib/ya_lorem_ja/word_resource.rb
71
72
  - spec/spec_helper.rb
73
+ - spec/ya_lorem_ja_chuumon_no_ooi_ryouriten_spec.rb
72
74
  - spec/ya_lorem_ja_spec.rb
73
75
  - ya_lorem_ja.gemspec
74
76
  homepage: https://github.com/tanalab2/ya_lorem_ja
@@ -91,11 +93,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
93
  version: '0'
92
94
  requirements: []
93
95
  rubyforge_project:
94
- rubygems_version: 2.2.2
96
+ rubygems_version: 2.4.5
95
97
  signing_key:
96
98
  specification_version: 4
97
99
  summary: Yet Another Japanese Lorem Ipsum generator
98
100
  test_files:
99
101
  - spec/spec_helper.rb
102
+ - spec/ya_lorem_ja_chuumon_no_ooi_ryouriten_spec.rb
100
103
  - spec/ya_lorem_ja_spec.rb
101
- has_rdoc: