Module: YamlStore

Defined in:
lib/mongokit/yaml_store.rb

Constant Summary collapse

@@store =
{}

Class Method Summary collapse

Class Method Details

.get(name, key = nil) ⇒ Object



32
33
34
35
36
37
# File 'lib/mongokit/yaml_store.rb', line 32

def get(name, key = nil)
  values = @@store[name]

  return nil unless values
  return key ? values[key] : values
end

.load(*files) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/mongokit/yaml_store.rb', line 13

def load(*files)
  files.each do |f|
    yaml = Pathname.new(f)

    unless yaml.exist?
      raise "File not found #{f}"
    end

    key = yaml.basename.to_s.gsub(yaml.extname, '')
    @@store[key.to_sym] = read_yaml(yaml)

    self.class.class_eval <<-RUBY, __FILE__, __LINE__ + 1
      def #{key}
        store[:#{key}]
      end
    RUBY
  end
end

.read_yaml(file) ⇒ Object



39
40
41
42
43
44
45
46
47
# File 'lib/mongokit/yaml_store.rb', line 39

def read_yaml(file)
  yml = YAML.load_file(file)

  if defined?(Rails)
    yml = yml[Rails.evn] || yml[Rails.evn.to_sym]
  end

  yml
end

.storeObject



9
10
11
# File 'lib/mongokit/yaml_store.rb', line 9

def store
  @@store
end