# File lib/aeolus_image/model/warehouse/warehouse_client.rb, line 35 def self.create(connection, key, bucket, body, attrs = {}) obj = new(connection, key, bucket) obj.set_body(body) obj.set_attrs(attrs) obj end
# File lib/aeolus_image/model/warehouse/warehouse_client.rb, line 28 def initialize(connection, key, bucket) @connection = connection @key = key @bucket = bucket @path = "/#{@bucket.name}/#{@key}" end
# File lib/aeolus_image/model/warehouse/warehouse_client.rb, line 64 def attr(name) attrs([name])[name] end
# File lib/aeolus_image/model/warehouse/warehouse_client.rb, line 50 def attr_list result = @connection.do_request @path, :content => 'op=parts', :method => :post return result.xpath('/object/object_attr/@name').to_a.map {|item| item.value} end
# File lib/aeolus_image/model/warehouse/warehouse_client.rb, line 55 def attrs(list) attrs = {} list.each do |att| next if att.match('-') attrs[att] = (@connection.do_request("#{@path}/#{att}", :plain => true) rescue nil) end attrs end
# File lib/aeolus_image/model/warehouse/warehouse_client.rb, line 42 def body @connection.do_request @path, :plain => true end
# File lib/aeolus_image/model/warehouse/warehouse_client.rb, line 79 def delete! @connection.do_request @path, :method => :delete true end
# File lib/aeolus_image/model/warehouse/warehouse_client.rb, line 74 def set_attr(name, content) path = "#{@path}/#{name}" @connection.do_request path, :content => content, :method => :put end
# File lib/aeolus_image/model/warehouse/warehouse_client.rb, line 68 def set_attrs(hash) hash.each do |name, content| set_attr(name, content) end end
# File lib/aeolus_image/model/warehouse/warehouse_client.rb, line 46 def set_body(body) @connection.do_request @path, :content => body, :method => :put end