Module: SakeRuby

Defined in:
lib/sake_ruby.rb,
lib/sake_ruby/version.rb

Defined Under Namespace

Classes: NoTokuteimeishoError

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.allObject



10
11
12
# File 'lib/sake_ruby.rb', line 10

def all
  @all ||= Dir["#{__dir__}/sake_ruby/tokuteimeisho/*.yml"].map { |file| YAML.load_file(file) }
end

.draw_tableObject



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/sake_ruby.rb', line 25

def draw_table
  puts <<~MESSAGE
    ======================================================================
    | 醸造アルコール |                      分類                         |
    |----------------|---------------------------------------------------|
    |    10%以上     |                     普通酒                        |
    |----------------|---------------------------------------------------|
    |                |  普通酒  | 本醸造酒 |         特別本醸造酒        |
    |    10%以下     |----------|----------|-----------------------------|
    |                |    -     |    -     |    吟醸酒    |   大吟醸酒   |
    |----------------|---------------------|--------------|--------------|
    |                |                     |  純米吟醸酒  | 純米大吟醸酒 |
    |     不使用     |       純米酒        |-----------------------------|
    |                |                     |          特別純米酒         |
    |----------------|---------------------|-----------------------------|
    |    精米歩合    | 規制なし |  70%以下 |   60%以下    |    50%以下   |
    ======================================================================
  MESSAGE
end

.find_by_tokuteimeisho(tokuteimeisho) ⇒ Object



18
19
20
21
22
23
# File 'lib/sake_ruby.rb', line 18

def find_by_tokuteimeisho(tokuteimeisho)
  tokuteimeishoshu = all.select { |q| q[:tokuteimeisho].eql?(tokuteimeisho) }
  return raise_no_tokuteimeisho_error!(tokuteimeisho) if tokuteimeishoshu.empty?

  tokuteimeishoshu
end

.select_randomObject



14
15
16
# File 'lib/sake_ruby.rb', line 14

def select_random
  all.sample
end