ikku 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/README.md +4 -2
- data/lib/ikku.rb +10 -6
- data/lib/ikku/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f2bde3418b9c17c20a73512609a82d6ece6ce596
|
4
|
+
data.tar.gz: 76ab9007031d69cd1e290b469fbfd9921379f0e4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6247ab019d5dc0cfb5196795e7091c26e0d285ec4800da4077552585e1328a38a4d64fb7cdecba68653c59235e7315da39ba79fd163e1fc0ada242bfadbbd0a0
|
7
|
+
data.tar.gz: 0019ea4cc1a6fd9dcec4ff99ec7d955e1f81ae9a418a0253743d7fef73eb2b517f6a77d97e1b6fc19752a25ad2d31fcbf37278905d21125f289e4e0040d037f4
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -31,7 +31,7 @@ reviewer.find("ああ古池や蛙飛び込む水の音ああ")
|
|
31
31
|
```
|
32
32
|
|
33
33
|
### Ikku::Reviewer#search
|
34
|
-
Search
|
34
|
+
Search all available haikus from given text.
|
35
35
|
|
36
36
|
```rb
|
37
37
|
reviewer.search("ああ古池や蛙飛び込む水の音ああ天秤や京江戸かけて千代の春ああ")
|
@@ -46,5 +46,7 @@ reviewer.search("ああ古池や蛙飛び込む水の音ああ天秤や京江戸
|
|
46
46
|
Change the rule by `rule` option (default: `[5, 7, 5]`).
|
47
47
|
|
48
48
|
```rb
|
49
|
-
reviewer.
|
49
|
+
reviewer = Ikku::Reviewer.new(rule: [4, 3, 5])
|
50
|
+
reviewer.judge("古池や蛙飛び込む水の音") #=> false
|
51
|
+
reviewer.judge("すもももももももものうち") #=> true
|
50
52
|
```
|
data/lib/ikku.rb
CHANGED
@@ -4,12 +4,16 @@ require "ikku/version"
|
|
4
4
|
|
5
5
|
module Ikku
|
6
6
|
class Reviewer
|
7
|
+
def initialize(rule: nil)
|
8
|
+
@rule = rule
|
9
|
+
end
|
10
|
+
|
7
11
|
# Find one available haiku from given text.
|
8
12
|
# @return [Array<Array>]
|
9
|
-
def find(text
|
13
|
+
def find(text)
|
10
14
|
nodes = parser.parse(text)
|
11
15
|
nodes.length.times.find do |index|
|
12
|
-
if (phrases = Scanner.new(nodes[index..-1], rule: rule).scan)
|
16
|
+
if (phrases = Scanner.new(nodes[index..-1], rule: @rule).scan)
|
13
17
|
break phrases
|
14
18
|
end
|
15
19
|
end
|
@@ -17,16 +21,16 @@ module Ikku
|
|
17
21
|
|
18
22
|
# Judge if given text is haiku or not.
|
19
23
|
# @return [true, false]
|
20
|
-
def judge(text
|
21
|
-
!Scanner.new(parser.parse(text), exactly: true, rule: rule).scan.nil?
|
24
|
+
def judge(text)
|
25
|
+
!Scanner.new(parser.parse(text), exactly: true, rule: @rule).scan.nil?
|
22
26
|
end
|
23
27
|
|
24
28
|
# Search all available haikus from given text.
|
25
29
|
# @return [Array<Array>]
|
26
|
-
def search(text
|
30
|
+
def search(text)
|
27
31
|
nodes = parser.parse(text)
|
28
32
|
nodes.length.times.map do |index|
|
29
|
-
Scanner.new(nodes[index..-1], rule: rule).scan
|
33
|
+
Scanner.new(nodes[index..-1], rule: @rule).scan
|
30
34
|
end.compact
|
31
35
|
end
|
32
36
|
|
data/lib/ikku/version.rb
CHANGED