Class: ZedDB::Model

Inherits:
Zedkit::Instance
  • Object
show all
Defined in:
lib/zeddb/instances/model.rb

Instance Method Summary collapse

Instance Method Details

#associationsObject



24
25
26
# File 'lib/zeddb/instances/model.rb', line 24

def associations
  self.has_key?('associations') && self['associations'].is_a?(Array) ? self['associations'] : []
end

#deleteObject



33
34
35
# File 'lib/zeddb/instances/model.rb', line 33

def delete
  ZedDB::Models.delete(:user_key => uk, :locale => lc, :uuid => uuid)
end

#itemsObject



27
28
29
# File 'lib/zeddb/instances/model.rb', line 27

def items
  self.has_key?('items') && self['items'].is_a?(Array) ? self['items'] : []
end

#projectObject



20
21
22
# File 'lib/zeddb/instances/model.rb', line 20

def project
  Zedkit::Project.new(:user_key => uk, :locale => lc, :uuid => self['project']['uuid'])
end

#to_sObject



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/zeddb/instances/model.rb', line 37

def to_s
  rs  = "\nZedDB Model within Project '#{project['name']}':\n" \
     << "  Name           : #{self['name']}\n" \
     << "  UUID           : #{self['uuid']}\n" \
     << "  Resource       : #{self['plural_name']}\n" \
     << "  Class          : #{self['model_name']}\n" \
     << "  Associations   : #{associations.count}\n" \
     << "  Data Items     : #{items.count}\n" \
     << "  Locations      : #{self['locations'][0]}\n" \
     << "                   #{self['locations'][1]}\n" \
     << "  Version        : #{self['version']}\n" \
     << "  Created        : #{Time.at(self['created_at']).to_date}\n" \
     << "  Updated        : #{Time.at(self['updated_at']).to_date}\n"
  if items.empty?
    rs << dashes(20)
  else
    rs << dashes(122) << "| #{'Data Items'.ljust(118)} |\n" << dashes(122) \
       << "| #{'UUID'.ljust(32)} | #{'Name'.ljust(32)} | #{'Type'.ljust(12)} | #{'Validations'.center(15)} " \
       << "| #{'Transformers'.center(15)} |\n" << dashes(122)
    items.each do |mi|
      rs << "| #{mi['uuid']} | #{mi['name'].ljust(32)} | #{mi['type']['code'].ljust(12)} " \
         << "| #{mi['validations'].length.to_s.center(15)} | #{mi['transformers'].length.to_s.center(15)} |\n"
    end
    rs <<  dashes(122)
  end
  rs << "\n"
end

#updateObject



31
32
# File 'lib/zeddb/instances/model.rb', line 31

def update
end