class Shioconv::Condiment
Public Class Methods
data_file()
click to toggle source
# File lib/shioconv/condiment.rb, line 23 def self.data_file File.join(File.dirname(File.expand_path(__FILE__)), %w(.. .. config condiments.yaml)) end
find_by(condiment)
click to toggle source
# File lib/shioconv/condiment.rb, line 2 def self.find_by(condiment) # find by key if condiment.is_a?(Symbol) result = raw_data.find { |data| data[:key] == condiment } return self.new(result) if result end # find by name condiment = condiment.to_s.downcase [:japanese_name, :english_name].each do |key| result = raw_data.find { |data| data[key] == condiment } return self.new(result) if result end # find by synonyms result = raw_data.find { |data| data[:synonyms].include?(condiment) } return self.new(result) if result raise ArgumentError.new("condiment '#{condiment}' does not found.") end
list()
click to toggle source
# File lib/shioconv/condiment.rb, line 31 def self.list raw_data.map do |datum| "#{sprintf('%-16s', datum[:key])} : 「#{datum[:japanese_name]}(#{datum[:english_name]})」" end end
raw_data()
click to toggle source
# File lib/shioconv/condiment.rb, line 27 def self.raw_data @@raw_data ||= YAML.parse(File.read(data_file)).to_ruby end