class VagrantPlugins::DigitalOcean::Helpers::Result

Public Class Methods

new(body) click to toggle source
# File lib/vagrant-digitalocean/helpers/result.rb, line 5
def initialize(body)
  @result = body
end

Public Instance Methods

[](key) click to toggle source
# File lib/vagrant-digitalocean/helpers/result.rb, line 9
def [](key)
  @result[key.to_s]
end
error(sub_obj, key, value) click to toggle source
# File lib/vagrant-digitalocean/helpers/result.rb, line 29
def error(sub_obj, key, value)
  raise(Errors::ResultMatchError, {
   :key => key,
   :value => value,
   :collection_name => sub_obj.to_s,
   :sub_obj => @result[sub_obj.to_s]
  })
end
find(sub_obj, search) click to toggle source
# File lib/vagrant-digitalocean/helpers/result.rb, line 17
def find(sub_obj, search)
  key = search.keys.first #:slug
  value = search[key].to_s #sfo1
  key = key.to_s #slug

  result = @result[sub_obj.to_s].inject(nil) do |result, obj|
    obj[key] == value ? obj : result
  end

  result || error(sub_obj, key, value)
end
find_id(sub_obj, search) click to toggle source
# File lib/vagrant-digitalocean/helpers/result.rb, line 13
def find_id(sub_obj, search) #:ssh_keys, {:name => 'ijin (vagrant)'}
  find(sub_obj, search)["id"]
end