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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 87e61bc4fcce42ca4821d45efbbedc50be6f5219
4
- data.tar.gz: ed998f21caf7a7da139819ccd50a45d0aaa0ffb3
2
+ SHA256:
3
+ metadata.gz: 809ff08e57a53e69ffe7368e581b28c33127b5fa3bb1ac8df608aefefe429464
4
+ data.tar.gz: 74702d8b73494144eb422f4913d8d1e2b4f5836afc2c313061c89456afaef318
5
5
  SHA512:
6
- metadata.gz: a6c22aea610b4b35dd42afdb69d1f3496d773d422e2f753e99947f14bd01f37fcc6d2c0e0b07e945375158fd403b3409d29491acbf48ab1a19de0e823986927c
7
- data.tar.gz: 149dc1b18719524ccc16a9f376b2e81cd14017fa0dcf3cf244125b7a1f785b45bf6d9dff417e3fdf179dc402542d6f1761ba414ec7920e023446d044cdc23acd
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
@@ -11,7 +11,7 @@ OptionParser.new do |opt|
11
11
  puts opt
12
12
  exit
13
13
  end
14
- opt.on('-o', '--okano=', "おかの値(0.0-1.0 default %f)" % okano) do |value|
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
@@ -11,28 +11,66 @@ module Matsuya
11
11
  # 牛めしのようにプレミアムとそうでないものがある場合は、プレミアムだけを書く
12
12
  # オリジナルカレギュウ(プレミアム牛肉使用)も、プレミアムとして扱い、プレミアム牛肉使用と書いていないほうは書かない
13
13
  Sample = Set.new([ Menu.new(%i[プレミアム 牛 めし], 380),
14
- Menu.new(%i[プレミアム 旨辛 ネギ たま 牛 めし], 480),
15
- Menu.new(%i[プレミアム おろし ポン酢 牛めし], 480),
16
- Menu.new(%i[プレミアム キムチ 牛 めし], 480),
17
- Menu.new(%i[オリジナル カレー], 330),
18
- Menu.new(%i[オリジナル カレギュウ (プレミアム牛肉使用)], 500),
19
- Menu.new(%i[オリジナル カレギュウ], 490),
20
- Menu.new(%i[オリジナル ハンバーグ カレー], 590),
21
- Menu.new(%i[ネギ たっぷり ネギ 豚 カルビ 丼], 450),
22
- Menu.new(%i[ビビンバ ], 450),
23
- Menu.new(%i[キムチ カルビ ], 490),
24
- Menu.new(%i[ テキ 定食], 690),
25
- Menu.new(%i[シャンピニオン ソース ハンバーグ 定食], 650),
26
- Menu.new(%i[ 焼肉 定食], 590),
27
- Menu.new(%i[カルビ 焼肉 定食], 630),
28
- Menu.new(%i[ バラ 焼肉 定食], 550),
29
- Menu.new(%i[スタミナ バラ 生姜焼 定食], 590),
30
- Menu.new(%i[ チリ ソース 定食], 630),
31
- Menu.new(%i[ブラウン ソース ハンバーグ 定食], 630),
32
- Menu.new(%i[豆腐 キムチ チゲ 膳 (プレミアム牛肉使用)], 530),
33
- Menu.new(%i[チゲ カルビ 焼肉 膳 (プレミアム牛肉使用)], 720),
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, :鶏, :チリ, *_tail)) do
103
- [head, :鶏のチリ, tail]
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, :カルビ, :焼肉, *_tail)) do
107
- [head, :カルビ焼, tail]
176
+ with(Egison::List.(*_head, :とろろ, :玉子, *_tail)) do
177
+ [head, :とろたま, tail]
108
178
  end
109
179
 
110
- with(Egison::List.(*_head, :プレミアム, *_center, :(プレミアム牛肉使用), *_tail)) do
111
- [head, :プレミアム, center + tail]
180
+ with(Egison::List.(*_head, :カレー, :牛, *_tail)) do
181
+ [head, :カレギュウ, tail]
112
182
  end
113
183
 
114
- with(Egison::List.(*_head, :牛, :めし, *_center, :(プレミアム牛肉使用), *_tail)) do
115
- [:プレミアム, head, :牛, :めし, center + tail]
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=0.1) # !> shadowing outer local variable - ys2
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
@@ -1,3 +1,3 @@
1
1
  module Matsuya
2
- VERSION = "0.2.0"
2
+ VERSION = "0.4.0"
3
3
  end
@@ -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 = '~> 2.0'
21
+ spec.required_ruby_version = '>= 2.5'
22
22
 
23
- spec.add_development_dependency "bundler", "~> 1.7"
24
- spec.add_development_dependency "rake", "~> 10.0"
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.2.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: 2015-12-06 00:00:00.000000000 Z
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.7'
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.7'
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.0'
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.0'
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.0'
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
- rubyforge_project:
92
- rubygems_version: 2.4.5.1
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: []