Module: Profitbricks

Defined in:
lib/profitbricks.rb,
lib/profitbricks/cli.rb,
lib/profitbricks/nic.rb,
lib/profitbricks/rule.rb,
lib/profitbricks/image.rb,
lib/profitbricks/model.rb,
lib/profitbricks/config.rb,
lib/profitbricks/server.rb,
lib/profitbricks/storage.rb,
lib/profitbricks/firewall.rb,
lib/profitbricks/ip_block.rb,
lib/profitbricks/data_center.rb,
lib/profitbricks/profitbricks.rb,
lib/profitbricks/load_balancer.rb

Defined Under Namespace

Classes: CLI, Config, DataCenter, Firewall, FirewallRule, Image, Ip, IpBlock, LoadBalancer, Model, Nic, Server, Storage

Constant Summary collapse

VERSION =
'0.5.1'

Class Method Summary collapse

Class Method Details

.configure {|Profitbricks::Config| ... } ⇒ Object

Configure the Profitbricks API client

Yields:

See Also:



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/profitbricks/profitbricks.rb', line 5

def self.configure(&block)
  Profitbricks::Config.save_responses = false
  Profitbricks::Config.log = false
  Profitbricks::Config.global_classes = true
  yield Profitbricks::Config

  Savon.configure do |config|
    config.raise_errors = false 
    config.log = Profitbricks::Config.log
  end
  HTTPI.log = false

  @client = Savon::Client.new do |wsdl, http|
    wsdl.endpoint = "https://api.profitbricks.com/1.1"
    wsdl.document = "https://api.profitbricks.com/1.1/wsdl"
    http.auth.basic Profitbricks::Config.username, Profitbricks::Config.password
  end

  Profitbricks.client = @client
  if Profitbricks::Config.global_classes
    Profitbricks.constants.select {|c| Class === Profitbricks.const_get(c)}.each do |klass|
      next if klass == :Config
      unless Kernel.const_defined?(klass)
        Kernel.const_set(klass, Profitbricks.const_get(klass))
      end
    end
  end
end