kunkakunka 0.0.2
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.
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE +22 -0
- data/README.md +31 -0
- data/Rakefile +2 -0
- data/kunkakunka.gemspec +17 -0
- data/lib/kunkakunka.rb +12 -0
- data/lib/kunkakunka/text.rb +119 -0
- data/lib/kunkakunka/version.rb +3 -0
- data/spec/text.rb +168 -0
- data/spec_helper.rb +2 -0
- metadata +57 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2012 YoshiyukiIeyama
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# Kunkakunka
|
2
|
+
|
3
|
+
## Installation
|
4
|
+
|
5
|
+
Add this line to your application's Gemfile:
|
6
|
+
|
7
|
+
gem 'kunkakunka'
|
8
|
+
|
9
|
+
And then execute:
|
10
|
+
|
11
|
+
$ bundle
|
12
|
+
|
13
|
+
Or install it yourself as:
|
14
|
+
|
15
|
+
$ gem install kunkakunka
|
16
|
+
|
17
|
+
## Usage
|
18
|
+
|
19
|
+
require 'kunkakunka'
|
20
|
+
|
21
|
+
Kunkakunka.do
|
22
|
+
|
23
|
+
## Contributing
|
24
|
+
|
25
|
+
Reapect to http://azunyan.sitemix.jp/kunkakunka/kunkakunka.php
|
26
|
+
|
27
|
+
1. Fork it
|
28
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
29
|
+
3. Commit your changes (`git commit -am 'Added some feature'`)
|
30
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
31
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
data/kunkakunka.gemspec
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/kunkakunka/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.authors = ["yukku0423"]
|
6
|
+
gem.email = ["yukku0423@gmail.com"]
|
7
|
+
gem.description = %q{クンカクンカ!クンカクンカ!スーハースーハー!スーハースーハー!いい匂いだなぁ…くんくん んはぁっ!}
|
8
|
+
gem.summary = %q{クンカクンカ!スーハースーハー!}
|
9
|
+
gem.homepage = ""
|
10
|
+
|
11
|
+
gem.files = `git ls-files`.split($\)
|
12
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
13
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
|
+
gem.name = "kunkakunka"
|
15
|
+
gem.require_paths = ["lib"]
|
16
|
+
gem.version = Kunkakunka::VERSION
|
17
|
+
end
|
data/lib/kunkakunka.rb
ADDED
@@ -0,0 +1,119 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
class Kunkakunka::Text
|
3
|
+
attr_accessor :name, :full_name,
|
4
|
+
:hair_color, :novel, :n_vol, :anime, :season, :comics, :c_vol, :location,
|
5
|
+
:other1, :other2, :other3, :other4, :other5,
|
6
|
+
:strip_newline
|
7
|
+
|
8
|
+
attr_reader :name_with_gasp, :name_with_space
|
9
|
+
|
10
|
+
def initialize(attributes = nil)
|
11
|
+
assign_attributes(attributes) if attributes
|
12
|
+
yield self if block_given?
|
13
|
+
end
|
14
|
+
|
15
|
+
def assign_attributes(new_attributes)
|
16
|
+
new_attributes.each do |k, v|
|
17
|
+
send("#{k.to_s}=", v) if respond_to?("#{k.to_s}=")
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def template
|
22
|
+
%q(%name%!%name%!%name%!%name_with_gasp1%わぁああああああああああああああああああああああん!!!
|
23
|
+
あぁああああ…ああ…あっあっー!あぁああああああ!!!%name%%name%%name_with_gasp2%ぁわぁああああ!!!
|
24
|
+
あぁクンカクンカ!クンカクンカ!スーハースーハー!スーハースーハー!いい匂いだなぁ…くんくん
|
25
|
+
んはぁっ!%full_name%たんの%hair_color%の髪をクンカクンカしたいお!クンカクンカ!あぁあ!!
|
26
|
+
間違えた!モフモフしたいお!モフモフ!モフモフ!髪髪モフモフ!カリカリモフモフ…きゅんきゅんきゅい!!
|
27
|
+
%novel%%n_vol%の%name%たんかわいかったよぅ!!あぁぁああ…あああ…あっあぁああああ!!ふぁぁあああんんっ!!
|
28
|
+
%anime%%season%決まって良かったね%name%たん!あぁあああああ!かわいい!%name%たん!かわいい!あっああぁああ!
|
29
|
+
%comics%%c_vol%も発売されて嬉し…いやぁああああああ!!!にゃああああああああん!!ぎゃああああああああ!!
|
30
|
+
ぐあああああああああああ!!!%comics%なんて現実じゃない!!!!あ…%novel%も%anime%もよく考えたら…
|
31
|
+
%name_with_space% ち ゃ ん は 現実 じ ゃ な い?にゃあああああああああああああん!!うぁああああああああああ!!
|
32
|
+
そんなぁああああああ!!いやぁぁぁあああああああああ!!はぁああああああん!!%location%ぁああああ!!
|
33
|
+
この!ちきしょー!やめてやる!!現実なんかやめ…て…え!?見…てる?表紙絵の%name%ちゃんが僕を見てる?
|
34
|
+
表紙絵の%name%ちゃんが僕を見てるぞ!%name%ちゃんが僕を見てるぞ!挿絵の%name%ちゃんが僕を見てるぞ!!
|
35
|
+
%anime%の%name%ちゃんが僕に話しかけてるぞ!!!よかった…世の中まだまだ捨てたモンじゃないんだねっ!
|
36
|
+
いやっほぉおおおおおおお!!!僕には%name%ちゃんがいる!!やったよ%other1%!!ひとりでできるもん!!!
|
37
|
+
あ、%comics%の%name%ちゃああああああああああああああん!!いやぁあああああああああああああああ!!!!
|
38
|
+
あっあんああっああんあ%other2%!!%other3%!!%other4%!!!%other5%!!
|
39
|
+
ううっうぅうう!!俺の想いよ%name%へ届け!!%location%の%name%へ届け!)
|
40
|
+
end
|
41
|
+
|
42
|
+
def to_s
|
43
|
+
self.name ||= 'ルイズ'
|
44
|
+
self.full_name ||= 'ルイズ・フランソワーズ'
|
45
|
+
self.hair_color ||= '桃色ブロンド'
|
46
|
+
self.novel ||= '小説'
|
47
|
+
self.n_vol ||= '11巻'
|
48
|
+
self.anime ||= 'アニメ'
|
49
|
+
self.season ||= '2期'
|
50
|
+
self.comics ||= 'コミック'
|
51
|
+
self.c_vol ||= '2巻'
|
52
|
+
self.location ||= 'ハルケギニア'
|
53
|
+
self.other1 ||= 'ケティ'
|
54
|
+
self.other2 ||= 'アン様'
|
55
|
+
self.other3 ||= 'セイバー'
|
56
|
+
self.other4 ||= 'シャナ'
|
57
|
+
self.other5 ||= 'ヴィルヘルミナ'
|
58
|
+
|
59
|
+
copypaste = self.template
|
60
|
+
.gsub(/%name%/, self.name)
|
61
|
+
.gsub(/%full_name%/, self.full_name)
|
62
|
+
.gsub(/%hair_color%/, self.hair_color)
|
63
|
+
.gsub(/%name_with_gasp1%/, Kunkakunka::Text.gaspize(self.name))
|
64
|
+
.gsub(/%name_with_gasp2%/, Kunkakunka::Text.gaspize(self.name, 1, 2))
|
65
|
+
.gsub(/%name_with_space%/, Kunkakunka::Text.emphaize(self.name))
|
66
|
+
.gsub(/%novel%/, self.novel)
|
67
|
+
.gsub(/%n_vol%/, self.n_vol)
|
68
|
+
.gsub(/%anime%/, self.anime)
|
69
|
+
.gsub(/%season%/, self.season)
|
70
|
+
.gsub(/%comics%/, self.comics)
|
71
|
+
.gsub(/%c_vol%/, self.c_vol)
|
72
|
+
.gsub(/%location%/, self.location)
|
73
|
+
.gsub(/%other1%/, self.other1)
|
74
|
+
.gsub(/%other2%/, Kunkakunka::Text.gaspize(self.other2, 1, 1))
|
75
|
+
.gsub(/%other3%/, Kunkakunka::Text.fluffize(self.other3))
|
76
|
+
.gsub(/%other4%/, Kunkakunka::Text.gaspize(self.other4, 1, 6))
|
77
|
+
.gsub(/%other5%/, Kunkakunka::Text.gaspize(self.other5, 1, 3))
|
78
|
+
|
79
|
+
self.strip_newline ? copypaste.gsub(/\n/, '') : copypaste
|
80
|
+
end
|
81
|
+
|
82
|
+
class << self
|
83
|
+
def hira_map
|
84
|
+
{
|
85
|
+
%w[あ か さ た な は ま や ら わ が ざ だ ば ぱ] => ['ぁ', 'あ'],
|
86
|
+
%w[い き し ち に ひ み い り ぎ じ ぢ び ぴ] => ['ぃ', 'い'],
|
87
|
+
%w[う く す つ ぬ ふ む ゆ る う ぐ ず づ ぶ ぷ] => ['ぅ', 'う'],
|
88
|
+
%w[え け せ て ね へ め え れ げ ぜ で べ ぺ] => ['ぇ', 'え'],
|
89
|
+
%w[お こ そ と の ほ も よ ろ を ご ぞ ど ぼ ぽ] => ['ぉ', 'お']
|
90
|
+
}
|
91
|
+
end
|
92
|
+
|
93
|
+
def kana_map
|
94
|
+
{
|
95
|
+
%w[ア カ サ タ ナ ハ マ ヤ ラ ワ ガ ザ ダ バ パ] => ['ぁ', 'あ'],
|
96
|
+
%w[イ キ シ チ ニ ヒ ミ リ ヰ ギ ジ ヂ ビ ピ] => ['ぃ', 'い'],
|
97
|
+
%w[ウ ク ス ツ ヌ フ ム ユ ル ヴ グ ズ ヅ ブ プ] => ['ぅ', 'う'],
|
98
|
+
%w[エ ケ セ テ ネ ヘ メ レ ヱ ゲ ゼ デ ベ ペ] => ['ぇ', 'え'],
|
99
|
+
%w[オ コ ソ ト ノ ホ モ ヨ ロ ヲ ゴ ゾ ド ボ ポ] => ['ぉ', 'お']
|
100
|
+
}
|
101
|
+
end
|
102
|
+
|
103
|
+
def gaspize(string, rep1 = 2, rep2 = 3)
|
104
|
+
char = string[string.length-1]
|
105
|
+
hira_map.merge(kana_map).each do |k, set|
|
106
|
+
return string + set[0]*rep1 + set[1]*rep2 if k.include?(char)
|
107
|
+
end
|
108
|
+
string + 'ぁ'*rep1 + 'あ'*rep2
|
109
|
+
end
|
110
|
+
|
111
|
+
def emphaize(string)
|
112
|
+
string.chars.map(&:to_s).join(' ')
|
113
|
+
end
|
114
|
+
|
115
|
+
def fluffize(string)
|
116
|
+
"#{string[0]}、#{string}"
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
data/spec/text.rb
ADDED
@@ -0,0 +1,168 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
require File.expand_path(File.join('../', 'spec_helper'), File.dirname(__FILE__))
|
3
|
+
|
4
|
+
# http://azunyan.sitemix.jp/kunkakunka/kunkakunka.php
|
5
|
+
describe Kunkakunka do
|
6
|
+
context '.do' do
|
7
|
+
subject { Kunkakunka.do }
|
8
|
+
|
9
|
+
it { should match /^ルイズ!ルイズ!ルイズ!ルイズぅぅうううわぁああああああああああああああああああああああん!!!/ }
|
10
|
+
it { should match /俺の想いよルイズへ届け!!ハルケギニアのルイズへ届け!$/ }
|
11
|
+
end
|
12
|
+
|
13
|
+
context '.do with params' do
|
14
|
+
subject { Kunkakunka.do(name: 'さくら', location: '友枝小学校') }
|
15
|
+
|
16
|
+
it { should match /^さくら!さくら!さくら!さくらぁぁあああわぁああああああああああああああああああああああん!!!/ }
|
17
|
+
it { should match /俺の想いよさくらへ届け!!友枝小学校のさくらへ届け!$/ }
|
18
|
+
end
|
19
|
+
|
20
|
+
context '.do' do
|
21
|
+
subject { Kunkakunka.create.to_s }
|
22
|
+
|
23
|
+
it { should match /^ルイズ!ルイズ!ルイズ!ルイズぅぅうううわぁああああああああああああああああああああああん!!!/ }
|
24
|
+
it { should match /俺の想いよルイズへ届け!!ハルケギニアのルイズへ届け!$/ }
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe Kunkakunka::Text do
|
29
|
+
context '.new with params' do
|
30
|
+
before do
|
31
|
+
@text = Kunkakunka::Text.new(
|
32
|
+
name: 'あずさ',
|
33
|
+
full_name: '中野梓',
|
34
|
+
hair_color: '黒色ストレート',
|
35
|
+
novel: '連載',
|
36
|
+
n_vol: '10月号',
|
37
|
+
anime: '映画',
|
38
|
+
season: 'けいおん!',
|
39
|
+
comics: 'マンガ',
|
40
|
+
c_vol: '4巻',
|
41
|
+
location: '桜高',
|
42
|
+
other1: 'ゆい',
|
43
|
+
other2: 'みお',
|
44
|
+
other3: 'りつ',
|
45
|
+
other4: 'むぎ',
|
46
|
+
other5: 'さわ子',
|
47
|
+
strip_newline: false
|
48
|
+
)
|
49
|
+
end
|
50
|
+
|
51
|
+
subject { @text.to_s }
|
52
|
+
|
53
|
+
it { should == %q(あずさ!あずさ!あずさ!あずさぁぁあああわぁああああああああああああああああああああああん!!!
|
54
|
+
あぁああああ…ああ…あっあっー!あぁああああああ!!!あずさあずさあずさぁああぁわぁああああ!!!
|
55
|
+
あぁクンカクンカ!クンカクンカ!スーハースーハー!スーハースーハー!いい匂いだなぁ…くんくん
|
56
|
+
んはぁっ!中野梓たんの黒色ストレートの髪をクンカクンカしたいお!クンカクンカ!あぁあ!!
|
57
|
+
間違えた!モフモフしたいお!モフモフ!モフモフ!髪髪モフモフ!カリカリモフモフ…きゅんきゅんきゅい!!
|
58
|
+
連載10月号のあずさたんかわいかったよぅ!!あぁぁああ…あああ…あっあぁああああ!!ふぁぁあああんんっ!!
|
59
|
+
映画けいおん!決まって良かったねあずさたん!あぁあああああ!かわいい!あずさたん!かわいい!あっああぁああ!
|
60
|
+
マンガ4巻も発売されて嬉し…いやぁああああああ!!!にゃああああああああん!!ぎゃああああああああ!!
|
61
|
+
ぐあああああああああああ!!!マンガなんて現実じゃない!!!!あ…連載も映画もよく考えたら…
|
62
|
+
あ ず さ ち ゃ ん は 現実 じ ゃ な い?にゃあああああああああああああん!!うぁああああああああああ!!
|
63
|
+
そんなぁああああああ!!いやぁぁぁあああああああああ!!はぁああああああん!!桜高ぁああああ!!
|
64
|
+
この!ちきしょー!やめてやる!!現実なんかやめ…て…え!?見…てる?表紙絵のあずさちゃんが僕を見てる?
|
65
|
+
表紙絵のあずさちゃんが僕を見てるぞ!あずさちゃんが僕を見てるぞ!挿絵のあずさちゃんが僕を見てるぞ!!
|
66
|
+
映画のあずさちゃんが僕に話しかけてるぞ!!!よかった…世の中まだまだ捨てたモンじゃないんだねっ!
|
67
|
+
いやっほぉおおおおおおお!!!僕にはあずさちゃんがいる!!やったよゆい!!ひとりでできるもん!!!
|
68
|
+
あ、マンガのあずさちゃああああああああああああああん!!いやぁあああああああああああああああ!!!!
|
69
|
+
あっあんああっああんあみおぉお!!り、りつ!!むぎぃいいいいいい!!!さわ子ぁあああ!!
|
70
|
+
ううっうぅうう!!俺の想いよあずさへ届け!!桜高のあずさへ届け!) }
|
71
|
+
|
72
|
+
end
|
73
|
+
|
74
|
+
context '.gaspize' do
|
75
|
+
it 'given "あかさたな".' do
|
76
|
+
Kunkakunka::Text.gaspize("あかさたな").should == 'あかさたなぁぁあああ'
|
77
|
+
end
|
78
|
+
|
79
|
+
it 'given "いきしちに".' do
|
80
|
+
Kunkakunka::Text.gaspize("いきしちに").should == 'いきしちにぃぃいいい'
|
81
|
+
end
|
82
|
+
|
83
|
+
it 'given "うくすつぬ".' do
|
84
|
+
Kunkakunka::Text.gaspize("うくすつぬ").should == 'うくすつぬぅぅううう'
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'given "えけせてね".' do
|
88
|
+
Kunkakunka::Text.gaspize("えけせてね").should == 'えけせてねぇぇえええ'
|
89
|
+
end
|
90
|
+
|
91
|
+
it 'given "おこそとの".' do
|
92
|
+
Kunkakunka::Text.gaspize("おこそとの").should == 'おこそとのぉぉおおお'
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
context '.emphaize' do
|
97
|
+
it 'given "ルイズ".' do
|
98
|
+
Kunkakunka::Text.emphaize("ルイズ").should == 'ル イ ズ'
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
describe 'when original values,' do
|
103
|
+
before do
|
104
|
+
@text = Kunkakunka::Text.new
|
105
|
+
end
|
106
|
+
|
107
|
+
context '#template' do
|
108
|
+
subject { @text.template }
|
109
|
+
|
110
|
+
it { should match /^%name%!%name%!%name%!%name_with_gasp1%/ }
|
111
|
+
end
|
112
|
+
|
113
|
+
context '#to_s' do
|
114
|
+
subject { @text.to_s }
|
115
|
+
|
116
|
+
it { should == %q(ルイズ!ルイズ!ルイズ!ルイズぅぅうううわぁああああああああああああああああああああああん!!!
|
117
|
+
あぁああああ…ああ…あっあっー!あぁああああああ!!!ルイズルイズルイズぅううぁわぁああああ!!!
|
118
|
+
あぁクンカクンカ!クンカクンカ!スーハースーハー!スーハースーハー!いい匂いだなぁ…くんくん
|
119
|
+
んはぁっ!ルイズ・フランソワーズたんの桃色ブロンドの髪をクンカクンカしたいお!クンカクンカ!あぁあ!!
|
120
|
+
間違えた!モフモフしたいお!モフモフ!モフモフ!髪髪モフモフ!カリカリモフモフ…きゅんきゅんきゅい!!
|
121
|
+
小説11巻のルイズたんかわいかったよぅ!!あぁぁああ…あああ…あっあぁああああ!!ふぁぁあああんんっ!!
|
122
|
+
アニメ2期決まって良かったねルイズたん!あぁあああああ!かわいい!ルイズたん!かわいい!あっああぁああ!
|
123
|
+
コミック2巻も発売されて嬉し…いやぁああああああ!!!にゃああああああああん!!ぎゃああああああああ!!
|
124
|
+
ぐあああああああああああ!!!コミックなんて現実じゃない!!!!あ…小説もアニメもよく考えたら…
|
125
|
+
ル イ ズ ち ゃ ん は 現実 じ ゃ な い?にゃあああああああああああああん!!うぁああああああああああ!!
|
126
|
+
そんなぁああああああ!!いやぁぁぁあああああああああ!!はぁああああああん!!ハルケギニアぁああああ!!
|
127
|
+
この!ちきしょー!やめてやる!!現実なんかやめ…て…え!?見…てる?表紙絵のルイズちゃんが僕を見てる?
|
128
|
+
表紙絵のルイズちゃんが僕を見てるぞ!ルイズちゃんが僕を見てるぞ!挿絵のルイズちゃんが僕を見てるぞ!!
|
129
|
+
アニメのルイズちゃんが僕に話しかけてるぞ!!!よかった…世の中まだまだ捨てたモンじゃないんだねっ!
|
130
|
+
いやっほぉおおおおおおお!!!僕にはルイズちゃんがいる!!やったよケティ!!ひとりでできるもん!!!
|
131
|
+
あ、コミックのルイズちゃああああああああああああああん!!いやぁあああああああああああああああ!!!!
|
132
|
+
あっあんああっああんあアン様ぁあ!!セ、セイバー!!シャナぁああああああ!!!ヴィルヘルミナぁあああ!!
|
133
|
+
ううっうぅうう!!俺の想いよルイズへ届け!!ハルケギニアのルイズへ届け!) }
|
134
|
+
it { should match /^ルイズ!ルイズ!ルイズ!ルイズぅぅうううわぁああああああああああああああああああああああん!!!/ }
|
135
|
+
it { should match /俺の想いよルイズへ届け!!ハルケギニアのルイズへ届け!$/ }
|
136
|
+
end
|
137
|
+
|
138
|
+
describe 'when with strip_newline option,' do
|
139
|
+
before do
|
140
|
+
@text = Kunkakunka::Text.new {|t|
|
141
|
+
t.strip_newline = true
|
142
|
+
}
|
143
|
+
end
|
144
|
+
|
145
|
+
context '#to_s' do
|
146
|
+
subject { @text.to_s }
|
147
|
+
|
148
|
+
it { should == %q(ルイズ!ルイズ!ルイズ!ルイズぅぅうううわぁああああああああああああああああああああああん!!!あぁああああ…ああ…あっあっー!あぁああああああ!!!ルイズルイズルイズぅううぁわぁああああ!!!あぁクンカクンカ!クンカクンカ!スーハースーハー!スーハースーハー!いい匂いだなぁ…くんくんんはぁっ!ルイズ・フランソワーズたんの桃色ブロンドの髪をクンカクンカしたいお!クンカクンカ!あぁあ!!間違えた!モフモフしたいお!モフモフ!モフモフ!髪髪モフモフ!カリカリモフモフ…きゅんきゅんきゅい!!小説11巻のルイズたんかわいかったよぅ!!あぁぁああ…あああ…あっあぁああああ!!ふぁぁあああんんっ!!アニメ2期決まって良かったねルイズたん!あぁあああああ!かわいい!ルイズたん!かわいい!あっああぁああ!コミック2巻も発売されて嬉し…いやぁああああああ!!!にゃああああああああん!!ぎゃああああああああ!!ぐあああああああああああ!!!コミックなんて現実じゃない!!!!あ…小説もアニメもよく考えたら…ル イ ズ ち ゃ ん は 現実 じ ゃ な い?にゃあああああああああああああん!!うぁああああああああああ!!そんなぁああああああ!!いやぁぁぁあああああああああ!!はぁああああああん!!ハルケギニアぁああああ!!この!ちきしょー!やめてやる!!現実なんかやめ…て…え!?見…てる?表紙絵のルイズちゃんが僕を見てる?表紙絵のルイズちゃんが僕を見てるぞ!ルイズちゃんが僕を見てるぞ!挿絵のルイズちゃんが僕を見てるぞ!!アニメのルイズちゃんが僕に話しかけてるぞ!!!よかった…世の中まだまだ捨てたモンじゃないんだねっ!いやっほぉおおおおおおお!!!僕にはルイズちゃんがいる!!やったよケティ!!ひとりでできるもん!!!あ、コミックのルイズちゃああああああああああああああん!!いやぁあああああああああああああああ!!!!あっあんああっああんあアン様ぁあ!!セ、セイバー!!シャナぁああああああ!!!ヴィルヘルミナぁあああ!!ううっうぅうう!!俺の想いよルイズへ届け!!ハルケギニアのルイズへ届け!) }
|
149
|
+
end
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
153
|
+
describe 'when custom values,' do
|
154
|
+
before do
|
155
|
+
@text = Kunkakunka::Text.new {|t|
|
156
|
+
t.name = 'あずさ'
|
157
|
+
t.location = '桜高'
|
158
|
+
}
|
159
|
+
end
|
160
|
+
|
161
|
+
context '#to_s' do
|
162
|
+
subject { @text.to_s }
|
163
|
+
|
164
|
+
it { should match /^あずさ!あずさ!あずさ!あずさぁぁあああわぁああああああああああああああああああああああん!!!/ }
|
165
|
+
it { should match /俺の想いよあずさへ届け!!桜高のあずさへ届け!$/ }
|
166
|
+
end
|
167
|
+
end
|
168
|
+
end
|
data/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: kunkakunka
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- yukku0423
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-08-18 00:00:00.000000000 Z
|
13
|
+
dependencies: []
|
14
|
+
description: クンカクンカ!クンカクンカ!スーハースーハー!スーハースーハー!いい匂いだなぁ…くんくん んはぁっ!
|
15
|
+
email:
|
16
|
+
- yukku0423@gmail.com
|
17
|
+
executables: []
|
18
|
+
extensions: []
|
19
|
+
extra_rdoc_files: []
|
20
|
+
files:
|
21
|
+
- .gitignore
|
22
|
+
- Gemfile
|
23
|
+
- LICENSE
|
24
|
+
- README.md
|
25
|
+
- Rakefile
|
26
|
+
- kunkakunka.gemspec
|
27
|
+
- lib/kunkakunka.rb
|
28
|
+
- lib/kunkakunka/text.rb
|
29
|
+
- lib/kunkakunka/version.rb
|
30
|
+
- spec/text.rb
|
31
|
+
- spec_helper.rb
|
32
|
+
homepage: ''
|
33
|
+
licenses: []
|
34
|
+
post_install_message:
|
35
|
+
rdoc_options: []
|
36
|
+
require_paths:
|
37
|
+
- lib
|
38
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
45
|
+
none: false
|
46
|
+
requirements:
|
47
|
+
- - ! '>='
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0'
|
50
|
+
requirements: []
|
51
|
+
rubyforge_project:
|
52
|
+
rubygems_version: 1.8.23
|
53
|
+
signing_key:
|
54
|
+
specification_version: 3
|
55
|
+
summary: クンカクンカ!スーハースーハー!
|
56
|
+
test_files:
|
57
|
+
- spec/text.rb
|