Skip to content

Commit

Permalink
rg: load_dataをpublicにする
Browse files Browse the repository at this point in the history
テストのように、外部から呼び出す場合があるため。
  • Loading branch information
ochaochaocha3 committed Jul 26, 2019
1 parent f3c0860 commit 3846b00
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 25 deletions.
42 changes: 21 additions & 21 deletions lib/rgrb/plugin/random_generator/generator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def initialize
def configure(config_data)
super

load_data("#{@data_path}/**/*.yaml")
load_data!("#{@data_path}/**/*.yaml")

self
end
Expand Down Expand Up @@ -90,6 +90,26 @@ def list
end.keys.sort
end

# 表のデータを読み込む
# @param [String] glob_pattern データファイル名のパターン
# @return [void]
def load_data!(glob_pattern)
# 表を格納するハッシュ
@table = {}

Dir.glob(glob_pattern).each do |path|
begin
yaml = File.read(path, encoding: 'UTF-8')
table = Table.parse_yaml(yaml)

@table[table.name] = table
rescue => e
logger.error("データファイル #{path} の読み込みに失敗しました")
logger.error(e)
end
end
end

private

# 表から値を取得して返す
Expand Down Expand Up @@ -141,26 +161,6 @@ def replace_var_with_value(str, root_table)
str
end

# 表のデータを読み込む
# @param [String] glob_pattern データファイル名のパターン
# @return [void]
def load_data(glob_pattern)
# 表を格納するハッシュ
@table = {}

Dir.glob(glob_pattern).each do |path|
begin
yaml = File.read(path, encoding: 'UTF-8')
table = Table.parse_yaml(yaml)

@table[table.name] = table
rescue => e
logger.error("データファイル #{path} の読み込みに失敗しました")
logger.error(e)
end
end
end

# 表が存在することを確かめる
# @return [String] table_name 表名
# @return [true] 表が存在する場合
Expand Down
8 changes: 4 additions & 4 deletions spec/rgrb/plugin/random_generator/generator_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@

describe RGRB::Plugin::RandomGenerator::Generator do
let(:generator) do
obj = described_class.new
obj.send(:load_data, "#{__dir__}/data/*.yaml")
obj.send(:logger=, Lumberjack::Logger.new($stdout, progname: self.class.to_s))
g = described_class.new
g.load_data!("#{__dir__}/data/*.yaml")
g.logger = Lumberjack::Logger.new($stdout, progname: self.class.to_s)

obj
g
end

describe '#desc' do
Expand Down

0 comments on commit 3846b00

Please sign in to comment.