class AWS::SimpleDB::DomainCollection

An Enumerable collection representing all your domains in SimpleDB.

Use a DomainCollection to create, get and list domains.

@example Creating a domain in SimpleDB

sdb = SimpleDB.new
domain = sdb.domains.create('mydomain')

@example Getting a domain with indifferent access

domain = sdb.domains[:mydomain]
domain = sdb.domains['mydomain']

@example Enumerating domains

sdb.domains.each do |domain|
  puts domain.name
end

@see Core::Collection

Public Instance Methods

[](domain_name) click to toggle source

Returns a domain object with the given name.

@note This does not attempt to create the domain if it does not

already exist in SimpleDB.  Use {#create} to add a domain to SDB.

@param [String] domain_name The name of the domain to return. @return [Domain] Returns the domain with the given name.

# File lib/aws/simple_db/domain_collection.rb, line 64
def [] domain_name
  Domain.new(domain_name.to_s, :config => config)
end
create(domain_name) click to toggle source

Creates a domain in SimpleDB and returns a domain object.

@note This operation might take 10 or more seconds to complete. @note Creating a domain in SimpleDB is an idempotent operation;

running it multiple times using the same domain name will not
result in an error.

@note You can create up to 250 domains per account. @param [String] domain_name @return [Domain] Returns a new domain with the given name.

# File lib/aws/simple_db/domain_collection.rb, line 52
def create(domain_name)
  client.create_domain(:domain_name => domain_name)
  self[domain_name]
end

Protected Instance Methods

_each_item(next_token, limit, options = {}) { |self| ... } click to toggle source
# File lib/aws/simple_db/domain_collection.rb, line 70
def _each_item next_token, limit, options = {}

  options[:next_token] = next_token if next_token
  options[:max_number_of_domains] = limit if limit

  resp = client.list_domains(options)
  resp.data[:domain_names].each do |name|
    yield(self[name])
  end

  resp.data[:next_token]

end