Module Rudy::Metadata::ClassMethods

  1. lib/rudy/metadata.rb

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

Methods

public instance

  1. any?
  2. list
  3. list_as_hash

Public instance methods

any? (fields={}, less=[])
[show source]
     # File lib/rudy/metadata.rb, line 139
139:       def any?(fields={}, less=[])
140:         !list(fields, less).nil?
141:       end
list (fields={}, less=[], &block)
[show source]
     # File lib/rudy/metadata.rb, line 117
117:       def list(fields={}, less=[], &block)
118:         fields = Rudy::Metadata.build_criteria self::RTYPE, fields, less
119:         records_raw, records = Rudy::Metadata.select(fields), []
120:         return nil if records_raw.nil? || records_raw.empty?
121:         records_raw.each_pair do |key, r|
122:           obj = self.from_hash r
123:           records << obj
124:         end
125:         records.sort { |a,b| a.name <=> b.name }
126:       end
list_as_hash (fields={}, less=[], &block)
[show source]
     # File lib/rudy/metadata.rb, line 128
128:       def list_as_hash(fields={}, less=[], &block)
129:         fields = Rudy::Metadata.build_criteria self::RTYPE, fields, less
130:         records_raw, records = Rudy::Metadata.select(fields), {}
131:         return nil if records_raw.nil? || records_raw.empty?
132:         records_raw.each_pair do |p, r|
133:           obj = self.from_hash r
134:           records[p] = obj
135:         end
136:         records
137:       end