Module: Rudy::MetaData::ObjectBase
Instance Method Summary
collapse
Methods included from Huxtable
change_environment, change_position, change_region, change_role, change_zone, #check_keys, #config_dirname, create_domain, #current_group_name, #current_machine_address, #current_machine_count, #current_machine_group, #current_machine_hostname, #current_machine_image, #current_machine_name, #current_machine_size, #current_user, #current_user_keypairpath, debug?, #debug?, domain, domain_exists?, #group_metadata, #has_keypair?, #has_keys?, #has_pem_keys?, #has_root_keypair?, keypair_path_to_name, #known_machine_group?, #root_keypairname, #root_keypairpath, #switch_user, update_config, update_global, update_logger, #user_keypairname, #user_keypairpath
Instance Method Details
#==(other) ⇒ Object
54
55
56
57
|
# File 'lib/rudy/metadata/objectbase.rb', line 54
def ==(other)
return false unless other.is_a?(self.class)
self.name == other.name
end
|
#destroy ⇒ Object
42
43
44
45
46
|
# File 'lib/rudy/metadata/objectbase.rb', line 42
def destroy
@sdb ||= Rudy::AWS::SDB.new(@@global.accesskey, @@global.secretkey, @@global.region)
@sdb.destroy(Rudy::DOMAIN, name)
true
end
|
#init(*args) ⇒ Object
18
|
# File 'lib/rudy/metadata/objectbase.rb', line 18
def init(*args); raise "Must override init"; end
|
#initialize(*args) ⇒ Object
8
9
10
11
12
13
14
15
16
|
# File 'lib/rudy/metadata/objectbase.rb', line 8
def initialize(*args)
a, s, r = @@global.accesskey, @@global.secretkey, @@global.region
@sdb = Rudy::AWS::SDB.new(a, s, r)
@ec2inst = Rudy::AWS::EC2::Instances.new(a, s, r)
@rvol = Rudy::AWS::EC2::Volumes.new(a, s, r)
@radd = Rudy::AWS::EC2::Addresses.new(a, s, r)
@rsnap = Rudy::AWS::EC2::Snapshots.new(a, s, r)
init(*args)
end
|
#inspect ⇒ Object
73
74
75
76
77
78
79
80
81
82
|
# File 'lib/rudy/metadata/objectbase.rb', line 73
def inspect
lines = []
lines << liner_note
field_names.each do |key|
next unless self.respond_to?(key)
val = self.send(key)
lines << sprintf(" %22s: %s", key, (val.is_a?(Array) ? val.join(', ') : val))
end
lines.join($/)
end
|
#liner_note ⇒ Object
68
69
70
71
|
# File 'lib/rudy/metadata/objectbase.rb', line 68
def liner_note
info = @awsid && !@awsid.empty? ? @awsid : "[no aws object]"
"%s %s" % [self.name.bright, info]
end
|
#name(identifier, zon, env, rol, pos, *other) ⇒ Object
30
31
32
33
|
# File 'lib/rudy/metadata/objectbase.rb', line 30
def name(identifier, zon, env, rol, pos, *other)
pos = pos.to_s.rjust 2, '0'
[identifier, zon, env, rol, pos, *other].flatten.compact.join(Rudy::DELIM)
end
|
#refresh ⇒ Object
48
49
50
51
52
|
# File 'lib/rudy/metadata/objectbase.rb', line 48
def refresh
@sdb ||= Rudy::AWS::SDB.new(@@global.accesskey, @@global.secretkey, @@global.region)
h = @sdb.get(Rudy::DOMAIN, name) || {}
from_hash(h)
end
|
#save(replace = true) ⇒ Object
35
36
37
38
39
40
|
# File 'lib/rudy/metadata/objectbase.rb', line 35
def save(replace=true)
replace = true if replace.nil?
@sdb ||= Rudy::AWS::SDB.new(@@global.accesskey, @@global.secretkey, @@global.region)
@sdb.put(Rudy::DOMAIN, name, self.to_hash, replace) true
end
|
#to_query(more = [], less = []) ⇒ Object
22
23
24
|
# File 'lib/rudy/metadata/objectbase.rb', line 22
def to_query(more=[], less=[])
Rudy::AWS::SDB.generate_query build_criteria(more, less)
end
|
#to_s ⇒ Object
60
61
62
63
64
65
66
|
# File 'lib/rudy/metadata/objectbase.rb', line 60
def to_s
str = ""
field_names.each do |key|
str << sprintf(" %22s: %s#{$/}", key, self.send(key.to_sym))
end
str
end
|
#to_select(more = [], less = []) ⇒ Object
#valid? ⇒ Boolean
20
|
# File 'lib/rudy/metadata/objectbase.rb', line 20
def valid?; raise "#{self.class} must override 'valid?'"; end
|