Module: Puddle
- Defined in:
- lib/puddle.rb,
lib/puddle/version.rb,
lib/puddle/cli/main.rb,
lib/puddle/resources.rb,
lib/puddle/cli/base_cli.rb,
lib/puddle/http_adapter.rb,
lib/puddle/resources/show_account.rb
Defined Under Namespace
Modules: Cli, Resources
Classes: HttpAdapter
Constant Summary
collapse
- VERSION =
"0.2.2"
Class Method Summary
collapse
Class Method Details
.create_adapter(token, settings = {}) ⇒ Object
15
16
17
18
|
# File 'lib/puddle.rb', line 15
def create_adapter(token, settings = {})
class_constant = settings['http_adapter_class'] || HttpAdapter
class_constant.new(token, settings)
end
|
.digital_ocean(name, settings = {}) ⇒ Object
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/puddle.rb', line 26
def digital_ocean(name, settings = {})
results = {}
begin
token = validate_token(settings)
adapter = create_adapter(token, settings)
resource = load_resource(name).new(adapter, settings)
results[:content] = resource.execute
rescue Exception => e
results[:error] = e
end
return results
end
|
.load_resource(name) ⇒ Object
20
21
22
23
24
|
# File 'lib/puddle.rb', line 20
def load_resource(name)
class_name = name.to_s.split(/_/).map{|word| word.capitalize}.join('')
Puddle::Resources.const_get(class_name)
end
|
.validate_token(settings = {}) ⇒ Object
9
10
11
12
13
|
# File 'lib/puddle.rb', line 9
def validate_token(settings = {})
token = settings['token'] || ENV['DO_API_TOKEN']
fail 'api token is required but missing' unless token
token
end
|