class LanguageCards::YAMLLoader
Attributes
language[R]
Public Class Methods
new()
click to toggle source
# File lib/language_cards/yaml_loader.rb, line 3 def initialize @language = CARD_LANGUAGE end
Public Instance Methods
load()
click to toggle source
# File lib/language_cards/yaml_loader.rb, line 7 def load cards = {} cards_yaml.each do |c| next unless yaml_data = YAML.load(File.open(c).read) for language in yaml_data.keys do # Merges sub-items for languages if cards.has_key? language cards[language] = Hash( cards[language] ).merge( Hash(yaml_data[language]) ) else # Merges in new top scope languages cards.merge!({ language => yaml_data[language] }) end end end cards end
Private Instance Methods
application_path()
click to toggle source
# File lib/language_cards/yaml_loader.rb, line 29 def application_path File.expand_path(File.join('..','..'), __dir__) end
application_path_cards_yaml()
click to toggle source
# File lib/language_cards/yaml_loader.rb, line 37 def application_path_cards_yaml Dir[File.join(application_path, 'cards', language, '*.yml')] end
cards_yaml()
click to toggle source
# File lib/language_cards/yaml_loader.rb, line 33 def cards_yaml application_path_cards_yaml + home_path_cards_yaml end
home_path_cards_yaml()
click to toggle source
# File lib/language_cards/yaml_loader.rb, line 41 def home_path_cards_yaml if ENV['HOME'] Dir[File.join(ENV['HOME'], '.language_cards', 'cards', language, '*.yml')] else [] end end