Class: Sunzi::Cloud

Inherits:
Object
  • Object
show all
Defined in:
lib/sunzi.rb,
lib/sunzi/cloud.rb,
lib/sunzi/cloud/base.rb,
lib/sunzi/cloud/linode.rb,
lib/sunzi/cloud/digital_ocean.rb

Defined Under Namespace

Classes: Base, DigitalOcean, Linode

Instance Method Summary collapse

Constructor Details

#initialize(cli, provider) ⇒ Cloud

Returns a new instance of Cloud.



3
4
5
6
7
8
9
10
11
12
# File 'lib/sunzi/cloud.rb', line 3

def initialize(cli, provider)
  @subject = case provider
  when 'linode'
    Sunzi::Cloud::Linode.new(cli, provider)
  when 'digital_ocean'
    Sunzi::Cloud::DigitalOcean.new(cli, provider)
  else
    abort_with "#{provider} is not valid!"
  end
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(sym, *args, &block) ⇒ Object



14
15
16
# File 'lib/sunzi/cloud.rb', line 14

def method_missing(sym, *args, &block)
  @subject.send sym, *args, &block
end