Module: Ygg

Defined in:
lib/ygg/base.rb,
lib/ygg/version.rb

Defined Under Namespace

Modules: Delegator Classes: InvalidInitializor, Link, Model

Constant Summary collapse

VERSION =
"0.0.2"

Class Method Summary collapse

Class Method Details

.closeObject



44
# File 'lib/ygg/base.rb', line 44

def self.close; @@data = nil; @@source; end

.dataObject



46
# File 'lib/ygg/base.rb', line 46

def self.data; @@data ||= {}; end

.load(source = "ygg.yaml", &block) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/ygg/base.rb', line 7

def self.load(source = "ygg.yaml", &block)

  if source.kind_of? Symbol
    if File.exists? "#{source}.yml"
      source = "#{source}.yml" 
    else
      source = "#{source}.yaml"
    end
  end
  @@source ||= source if source == "ygg.yaml"
  @@source = source   if source != "ygg.yaml"
  
  @@data = {}
  @@data = YAML.load_file @@source if File.exists? @@source
  
  @@data.each do |key, model|      
    model.each do |resource|
      resource.loading! if resource.respond_to? :loading!
    end if model.kind_of? Array
  end
  
  if block; yield; self.save; self.close; end
end

.saveObject



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/ygg/base.rb', line 31

def self.save
  @@data ||= {}
  @@data.each do |key, model|
    model.each do |resource|
      resource._finalize! if resource.respond_to? :_finalize!
    end if model.kind_of? Array
  end
  
  File.open @@source, "w" do |file|
    file.write YAML.dump(@@data)
  end
end

.symbolize(res) ⇒ Object



48
49
50
51
# File 'lib/ygg/base.rb', line 48

def self.symbolize(res)
  return res.to_s.downcase.to_sym if res.kind_of? Class
  res.class.to_s.downcase.to_sym
end