Module: Rudy::Metadata::ClassMethods

Extended by:
Huxtable, ClassMethods
Included in:
Backups, Disks, Rudy::Machines, ClassMethods
Defined in:
lib/rudy/metadata.rb

Overview

These methods are common to all plural metadata classes: Rudy::Machines, Rudy::Disks, Rudy::Backups, etc…

Instance Method Summary collapse

Methods included from Huxtable

config, config_dirname, create_domain, current_group_name, current_machine_address, current_machine_bucket, current_machine_count, current_machine_group, current_machine_hostname, current_machine_image, current_machine_name, current_machine_os, current_machine_size, current_machine_user, current_user_keypairname, current_user_keypairpath, defined_keypairpath, domain, domain_exists?, global, keypair_path_to_name, known_machine_group?, ld, ld, le, le, li, li, logger, reset_config, reset_global, root_keypairname, root_keypairpath, update_config, update_global, update_logger, user_keypairname, user_keypairpath

Instance Method Details

#any?(fields = {}, less = []) ⇒ Boolean

Returns:

  • (Boolean)


139
140
141
# File 'lib/rudy/metadata.rb', line 139

def any?(fields={}, less=[])
  !list(fields, less).nil?
end

#list(fields = {}, less = [], &block) ⇒ Object



117
118
119
120
121
122
123
124
125
126
# File 'lib/rudy/metadata.rb', line 117

def list(fields={}, less=[], &block)
  fields = Rudy::Metadata.build_criteria self::RTYPE, fields, less
  records_raw, records = Rudy::Metadata.select(fields), []
  return nil if records_raw.nil? || records_raw.empty?
  records_raw.each_pair do |p, r|
    obj = self.from_hash r
    records << obj
  end
  records.sort { |a,b| a.name <=> b.name }
end

#list_as_hash(fields = {}, less = [], &block) ⇒ Object



128
129
130
131
132
133
134
135
136
137
# File 'lib/rudy/metadata.rb', line 128

def list_as_hash(fields={}, less=[], &block)
  fields = Rudy::Metadata.build_criteria self::RTYPE, fields, less
  records_raw, records = Rudy::Metadata.select(fields), {}
  return nil if records_raw.nil? || records_raw.empty?
  records_raw.each_pair do |p, r|
    obj = self.from_hash r
    records[p] = obj
  end
  records
end