HyakuninIssyu 0.6.2 → 0.7.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/HyakuninIssyu.gemspec +0 -1
- data/README.md +47 -30
- data/Rakefile +1 -0
- data/{lib → assets}/data/poems.yml +0 -0
- data/{lib → assets}/data/poets.yml +0 -0
- data/assets/img/001.jpg +0 -0
- data/assets/img/002.jpg +0 -0
- data/assets/img/003.jpg +0 -0
- data/assets/img/004.jpg +0 -0
- data/assets/img/005.jpg +0 -0
- data/assets/img/006.jpg +0 -0
- data/assets/img/007.jpg +0 -0
- data/assets/img/008.jpg +0 -0
- data/assets/img/009.jpg +0 -0
- data/assets/img/010.jpg +0 -0
- data/assets/img/011.jpg +0 -0
- data/assets/img/012.jpg +0 -0
- data/assets/img/013.jpg +0 -0
- data/assets/img/014.jpg +0 -0
- data/assets/img/015.jpg +0 -0
- data/assets/img/016.jpg +0 -0
- data/assets/img/017.jpg +0 -0
- data/assets/img/018.jpg +0 -0
- data/assets/img/019.jpg +0 -0
- data/assets/img/020.jpg +0 -0
- data/assets/img/021.jpg +0 -0
- data/assets/img/022.jpg +0 -0
- data/assets/img/023.jpg +0 -0
- data/assets/img/024.jpg +0 -0
- data/assets/img/025.jpg +0 -0
- data/assets/img/026.jpg +0 -0
- data/assets/img/027.jpg +0 -0
- data/assets/img/028.jpg +0 -0
- data/assets/img/029.jpg +0 -0
- data/assets/img/030.jpg +0 -0
- data/assets/img/031.jpg +0 -0
- data/assets/img/032.jpg +0 -0
- data/assets/img/033.jpg +0 -0
- data/assets/img/034.jpg +0 -0
- data/assets/img/035.jpg +0 -0
- data/assets/img/036.jpg +0 -0
- data/assets/img/037.jpg +0 -0
- data/assets/img/038.jpg +0 -0
- data/assets/img/039.jpg +0 -0
- data/assets/img/040.jpg +0 -0
- data/assets/img/041.jpg +0 -0
- data/assets/img/042.jpg +0 -0
- data/assets/img/043.jpg +0 -0
- data/assets/img/044.jpg +0 -0
- data/assets/img/045.jpg +0 -0
- data/assets/img/046.jpg +0 -0
- data/assets/img/047.jpg +0 -0
- data/assets/img/048.jpg +0 -0
- data/assets/img/049.jpg +0 -0
- data/assets/img/050.jpg +0 -0
- data/assets/img/051.jpg +0 -0
- data/assets/img/052.jpg +0 -0
- data/assets/img/053.jpg +0 -0
- data/assets/img/054.jpg +0 -0
- data/assets/img/055.jpg +0 -0
- data/assets/img/056.jpg +0 -0
- data/assets/img/057.jpg +0 -0
- data/assets/img/058.jpg +0 -0
- data/assets/img/059.jpg +0 -0
- data/assets/img/060.jpg +0 -0
- data/assets/img/061.jpg +0 -0
- data/assets/img/062.jpg +0 -0
- data/assets/img/063.jpg +0 -0
- data/assets/img/064.jpg +0 -0
- data/assets/img/065.jpg +0 -0
- data/assets/img/066.jpg +0 -0
- data/assets/img/067.jpg +0 -0
- data/assets/img/068.jpg +0 -0
- data/assets/img/069.jpg +0 -0
- data/assets/img/070.jpg +0 -0
- data/assets/img/071.jpg +0 -0
- data/assets/img/072.jpg +0 -0
- data/assets/img/073.jpg +0 -0
- data/assets/img/074.jpg +0 -0
- data/assets/img/075.jpg +0 -0
- data/assets/img/076.jpg +0 -0
- data/assets/img/077.jpg +0 -0
- data/assets/img/078.jpg +0 -0
- data/assets/img/079.jpg +0 -0
- data/assets/img/080.jpg +0 -0
- data/assets/img/081.jpg +0 -0
- data/assets/img/082.jpg +0 -0
- data/assets/img/083.jpg +0 -0
- data/assets/img/084.jpg +0 -0
- data/assets/img/085.jpg +0 -0
- data/assets/img/086.jpg +0 -0
- data/assets/img/087.jpg +0 -0
- data/assets/img/088.jpg +0 -0
- data/assets/img/089.jpg +0 -0
- data/assets/img/090.jpg +0 -0
- data/assets/img/091.jpg +0 -0
- data/assets/img/092.jpg +0 -0
- data/assets/img/093.jpg +0 -0
- data/assets/img/094.jpg +0 -0
- data/assets/img/095.jpg +0 -0
- data/assets/img/096.jpg +0 -0
- data/assets/img/097.jpg +0 -0
- data/assets/img/098.jpg +0 -0
- data/assets/img/099.jpg +0 -0
- data/assets/img/100.jpg +0 -0
- data/lib/HyakuninIssyu.rb +25 -30
- data/lib/HyakuninIssyu/version.rb +1 -1
- data/lib/tasks/install_asset.rake +12 -0
- data/spec/hyakuninissyu_spec.rb +184 -208
- data/spec/spec_helper.rb +0 -2
- metadata +105 -18
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: af4c596341f17568ecda3f6647985decfcf376d5
|
|
4
|
+
data.tar.gz: 4db23df31c69b63d862e2c2aa70fc7859d9dcf36
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ef50097290b503bd5a9bad09a0f833e61057f8056b1cb7aa17c11b98558272e0206165ca530fa30f0250ffd00c93f173c26713fff0d4eaad2bd3e8eb5948a60a
|
|
7
|
+
data.tar.gz: 8035a0445e0b0d8b9a6f39fa1340d36f1feb88aa3014ec988324ff20a81ed0ab8df45a5a54f08f30e9bb371d55ac9dfa315a3183893da2c0865c46fd7d815627
|
data/HyakuninIssyu.gemspec
CHANGED
data/README.md
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# HyakuninIssyu
|
|
2
2
|
[](https://travis-ci.org/Tomomichi/HyakuninIssyu)
|
|
3
3
|
[](https://gemnasium.com/Tomomichi/HyakuninIssyu)
|
|
4
|
-
[](https://coveralls.io/r/Tomomichi/HyakuninIssyu?branch=master)
|
|
5
4
|
|
|
6
5
|
"HyakuninIssyu" is a Gem for installing poems and poets info of Hyakunin-Issyu, 100 poems by 100 poets into your apps.
|
|
7
6
|
You can take any poems of Hyakunin-Issyu, poets info and a commentary on it, in addition to the feature to take the first or last half of the poem.
|
|
@@ -25,51 +24,69 @@ Or install it yourself as:
|
|
|
25
24
|
$ gem install HyakuninIssyu
|
|
26
25
|
|
|
27
26
|
## Usage
|
|
28
|
-
|
|
29
|
-
make the instance of HyakuninIssyu class with its poem id first.
|
|
27
|
+
First, you need to make the instance of HyakuninIssyu class.
|
|
30
28
|
|
|
31
|
-
data = HyakuninIssyu.new
|
|
29
|
+
data = HyakuninIssyu.new
|
|
32
30
|
|
|
33
|
-
|
|
31
|
+
Then use this to retrieve poem and poet data.
|
|
34
32
|
|
|
35
33
|
###Poem Info | 歌情報の取得
|
|
36
|
-
|
|
34
|
+
When retrieving the 64th poem (it's one of my favourite), what you can do is:
|
|
37
35
|
|
|
38
|
-
|
|
39
|
-
data.poem.kana #=> "あさぼらけうじのかわぎりたえだえに あらはれわたるせぜのあじろぎ"
|
|
40
|
-
data.poem.en #=> "In the early dawn When the mists on Uji River Slowly lift and clear, From the shallows to the deep, The stakes of fishing nets appear."
|
|
36
|
+
poem_data = data.poem(64)
|
|
41
37
|
|
|
38
|
+
poem_data.kanji #=> "朝ぼらけ 宇治の川霧 たえだえに あらはれわたる 瀬々の網代木"
|
|
39
|
+
poem_data.kana #=> "あさぼらけうじのかわぎりたえだえに あらはれわたるせぜのあじろぎ"
|
|
40
|
+
poem_data.en #=> "In the early dawn When the mists on Uji River Slowly lift and clear, From the shallows to the deep, The stakes of fishing nets appear."
|
|
42
41
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
poem_data.first.kanji #=> "朝ぼらけ宇治の川霧たえだえに"
|
|
43
|
+
poem_data.first.kana #=> "あさぼらけうじのかわぎりたえだえに"
|
|
44
|
+
poem_data.first.en #=> "In the early dawn When the mists on Uji River Slowly lift and clear,"
|
|
46
45
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
poem_data.last.kanji #=> "あらはれわたる瀬々の網代木"
|
|
47
|
+
poem_data.last.kana #=> "あらはれわたるせぜのあじろぎ"
|
|
48
|
+
poem_data.last.en #=> "From the shallows to the deep, The stakes of fishing nets appear."
|
|
50
49
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
data.poem.list #=> ["秋の田の かりほの庵の 苫をあらみ わが衣手は 露にぬれつつ", "春過ぎて..."]
|
|
54
|
-
|
|
55
|
-
"list" method returns all the poem data in array.
|
|
50
|
+
poem_data.comment #=> "「朝ぼらけ」は夜明けであたりがほのぼのと明るくなってくる頃..."
|
|
56
51
|
|
|
57
52
|
###Poet Info | 歌人情報の取得
|
|
58
53
|
To retrieve the poet info for the same poem,
|
|
59
54
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
55
|
+
poet_data = data.poet(64)
|
|
56
|
+
|
|
57
|
+
poet_data.name.ja #=> "権中納言定頼"
|
|
58
|
+
poet_data.name.en #=> "Fujiwara no Sadayori"
|
|
59
|
+
poet_data.period #=> "995-1045"
|
|
60
|
+
poet_data.info #=> "本名は藤原定頼(ふじわらの さだより)。平安時代中期の公家・歌人..."
|
|
61
|
+
|
|
62
|
+
poet_data.male? #=> true
|
|
63
|
+
poet_data.female? #=> false
|
|
64
|
+
poet_data.monk? #=> false
|
|
65
|
+
poet_data.semimaru? #=> false
|
|
66
|
+
|
|
67
|
+
###List of poems and poets | データをまとめて扱うとき
|
|
68
|
+
If you want to list the poems and poets, you can use "poems" and "poets" method to retrieve the raw data of them.
|
|
69
|
+
|
|
70
|
+
data.poems #=>[{"id"=>1, "poem"=>{"kanji"=>"秋の田の..", ...}}, {"id"=>2, "poem"=>{"kanji"=>"..."}}, ...]
|
|
71
|
+
data.poets #=>[{"id"=>1, "name"=>{"ja"=>"天智天皇", ...}}, {"id"=>2, "name"=>{"kanji"=>"..."}}, ...]
|
|
72
|
+
|
|
73
|
+
Use these to retrieve many poems and poets at the same time.
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
##Use image files of the cards
|
|
77
|
+
Image files of the Hyakunin-Issyu cards are installed in this gem.
|
|
78
|
+
If you wanna use these, it's better to copy them to your project directory.
|
|
79
|
+
|
|
80
|
+
The rake task for this is set. Just run the following:
|
|
81
|
+
|
|
82
|
+
rake HyakuninIssyu:install_img['IMG_PATH']
|
|
83
|
+
|
|
84
|
+
then "hyakunin-issyu" directory will be created under your IMG_PATH, and
|
|
85
|
+
all the images will be copied there.
|
|
64
86
|
|
|
65
|
-
data.poet.male? #=> true
|
|
66
|
-
data.poet.female? #=> false
|
|
67
|
-
data.poet.monk? #=> false
|
|
68
|
-
data.poet.semimaru? #=> false
|
|
69
87
|
|
|
70
|
-
|
|
88
|
+
**All the images used in this gem are from Wikipedia and they're under the public license.
|
|
71
89
|
|
|
72
|
-
"list" method returns all the poet names in array.
|
|
73
90
|
|
|
74
91
|
## Contributing
|
|
75
92
|
|
data/Rakefile
CHANGED
|
File without changes
|
|
File without changes
|
data/assets/img/001.jpg
ADDED
|
Binary file
|
data/assets/img/002.jpg
ADDED
|
Binary file
|
data/assets/img/003.jpg
ADDED
|
Binary file
|
data/assets/img/004.jpg
ADDED
|
Binary file
|
data/assets/img/005.jpg
ADDED
|
Binary file
|
data/assets/img/006.jpg
ADDED
|
Binary file
|
data/assets/img/007.jpg
ADDED
|
Binary file
|
data/assets/img/008.jpg
ADDED
|
Binary file
|
data/assets/img/009.jpg
ADDED
|
Binary file
|
data/assets/img/010.jpg
ADDED
|
Binary file
|
data/assets/img/011.jpg
ADDED
|
Binary file
|
data/assets/img/012.jpg
ADDED
|
Binary file
|
data/assets/img/013.jpg
ADDED
|
Binary file
|
data/assets/img/014.jpg
ADDED
|
Binary file
|
data/assets/img/015.jpg
ADDED
|
Binary file
|
data/assets/img/016.jpg
ADDED
|
Binary file
|
data/assets/img/017.jpg
ADDED
|
Binary file
|
data/assets/img/018.jpg
ADDED
|
Binary file
|
data/assets/img/019.jpg
ADDED
|
Binary file
|
data/assets/img/020.jpg
ADDED
|
Binary file
|
data/assets/img/021.jpg
ADDED
|
Binary file
|
data/assets/img/022.jpg
ADDED
|
Binary file
|
data/assets/img/023.jpg
ADDED
|
Binary file
|
data/assets/img/024.jpg
ADDED
|
Binary file
|
data/assets/img/025.jpg
ADDED
|
Binary file
|
data/assets/img/026.jpg
ADDED
|
Binary file
|
data/assets/img/027.jpg
ADDED
|
Binary file
|
data/assets/img/028.jpg
ADDED
|
Binary file
|
data/assets/img/029.jpg
ADDED
|
Binary file
|
data/assets/img/030.jpg
ADDED
|
Binary file
|
data/assets/img/031.jpg
ADDED
|
Binary file
|
data/assets/img/032.jpg
ADDED
|
Binary file
|
data/assets/img/033.jpg
ADDED
|
Binary file
|
data/assets/img/034.jpg
ADDED
|
Binary file
|
data/assets/img/035.jpg
ADDED
|
Binary file
|
data/assets/img/036.jpg
ADDED
|
Binary file
|
data/assets/img/037.jpg
ADDED
|
Binary file
|
data/assets/img/038.jpg
ADDED
|
Binary file
|
data/assets/img/039.jpg
ADDED
|
Binary file
|
data/assets/img/040.jpg
ADDED
|
Binary file
|
data/assets/img/041.jpg
ADDED
|
Binary file
|
data/assets/img/042.jpg
ADDED
|
Binary file
|
data/assets/img/043.jpg
ADDED
|
Binary file
|
data/assets/img/044.jpg
ADDED
|
Binary file
|
data/assets/img/045.jpg
ADDED
|
Binary file
|
data/assets/img/046.jpg
ADDED
|
Binary file
|
data/assets/img/047.jpg
ADDED
|
Binary file
|
data/assets/img/048.jpg
ADDED
|
Binary file
|
data/assets/img/049.jpg
ADDED
|
Binary file
|
data/assets/img/050.jpg
ADDED
|
Binary file
|
data/assets/img/051.jpg
ADDED
|
Binary file
|
data/assets/img/052.jpg
ADDED
|
Binary file
|
data/assets/img/053.jpg
ADDED
|
Binary file
|
data/assets/img/054.jpg
ADDED
|
Binary file
|
data/assets/img/055.jpg
ADDED
|
Binary file
|
data/assets/img/056.jpg
ADDED
|
Binary file
|
data/assets/img/057.jpg
ADDED
|
Binary file
|
data/assets/img/058.jpg
ADDED
|
Binary file
|
data/assets/img/059.jpg
ADDED
|
Binary file
|
data/assets/img/060.jpg
ADDED
|
Binary file
|
data/assets/img/061.jpg
ADDED
|
Binary file
|
data/assets/img/062.jpg
ADDED
|
Binary file
|
data/assets/img/063.jpg
ADDED
|
Binary file
|
data/assets/img/064.jpg
ADDED
|
Binary file
|
data/assets/img/065.jpg
ADDED
|
Binary file
|
data/assets/img/066.jpg
ADDED
|
Binary file
|
data/assets/img/067.jpg
ADDED
|
Binary file
|
data/assets/img/068.jpg
ADDED
|
Binary file
|
data/assets/img/069.jpg
ADDED
|
Binary file
|
data/assets/img/070.jpg
ADDED
|
Binary file
|
data/assets/img/071.jpg
ADDED
|
Binary file
|
data/assets/img/072.jpg
ADDED
|
Binary file
|
data/assets/img/073.jpg
ADDED
|
Binary file
|
data/assets/img/074.jpg
ADDED
|
Binary file
|
data/assets/img/075.jpg
ADDED
|
Binary file
|
data/assets/img/076.jpg
ADDED
|
Binary file
|
data/assets/img/077.jpg
ADDED
|
Binary file
|
data/assets/img/078.jpg
ADDED
|
Binary file
|
data/assets/img/079.jpg
ADDED
|
Binary file
|
data/assets/img/080.jpg
ADDED
|
Binary file
|
data/assets/img/081.jpg
ADDED
|
Binary file
|
data/assets/img/082.jpg
ADDED
|
Binary file
|
data/assets/img/083.jpg
ADDED
|
Binary file
|
data/assets/img/084.jpg
ADDED
|
Binary file
|
data/assets/img/085.jpg
ADDED
|
Binary file
|
data/assets/img/086.jpg
ADDED
|
Binary file
|
data/assets/img/087.jpg
ADDED
|
Binary file
|
data/assets/img/088.jpg
ADDED
|
Binary file
|
data/assets/img/089.jpg
ADDED
|
Binary file
|
data/assets/img/090.jpg
ADDED
|
Binary file
|
data/assets/img/091.jpg
ADDED
|
Binary file
|
data/assets/img/092.jpg
ADDED
|
Binary file
|
data/assets/img/093.jpg
ADDED
|
Binary file
|
data/assets/img/094.jpg
ADDED
|
Binary file
|
data/assets/img/095.jpg
ADDED
|
Binary file
|
data/assets/img/096.jpg
ADDED
|
Binary file
|
data/assets/img/097.jpg
ADDED
|
Binary file
|
data/assets/img/098.jpg
ADDED
|
Binary file
|
data/assets/img/099.jpg
ADDED
|
Binary file
|
data/assets/img/100.jpg
ADDED
|
Binary file
|
data/lib/HyakuninIssyu.rb
CHANGED
|
@@ -2,38 +2,42 @@ require "HyakuninIssyu/version"
|
|
|
2
2
|
require "yaml"
|
|
3
3
|
|
|
4
4
|
class HyakuninIssyu
|
|
5
|
-
def initialize
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
@poet = Poet.new(id)
|
|
5
|
+
def initialize
|
|
6
|
+
@@poems = YAML.load_file(File.expand_path(File.join('..', '..', 'assets', 'data', 'poems.yml'), __FILE__))
|
|
7
|
+
@@poets = YAML.load_file(File.expand_path(File.join('..', '..', 'assets', 'data', 'poets.yml'), __FILE__))
|
|
9
8
|
end
|
|
10
9
|
|
|
11
|
-
def
|
|
12
|
-
|
|
10
|
+
def self.img_path
|
|
11
|
+
File.expand_path("../../assets/img", __FILE__)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def poem(id=nil)
|
|
15
|
+
return false if id.nil? || id<1 || id>100
|
|
16
|
+
poem = Poem.new(id)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def poet(id=nil)
|
|
20
|
+
return false if id.nil? || id<1 || id>100
|
|
21
|
+
poet = Poet.new(id)
|
|
13
22
|
end
|
|
14
23
|
|
|
15
|
-
def
|
|
16
|
-
|
|
24
|
+
def poems
|
|
25
|
+
@@poems
|
|
17
26
|
end
|
|
18
27
|
|
|
19
|
-
|
|
28
|
+
def poets
|
|
29
|
+
@@poets
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
class Poem < self
|
|
20
33
|
def initialize(id)
|
|
21
|
-
@
|
|
22
|
-
@poem = @poems[id-1]
|
|
34
|
+
@poem = @@poems[id-1]
|
|
23
35
|
end
|
|
24
36
|
|
|
25
37
|
def id
|
|
26
38
|
@poem['id']
|
|
27
39
|
end
|
|
28
40
|
|
|
29
|
-
def list
|
|
30
|
-
list = Array.new
|
|
31
|
-
for i in 0..99
|
|
32
|
-
list << @poems[i]['poem']['kanji']
|
|
33
|
-
end
|
|
34
|
-
return list
|
|
35
|
-
end
|
|
36
|
-
|
|
37
41
|
def kana
|
|
38
42
|
@poem["poem"]["kana"]
|
|
39
43
|
end
|
|
@@ -115,24 +119,15 @@ class HyakuninIssyu
|
|
|
115
119
|
end
|
|
116
120
|
end
|
|
117
121
|
|
|
118
|
-
class Poet
|
|
122
|
+
class Poet < self
|
|
119
123
|
def initialize(id)
|
|
120
|
-
@
|
|
121
|
-
@poet = @poets[id-1]
|
|
124
|
+
@poet = @@poets[id-1]
|
|
122
125
|
end
|
|
123
126
|
|
|
124
127
|
def id
|
|
125
128
|
@poet['id']
|
|
126
129
|
end
|
|
127
130
|
|
|
128
|
-
def list
|
|
129
|
-
list = Array.new
|
|
130
|
-
for i in 0..99
|
|
131
|
-
list << @poets[i]['name']['ja']
|
|
132
|
-
end
|
|
133
|
-
return list
|
|
134
|
-
end
|
|
135
|
-
|
|
136
131
|
def name
|
|
137
132
|
Name.new(@poet)
|
|
138
133
|
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
namespace :HyakuninIssyu do
|
|
2
|
+
desc "Copy card images to target directory"
|
|
3
|
+
task :install_img, 'install_dir'
|
|
4
|
+
task :install_img do |t, args|
|
|
5
|
+
require 'HyakuninIssyu'
|
|
6
|
+
|
|
7
|
+
mkdir_p "#{args['install_dir']}/hyakunin-issyu"
|
|
8
|
+
Dir["#{HyakuninIssyu.img_path}/*.jpg"].each do |src|
|
|
9
|
+
cp src, "#{args['install_dir']}/hyakunin-issyu/"
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
data/spec/hyakuninissyu_spec.rb
CHANGED
|
@@ -1,256 +1,232 @@
|
|
|
1
1
|
require "spec_helper.rb"
|
|
2
2
|
|
|
3
3
|
describe HyakuninIssyu do
|
|
4
|
+
before { @data = HyakuninIssyu.new }
|
|
4
5
|
describe 'Poem' do
|
|
5
|
-
before { @poems = YAML.load_file(File.expand_path(File.join('..', '..', '
|
|
6
|
+
before { @poems = YAML.load_file(File.expand_path(File.join('..', '..', 'assets', 'data', 'poems.yml'), __FILE__)) }
|
|
6
7
|
|
|
7
8
|
describe '#id?' do
|
|
8
9
|
context 'when provided proper id' do
|
|
9
|
-
before { @poem =
|
|
10
|
+
before { @poem = @data.poem(3) }
|
|
10
11
|
it {
|
|
11
|
-
@poem.
|
|
12
|
+
@poem.id.should be_true
|
|
12
13
|
}
|
|
13
14
|
end
|
|
14
15
|
|
|
15
16
|
context 'when provided unproper id' do
|
|
16
|
-
before { @poem =
|
|
17
|
+
before { @poem = @data.poem(101) }
|
|
17
18
|
it {
|
|
18
|
-
@poem.
|
|
19
|
+
@poem.should be_false
|
|
19
20
|
}
|
|
20
21
|
end
|
|
21
22
|
|
|
22
23
|
context 'when provided no id' do
|
|
23
|
-
before { @poem =
|
|
24
|
+
before { @poem = @data.poem }
|
|
24
25
|
it {
|
|
25
|
-
@poem.
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
it {
|
|
29
|
-
@poem.poem.id.should eq(1)
|
|
26
|
+
@poem.should be_false
|
|
30
27
|
}
|
|
31
28
|
end
|
|
32
29
|
end
|
|
33
30
|
|
|
34
|
-
|
|
35
|
-
before { @poem =
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
before { @poem = HyakuninIssyu.new(10) }
|
|
119
|
-
it {
|
|
120
|
-
@poem.poem.last.kanji.should include_kanji
|
|
121
|
-
}
|
|
122
|
-
end
|
|
123
|
-
|
|
124
|
-
describe '#en' do
|
|
125
|
-
before { @poem = HyakuninIssyu.new(10) }
|
|
126
|
-
it {
|
|
127
|
-
@poem.poem.last.en.should be_english
|
|
128
|
-
}
|
|
31
|
+
context 'with proper poem data' do
|
|
32
|
+
before { @poem = @data.poem(10) }
|
|
33
|
+
|
|
34
|
+
context 'when showing full part' do
|
|
35
|
+
describe '#kana' do
|
|
36
|
+
it {
|
|
37
|
+
@poem.kana.should include_kana
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
it {
|
|
41
|
+
@poem.kana.split(//u).size.should eq(32)
|
|
42
|
+
}
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
describe '#kanji' do
|
|
46
|
+
it {
|
|
47
|
+
@poem.kanji.should include_kanji
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
it {
|
|
51
|
+
@poem.kanji.split(/ /).size.should eq(5)
|
|
52
|
+
}
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
describe '#en' do
|
|
56
|
+
it {
|
|
57
|
+
@poem.en.should be_english
|
|
58
|
+
}
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
describe '#comment' do
|
|
62
|
+
it {
|
|
63
|
+
@poem.comment.should include_kanji
|
|
64
|
+
}
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
context 'when showing the first part' do
|
|
70
|
+
describe '#kana' do
|
|
71
|
+
it {
|
|
72
|
+
@poem.first.kana.should include_kana
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
it {
|
|
76
|
+
@poem.first.kana.split(//u).size.should eq(17)
|
|
77
|
+
}
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
describe '#kanji' do
|
|
81
|
+
it {
|
|
82
|
+
@poem.first.kanji.should include_kanji
|
|
83
|
+
}
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
describe '#en' do
|
|
87
|
+
it {
|
|
88
|
+
@poem.first.en.should be_english
|
|
89
|
+
}
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
context 'when showing the last part' do
|
|
94
|
+
describe '#kana' do
|
|
95
|
+
it {
|
|
96
|
+
@poem.last.kana.should include_kana
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
it {
|
|
100
|
+
@poem.last.kana.split(//u).size.should eq(14)
|
|
101
|
+
}
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
describe '#kanji' do
|
|
105
|
+
it {
|
|
106
|
+
@poem.last.kanji.should include_kanji
|
|
107
|
+
}
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
describe '#en' do
|
|
111
|
+
it {
|
|
112
|
+
@poem.last.en.should be_english
|
|
113
|
+
}
|
|
114
|
+
end
|
|
129
115
|
end
|
|
130
116
|
end
|
|
131
117
|
end
|
|
132
118
|
|
|
133
119
|
describe 'Poet' do
|
|
134
|
-
before { @poets = YAML.load_file(File.expand_path(File.join('..', '..', '
|
|
120
|
+
before { @poets = YAML.load_file(File.expand_path(File.join('..', '..', 'assets', 'data', 'poets.yml'), __FILE__)) }
|
|
135
121
|
|
|
136
122
|
describe '#id?' do
|
|
137
123
|
context 'when provided proper id' do
|
|
138
|
-
before { @poet =
|
|
124
|
+
before { @poet = @data.poet(3) }
|
|
139
125
|
it {
|
|
140
|
-
@poet.
|
|
126
|
+
@poet.id.should be_true
|
|
141
127
|
}
|
|
142
128
|
end
|
|
143
129
|
|
|
144
130
|
context 'when provided unproper id' do
|
|
145
|
-
before { @poet =
|
|
131
|
+
before { @poet = @data.poet(101) }
|
|
146
132
|
it {
|
|
147
|
-
@poet.
|
|
133
|
+
@poet.should be_false
|
|
148
134
|
}
|
|
149
135
|
end
|
|
150
136
|
|
|
151
137
|
context 'when provided no id' do
|
|
152
|
-
before { @poet =
|
|
153
|
-
it {
|
|
154
|
-
@poet.poet.id.should be_true
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
it {
|
|
158
|
-
@poet.poet.id.should eq(1)
|
|
159
|
-
}
|
|
160
|
-
end
|
|
161
|
-
end
|
|
162
|
-
|
|
163
|
-
describe '#list' do
|
|
164
|
-
before { @poet = HyakuninIssyu.new }
|
|
165
|
-
it {
|
|
166
|
-
@poet.poet.list.should have(100).items
|
|
167
|
-
}
|
|
168
|
-
end
|
|
169
|
-
|
|
170
|
-
describe '#name' do
|
|
171
|
-
before { @poet = HyakuninIssyu.new }
|
|
172
|
-
|
|
173
|
-
describe '#ja' do
|
|
174
|
-
it {
|
|
175
|
-
@poet.poet.name.ja.should include_kanji
|
|
176
|
-
}
|
|
177
|
-
end
|
|
178
|
-
|
|
179
|
-
describe '#en' do
|
|
180
|
-
it {
|
|
181
|
-
@poet.poet.name.en.should be_english
|
|
182
|
-
}
|
|
183
|
-
end
|
|
184
|
-
end
|
|
185
|
-
|
|
186
|
-
describe '#period' do
|
|
187
|
-
before { @poet = HyakuninIssyu.new }
|
|
188
|
-
it {
|
|
189
|
-
@poet.poet.period.should match(/-/)
|
|
190
|
-
}
|
|
191
|
-
end
|
|
192
|
-
|
|
193
|
-
describe '#male?' do
|
|
194
|
-
context 'when poet is male' do
|
|
195
|
-
before { @poet = HyakuninIssyu.new(1) }
|
|
196
|
-
it {
|
|
197
|
-
@poet.poet.male?.should be_true
|
|
198
|
-
}
|
|
199
|
-
end
|
|
200
|
-
|
|
201
|
-
context 'when poet is female' do
|
|
202
|
-
before { @poet = HyakuninIssyu.new(2) }
|
|
203
|
-
it {
|
|
204
|
-
@poet.poet.male?.should be_false
|
|
205
|
-
}
|
|
206
|
-
end
|
|
207
|
-
end
|
|
208
|
-
|
|
209
|
-
describe '#female?' do
|
|
210
|
-
context 'when poet is male' do
|
|
211
|
-
before { @poet = HyakuninIssyu.new(1) }
|
|
138
|
+
before { @poet = @data.poet }
|
|
212
139
|
it {
|
|
213
|
-
@poet.
|
|
214
|
-
}
|
|
215
|
-
end
|
|
216
|
-
|
|
217
|
-
context 'when poet is female' do
|
|
218
|
-
before { @poet = HyakuninIssyu.new(2) }
|
|
219
|
-
it {
|
|
220
|
-
@poet.poet.female?.should be_true
|
|
140
|
+
@poet.should be_false
|
|
221
141
|
}
|
|
222
142
|
end
|
|
223
143
|
end
|
|
224
144
|
|
|
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
|
-
|
|
145
|
+
context 'with proper poet data' do
|
|
146
|
+
before { @poet = @data.poet(10) }
|
|
147
|
+
|
|
148
|
+
describe '#name' do
|
|
149
|
+
describe '#ja' do
|
|
150
|
+
it {
|
|
151
|
+
@poet.name.ja.should include_kanji
|
|
152
|
+
}
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
describe '#en' do
|
|
156
|
+
it {
|
|
157
|
+
@poet.name.en.should be_english
|
|
158
|
+
}
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
describe '#period' do
|
|
163
|
+
it {
|
|
164
|
+
@poet.period.should match(/-/)
|
|
165
|
+
}
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
describe '#male?' do
|
|
169
|
+
context 'when poet is male' do
|
|
170
|
+
before { @poet = @data.poet(1) }
|
|
171
|
+
it {
|
|
172
|
+
@poet.male?.should be_true
|
|
173
|
+
}
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
context 'when poet is female' do
|
|
177
|
+
before { @poet = @data.poet(2) }
|
|
178
|
+
it {
|
|
179
|
+
@poet.male?.should be_false
|
|
180
|
+
}
|
|
181
|
+
end
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
describe '#female?' do
|
|
185
|
+
context 'when poet is male' do
|
|
186
|
+
before { @poet = @data.poet(1) }
|
|
187
|
+
it {
|
|
188
|
+
@poet.female?.should be_false
|
|
189
|
+
}
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
context 'when poet is female' do
|
|
193
|
+
before { @poet = @data.poet(2) }
|
|
194
|
+
it {
|
|
195
|
+
@poet.female?.should be_true
|
|
196
|
+
}
|
|
197
|
+
end
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
describe '#monk?' do
|
|
201
|
+
context 'when poet is monk' do
|
|
202
|
+
before { @poet = @data.poet(8) }
|
|
203
|
+
it {
|
|
204
|
+
@poet.monk?.should be_true
|
|
205
|
+
}
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
context 'when poet is not monk' do
|
|
209
|
+
before { @poet = @data.poet(1) }
|
|
210
|
+
it {
|
|
211
|
+
@poet.monk?.should be_false
|
|
212
|
+
}
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
describe '#semimaru?' do
|
|
217
|
+
context 'when poet is semimaru' do
|
|
218
|
+
before { @poet = @data.poet(10) }
|
|
219
|
+
it {
|
|
220
|
+
@poet.semimaru?.should be_true
|
|
221
|
+
}
|
|
222
|
+
end
|
|
223
|
+
|
|
224
|
+
context 'when poet is not semimaru' do
|
|
225
|
+
before { @poet = @data.poet(1) }
|
|
226
|
+
it {
|
|
227
|
+
@poet.semimaru?.should be_false
|
|
228
|
+
}
|
|
229
|
+
end
|
|
254
230
|
end
|
|
255
231
|
end
|
|
256
232
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: HyakuninIssyu
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.7.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- tomomichi
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2013-
|
|
11
|
+
date: 2013-09-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -66,20 +66,6 @@ dependencies:
|
|
|
66
66
|
- - '>='
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '0'
|
|
69
|
-
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: coveralls
|
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
|
72
|
-
requirements:
|
|
73
|
-
- - '>='
|
|
74
|
-
- !ruby/object:Gem::Version
|
|
75
|
-
version: '0'
|
|
76
|
-
type: :development
|
|
77
|
-
prerelease: false
|
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
-
requirements:
|
|
80
|
-
- - '>='
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: '0'
|
|
83
69
|
description: This Gem offer all the information about Hyakunin-issyu, the One Hundred
|
|
84
70
|
Poems by One Hundred Poets.
|
|
85
71
|
email:
|
|
@@ -96,10 +82,111 @@ files:
|
|
|
96
82
|
- LICENSE.txt
|
|
97
83
|
- README.md
|
|
98
84
|
- Rakefile
|
|
85
|
+
- assets/data/poems.yml
|
|
86
|
+
- assets/data/poets.yml
|
|
87
|
+
- assets/img/001.jpg
|
|
88
|
+
- assets/img/002.jpg
|
|
89
|
+
- assets/img/003.jpg
|
|
90
|
+
- assets/img/004.jpg
|
|
91
|
+
- assets/img/005.jpg
|
|
92
|
+
- assets/img/006.jpg
|
|
93
|
+
- assets/img/007.jpg
|
|
94
|
+
- assets/img/008.jpg
|
|
95
|
+
- assets/img/009.jpg
|
|
96
|
+
- assets/img/010.jpg
|
|
97
|
+
- assets/img/011.jpg
|
|
98
|
+
- assets/img/012.jpg
|
|
99
|
+
- assets/img/013.jpg
|
|
100
|
+
- assets/img/014.jpg
|
|
101
|
+
- assets/img/015.jpg
|
|
102
|
+
- assets/img/016.jpg
|
|
103
|
+
- assets/img/017.jpg
|
|
104
|
+
- assets/img/018.jpg
|
|
105
|
+
- assets/img/019.jpg
|
|
106
|
+
- assets/img/020.jpg
|
|
107
|
+
- assets/img/021.jpg
|
|
108
|
+
- assets/img/022.jpg
|
|
109
|
+
- assets/img/023.jpg
|
|
110
|
+
- assets/img/024.jpg
|
|
111
|
+
- assets/img/025.jpg
|
|
112
|
+
- assets/img/026.jpg
|
|
113
|
+
- assets/img/027.jpg
|
|
114
|
+
- assets/img/028.jpg
|
|
115
|
+
- assets/img/029.jpg
|
|
116
|
+
- assets/img/030.jpg
|
|
117
|
+
- assets/img/031.jpg
|
|
118
|
+
- assets/img/032.jpg
|
|
119
|
+
- assets/img/033.jpg
|
|
120
|
+
- assets/img/034.jpg
|
|
121
|
+
- assets/img/035.jpg
|
|
122
|
+
- assets/img/036.jpg
|
|
123
|
+
- assets/img/037.jpg
|
|
124
|
+
- assets/img/038.jpg
|
|
125
|
+
- assets/img/039.jpg
|
|
126
|
+
- assets/img/040.jpg
|
|
127
|
+
- assets/img/041.jpg
|
|
128
|
+
- assets/img/042.jpg
|
|
129
|
+
- assets/img/043.jpg
|
|
130
|
+
- assets/img/044.jpg
|
|
131
|
+
- assets/img/045.jpg
|
|
132
|
+
- assets/img/046.jpg
|
|
133
|
+
- assets/img/047.jpg
|
|
134
|
+
- assets/img/048.jpg
|
|
135
|
+
- assets/img/049.jpg
|
|
136
|
+
- assets/img/050.jpg
|
|
137
|
+
- assets/img/051.jpg
|
|
138
|
+
- assets/img/052.jpg
|
|
139
|
+
- assets/img/053.jpg
|
|
140
|
+
- assets/img/054.jpg
|
|
141
|
+
- assets/img/055.jpg
|
|
142
|
+
- assets/img/056.jpg
|
|
143
|
+
- assets/img/057.jpg
|
|
144
|
+
- assets/img/058.jpg
|
|
145
|
+
- assets/img/059.jpg
|
|
146
|
+
- assets/img/060.jpg
|
|
147
|
+
- assets/img/061.jpg
|
|
148
|
+
- assets/img/062.jpg
|
|
149
|
+
- assets/img/063.jpg
|
|
150
|
+
- assets/img/064.jpg
|
|
151
|
+
- assets/img/065.jpg
|
|
152
|
+
- assets/img/066.jpg
|
|
153
|
+
- assets/img/067.jpg
|
|
154
|
+
- assets/img/068.jpg
|
|
155
|
+
- assets/img/069.jpg
|
|
156
|
+
- assets/img/070.jpg
|
|
157
|
+
- assets/img/071.jpg
|
|
158
|
+
- assets/img/072.jpg
|
|
159
|
+
- assets/img/073.jpg
|
|
160
|
+
- assets/img/074.jpg
|
|
161
|
+
- assets/img/075.jpg
|
|
162
|
+
- assets/img/076.jpg
|
|
163
|
+
- assets/img/077.jpg
|
|
164
|
+
- assets/img/078.jpg
|
|
165
|
+
- assets/img/079.jpg
|
|
166
|
+
- assets/img/080.jpg
|
|
167
|
+
- assets/img/081.jpg
|
|
168
|
+
- assets/img/082.jpg
|
|
169
|
+
- assets/img/083.jpg
|
|
170
|
+
- assets/img/084.jpg
|
|
171
|
+
- assets/img/085.jpg
|
|
172
|
+
- assets/img/086.jpg
|
|
173
|
+
- assets/img/087.jpg
|
|
174
|
+
- assets/img/088.jpg
|
|
175
|
+
- assets/img/089.jpg
|
|
176
|
+
- assets/img/090.jpg
|
|
177
|
+
- assets/img/091.jpg
|
|
178
|
+
- assets/img/092.jpg
|
|
179
|
+
- assets/img/093.jpg
|
|
180
|
+
- assets/img/094.jpg
|
|
181
|
+
- assets/img/095.jpg
|
|
182
|
+
- assets/img/096.jpg
|
|
183
|
+
- assets/img/097.jpg
|
|
184
|
+
- assets/img/098.jpg
|
|
185
|
+
- assets/img/099.jpg
|
|
186
|
+
- assets/img/100.jpg
|
|
99
187
|
- lib/HyakuninIssyu.rb
|
|
100
188
|
- lib/HyakuninIssyu/version.rb
|
|
101
|
-
- lib/
|
|
102
|
-
- lib/data/poets.yml
|
|
189
|
+
- lib/tasks/install_asset.rake
|
|
103
190
|
- spec/hyakuninissyu_spec.rb
|
|
104
191
|
- spec/spec_helper.rb
|
|
105
192
|
homepage: https://github.com/Tomomichi/HyakuninIssyu
|