Class: Boltos::Bundle

Inherits:
Object
  • Object
show all
Defined in:
lib/boltos/bundle.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, api = nil) ⇒ Bundle

Returns a new instance of Bundle.



18
19
20
21
# File 'lib/boltos/bundle.rb', line 18

def initialize(name, api = nil)
  @name  = name
  @api   = api || Boltos::API.new
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



2
3
4
# File 'lib/boltos/bundle.rb', line 2

def name
  @name
end

Class Method Details

.all(api = Boltos::API.new) ⇒ Object



4
5
6
# File 'lib/boltos/bundle.rb', line 4

def self.all(api = Boltos::API.new)
  api.get("bundles").collect { |hash| new hash['name'], api }
end

.create(name, api = Boltos::API.new) ⇒ Object



8
9
10
11
12
# File 'lib/boltos/bundle.rb', line 8

def self.create(name, api = Boltos::API.new)
  api.create_bundle name

  new name, api
end

.find_or_create(name, api = Boltos::API.new) ⇒ Object



14
15
16
# File 'lib/boltos/bundle.rb', line 14

def self.find_or_create(name, api = Boltos::API.new)
  all(api).detect { |bundle| bundle.name == name } || create(name, api)
end

Instance Method Details

#set(key, value) ⇒ Object



23
24
25
# File 'lib/boltos/bundle.rb', line 23

def set(key, value)
  api.put "/bundles/#{name}", "#{key}=#{value}"
end

#variablesObject



27
28
29
# File 'lib/boltos/bundle.rb', line 27

def variables
  @variables ||= api.get "/bundles/#{name}"
end