matsuya 0.2.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +3 -1
- data/Rakefile +7 -0
- data/bin/matsuya +1 -1
- data/lib/matsuya.rb +100 -30
- data/lib/matsuya/version.rb +1 -1
- data/matsuya.gemspec +3 -3
- metadata +12 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 809ff08e57a53e69ffe7368e581b28c33127b5fa3bb1ac8df608aefefe429464
|
4
|
+
data.tar.gz: 74702d8b73494144eb422f4913d8d1e2b4f5836afc2c313061c89456afaef318
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5fedf355ad601e511313e1ab9966690630182c64ffdf9807be56fcc4d1c3f7495636e4248b664a1ccb7e1e71ed3a04557b6ff92aaa44accc6da63e102eae0612
|
7
|
+
data.tar.gz: b8a3bd2b28b8192de70b24236e55c5586b1acfacd35b97bc3dce3a0c3457f8265f6f9f25f683bebb6e1decdabdba63608ac9fc840737ac6cba2603e98c03b7a9
|
data/README.md
CHANGED
@@ -28,7 +28,7 @@ gem 'matsuya'
|
|
28
28
|
牛めし
|
29
29
|
% matsuya
|
30
30
|
めし
|
31
|
-
% matsuya 0.8
|
31
|
+
% matsuya -o 0.8
|
32
32
|
オリジナルチリソースハンバーグ定食
|
33
33
|
% matsuya
|
34
34
|
プレミアムカルビキムカル丼
|
@@ -36,6 +36,8 @@ gem 'matsuya'
|
|
36
36
|
```
|
37
37
|
キツい
|
38
38
|
|
39
|
+
コマンドラインオプションについては -h オプションをつけてくれ
|
40
|
+
|
39
41
|
### ライブラリとして
|
40
42
|
```ruby
|
41
43
|
require 'matsuya'
|
data/Rakefile
CHANGED
@@ -1,2 +1,9 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
2
|
|
3
|
+
task :graph do
|
4
|
+
require 'matsuya'
|
5
|
+
puts 'digraph matsuya {'
|
6
|
+
#puts Matsuya::Sample.map{|m| 'begin -> ' + m.pattern.join(' -> ') + ' -> end;' }.join("\n")
|
7
|
+
puts Matsuya::Sample.map{|m| [:begin, *m.pattern, :end].each_cons(2).map{|a,b| " \"#{a}\" -> \"#{b}\";" } }.flatten.uniq.join("\n")
|
8
|
+
puts '}'
|
9
|
+
end
|
data/bin/matsuya
CHANGED
@@ -11,7 +11,7 @@ OptionParser.new do |opt|
|
|
11
11
|
puts opt
|
12
12
|
exit
|
13
13
|
end
|
14
|
-
opt.on('-o', '--okano=', "
|
14
|
+
opt.on('-o', '--okano=', "出力が狂う確率(0.0-1.0 default %f)" % okano) do |value|
|
15
15
|
if value.match(/^[0-9]+(?:\.[0-9]+)?$/)
|
16
16
|
okano = value.to_f
|
17
17
|
else
|
data/lib/matsuya.rb
CHANGED
@@ -11,28 +11,66 @@ module Matsuya
|
|
11
11
|
# 牛めしのようにプレミアムとそうでないものがある場合は、プレミアムだけを書く
|
12
12
|
# オリジナルカレギュウ(プレミアム牛肉使用)も、プレミアムとして扱い、プレミアム牛肉使用と書いていないほうは書かない
|
13
13
|
Sample = Set.new([ Menu.new(%i[プレミアム 牛 めし], 380),
|
14
|
-
Menu.new(%i[プレミアム
|
15
|
-
Menu.new(%i[プレミアム おろし ポン酢
|
16
|
-
Menu.new(%i[
|
17
|
-
Menu.new(%i[
|
18
|
-
Menu.new(%i[
|
19
|
-
Menu.new(%i[
|
20
|
-
Menu.new(%i[
|
21
|
-
Menu.new(%i[
|
22
|
-
Menu.new(%i[
|
23
|
-
Menu.new(%i[
|
24
|
-
Menu.new(%i[
|
25
|
-
Menu.new(%i[
|
26
|
-
Menu.new(%i[
|
27
|
-
Menu.new(%i[
|
28
|
-
Menu.new(%i[
|
29
|
-
Menu.new(%i[
|
30
|
-
Menu.new(%i[
|
31
|
-
Menu.new(%i[
|
32
|
-
Menu.new(%i[
|
33
|
-
Menu.new(%i[
|
14
|
+
Menu.new(%i[ネギ たっぷり プレミアム 旨 辛 ネギ 玉子 牛 めし], 490),
|
15
|
+
Menu.new(%i[プレミアム おろし ポン酢 牛 めし], 480),
|
16
|
+
Menu.new(%i[味噌漬け トンテキ 牛 めし (国産玉ねぎ使用) + キムチ], 730),
|
17
|
+
Menu.new(%i[味噌漬け トンテキ 牛 めし (国産玉ねぎ使用) + 生野菜 + キムチ], 830),
|
18
|
+
Menu.new(%i[味噌漬け トンテキ 牛 めし (国産玉ねぎ使用) + とろろ], 730),
|
19
|
+
Menu.new(%i[味噌漬け トンテキ 牛 めし (国産玉ねぎ使用) + 生野菜 + とろろ], 830),
|
20
|
+
Menu.new(%i[創業 牛 カレー], 490), # 創業ビーフカレー
|
21
|
+
Menu.new(%i[創業 牛 カレー + 生野菜], 590),
|
22
|
+
Menu.new(%i[創業 プレミアム 牛 カレー 牛], 720),
|
23
|
+
Menu.new(%i[創業 牛 カレー 牛], 660),
|
24
|
+
Menu.new(%i[創業 ハンバーグ 牛 カレー], 720),
|
25
|
+
Menu.new(%i[味噌漬け トンテキ 丼 + キムチ], 730),
|
26
|
+
Menu.new(%i[味噌漬け トンテキ 丼 + とろろ], 730),
|
27
|
+
Menu.new(%i[味噌漬け トンテキ 丼 + 生野菜 + キムチ], 830),
|
28
|
+
Menu.new(%i[味噌漬け トンテキ 丼 + 生野菜 + とろろ], 830),
|
29
|
+
Menu.new(%i[豚 キムチ 丼], 650),
|
30
|
+
Menu.new(%i[キムチ カルビ 丼], 500),
|
31
|
+
Menu.new(%i[ネギ たっぷり ネギ 塩 豚 肩ロース 丼], 500),
|
32
|
+
Menu.new(%i[ビビンバ 丼], 500),
|
33
|
+
Menu.new(%i[まぐろ 丼 6枚盛], 730),
|
34
|
+
Menu.new(%i[まぐろ 丼 大漁12枚盛], 1000),
|
35
|
+
Menu.new(%i[海老 チリ ソース 定食], 730),
|
36
|
+
Menu.new(%i[海老 チリ ソース 定食 + ポテトサラダ], 790),
|
37
|
+
Menu.new(%i[豚 キムチ 定食], 730),
|
38
|
+
Menu.new(%i[牛 焼肉 定食], 600),
|
39
|
+
Menu.new(%i[カルビ 焼肉 定食], 660),
|
40
|
+
Menu.new(%i[豚 肩ロース 豚 焼肉定食], 600),
|
41
|
+
Menu.new(%i[豚 肩ロース 生姜焼 定食], 660),
|
42
|
+
Menu.new(%i[ブラウン ソース ハンバーグ 定食], 600),
|
43
|
+
Menu.new(%i[ブラウン ソース 玉子 ハンバーグ 定食], 680),
|
44
|
+
Menu.new(%i[プレミアム 牛 皿 + 牛 焼肉], 730),
|
45
|
+
Menu.new(%i[プレミアム 牛 皿 + 牛 焼肉 + 生野菜], 830),
|
46
|
+
Menu.new(%i[プレミアム 牛 皿 + 豚 焼肉], 730),
|
47
|
+
Menu.new(%i[プレミアム 牛 皿 + 豚 焼肉 + 生野菜], 830),
|
48
|
+
Menu.new(%i[プレミアム 牛 皿 + ブラウン ソース ハンバーグ], 730),
|
49
|
+
Menu.new(%i[プレミアム 牛 皿 + ブラウン ソース ハンバーグ + 生野菜], 830),
|
50
|
+
Menu.new(%i[プレミアム 牛 皿 + 焼鮭], 730),
|
51
|
+
Menu.new(%i[プレミアム 牛 皿 + 焼鮭 生野菜], 830),
|
52
|
+
Menu.new(%i[プレミアム 牛 皿 + カルビ 焼肉], 790),
|
53
|
+
Menu.new(%i[プレミアム 牛 皿 + カルビ 焼肉 + 生野菜], 890),
|
54
|
+
Menu.new(%i[プレミアム 牛 皿 + 豚 生姜焼], 790),
|
55
|
+
Menu.new(%i[プレミアム 牛 皿 + 豚 生姜焼 + 生野菜], 890),
|
56
|
+
Menu.new(%i[おこさま プレミアム 牛 めし プレート], 390),
|
57
|
+
Menu.new(%i[おこさま 牛 めし プレート], 390),
|
58
|
+
Menu.new(%i[おこさま カレー プレート], 390),
|
59
|
+
Menu.new(%i[+ おもちゃ], 200),
|
60
|
+
Menu.new(%i[りんご ジュース], 100),
|
61
|
+
Menu.new(%i[ぶっかけ うどん], 320),
|
62
|
+
Menu.new(%i[ぶっかけ うどん + ミニ プレミアム 牛 めし], 620),
|
63
|
+
Menu.new(%i[ぶっかけ うどん + ミニ 創業 カレー], 620),
|
64
|
+
Menu.new(%i[ぶっかけ とろろ 玉子 うどん], 400),
|
65
|
+
Menu.new(%i[ぶっかけ とろろ 玉子 うどん + ミニ プレミアム 牛 めし], 700),
|
66
|
+
Menu.new(%i[ぶっかけ とろろ 玉子 うどん + ミニ 創業 カレー], 700),
|
34
67
|
])
|
35
68
|
|
69
|
+
# 松屋の朝定食
|
70
|
+
Morning = Set.new([ %i[定番 朝 定食],
|
71
|
+
%i[焼鮭 定食],
|
72
|
+
%i[ソーセージ エッグ 定食]])
|
73
|
+
|
36
74
|
# 松屋ネットワーク
|
37
75
|
NetworkNode = Struct.new(:node, :follow) do
|
38
76
|
def inspect
|
@@ -91,28 +129,60 @@ module Matsuya
|
|
91
129
|
# String できたー!どの特性を残そう?
|
92
130
|
def preparation(dish)
|
93
131
|
match(dish) do
|
132
|
+
with(Egison::List.(*_head, :+, *_tail)) do
|
133
|
+
[head, :' ', tail, :セット]
|
134
|
+
end
|
135
|
+
|
94
136
|
with(Egison::List.(*_head, :キムチ, :カルビ, *_tail)) do
|
95
137
|
[head, :キムカル, tail]
|
96
138
|
end
|
97
139
|
|
140
|
+
with(Egison::List.(*_head, :創業, :牛, *_tail)) do
|
141
|
+
[head, :創業ビーフ, tail]
|
142
|
+
end
|
143
|
+
|
144
|
+
with(Egison::List.(*_head, :創業, :プレミアム, :牛, *_tail)) do
|
145
|
+
[head, :創業プレミアムビーフ, tail]
|
146
|
+
end
|
147
|
+
|
148
|
+
with(Egison::List.(*_head, :牛, :カレー, *_tail)) do
|
149
|
+
[head, :ビーフカレー, tail]
|
150
|
+
end
|
151
|
+
|
98
152
|
with(Egison::List.(*_head, :ビビンバ, :丼, *_tail)) do
|
99
153
|
[head, :ビビン丼, tail]
|
100
154
|
end
|
101
155
|
|
102
|
-
with(Egison::List.(*_head,
|
103
|
-
[head,
|
156
|
+
with(Egison::List.(*_head, :海老, :チリ, *_tail)) do
|
157
|
+
[head, :海老のチリ, tail]
|
158
|
+
end
|
159
|
+
|
160
|
+
with(Egison::List.(*_head, *%i[豚 肩ロース 豚 焼肉定食], *_tail)) do
|
161
|
+
[head, :豚, :肩ロース, :の, :豚, :焼肉定食, tail]
|
162
|
+
end
|
163
|
+
|
164
|
+
with(Egison::List.(*_head, *%i[豚 肩ロース 生姜焼 定食], *_tail)) do
|
165
|
+
[head, :豚, :肩ロース, :の, :生姜焼, :定食, tail]
|
166
|
+
end
|
167
|
+
|
168
|
+
with(Egison::List.(*_head, :玉子, :ハンバーグ, *_tail)) do
|
169
|
+
[head, :エッグ, :ハンバーグ, tail]
|
170
|
+
end
|
171
|
+
|
172
|
+
with(Egison::List.(*_head, :ネギ, :玉子, *_tail)) do
|
173
|
+
[head, :ネギたま, tail]
|
104
174
|
end
|
105
175
|
|
106
|
-
with(Egison::List.(*_head,
|
107
|
-
[head,
|
176
|
+
with(Egison::List.(*_head, :とろろ, :玉子, *_tail)) do
|
177
|
+
[head, :とろたま, tail]
|
108
178
|
end
|
109
179
|
|
110
|
-
with(Egison::List.(*_head,
|
111
|
-
[head,
|
180
|
+
with(Egison::List.(*_head, :カレー, :牛, *_tail)) do
|
181
|
+
[head, :カレギュウ, tail]
|
112
182
|
end
|
113
183
|
|
114
|
-
with(Egison::List.(*_head,
|
115
|
-
[
|
184
|
+
with(Egison::List.(*_head, :ハンバーグ, :皿, *_tail)) do
|
185
|
+
[head, :バーグディッシュ, tail]
|
116
186
|
end
|
117
187
|
|
118
188
|
with(Egison::Multiset.(*_not_match)) do
|
@@ -129,8 +199,8 @@ module Matsuya
|
|
129
199
|
# Float おかの値。おかの値が高いと商品が変異する確率が上がる。0-1の範囲の値。
|
130
200
|
# ==== Return
|
131
201
|
# String 商品名
|
132
|
-
def order(okano
|
133
|
-
preparation(generate.reject{|x|x==:begin}).join
|
202
|
+
def order(okano: 0.1)
|
203
|
+
preparation(generate(okano: okano).reject{|x|x==:begin}).join
|
134
204
|
end
|
135
205
|
end
|
136
206
|
end
|
data/lib/matsuya/version.rb
CHANGED
data/matsuya.gemspec
CHANGED
@@ -18,9 +18,9 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.required_ruby_version = '
|
21
|
+
spec.required_ruby_version = '>= 2.5'
|
22
22
|
|
23
|
-
spec.add_development_dependency "bundler", "~> 1
|
24
|
-
spec.add_development_dependency "rake", "~> 10.
|
23
|
+
spec.add_development_dependency "bundler", "~> 2.1"
|
24
|
+
spec.add_development_dependency "rake", "~> 10.4"
|
25
25
|
spec.add_dependency "egison", "~> 1.0"
|
26
26
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: matsuya
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Toshiaki Asai
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1
|
19
|
+
version: '2.1'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1
|
26
|
+
version: '2.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '10.
|
33
|
+
version: '10.4'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '10.
|
40
|
+
version: '10.4'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: egison
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,24 +73,23 @@ homepage: https://github.com/toshia/matsuya-generator-ruby
|
|
73
73
|
licenses:
|
74
74
|
- MIT
|
75
75
|
metadata: {}
|
76
|
-
post_install_message:
|
76
|
+
post_install_message:
|
77
77
|
rdoc_options: []
|
78
78
|
require_paths:
|
79
79
|
- lib
|
80
80
|
required_ruby_version: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
|
-
- - "
|
82
|
+
- - ">="
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version: '2.
|
84
|
+
version: '2.5'
|
85
85
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
90
|
requirements: []
|
91
|
-
|
92
|
-
|
93
|
-
signing_key:
|
91
|
+
rubygems_version: 3.2.3
|
92
|
+
signing_key:
|
94
93
|
specification_version: 4
|
95
94
|
summary: I'm hungry. gyu-meshi! gyu-meshi!
|
96
95
|
test_files: []
|