Class: BERGCloud::Project

Inherits:
Object
  • Object
show all
Defined in:
lib/bergcloud/project.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(project_id) ⇒ Project

Returns a new instance of Project.



6
7
8
# File 'lib/bergcloud/project.rb', line 6

def initialize(project_id)
  @project_id = project_id
end

Instance Attribute Details

#project_idObject (readonly)

Returns the value of attribute project_id.



4
5
6
# File 'lib/bergcloud/project.rb', line 4

def project_id
  @project_id
end

Instance Method Details

#claim(claim_code) ⇒ Object



15
16
17
# File 'lib/bergcloud/project.rb', line 15

def claim(claim_code)
  BERGCloud::Client.post("/projects/#{@project_id}/claims/#{claim_code}").body
end

#claim_status(claim_code) ⇒ Object



19
20
21
# File 'lib/bergcloud/project.rb', line 19

def claim_status(claim_code)
  BERGCloud::Client.get("/projects/#{@project_id}/claims/#{claim_code}").body
end

#devicesObject



23
24
25
# File 'lib/bergcloud/project.rb', line 23

def devices
  BERGCloud::Client.get("/projects/#{@project_id}/devices").body
end

#eventsObject



27
28
29
# File 'lib/bergcloud/project.rb', line 27

def events
  BERGCloud::Client.get("/projects/#{@project_id}/events").body
end

#send_command(options) ⇒ Object



31
32
33
34
# File 'lib/bergcloud/project.rb', line 31

def send_command(options)
  raise BERGCloud::Error::ParamsError, "Command must include a payload, name and device_id" unless options[:payload] and options[:device_id] and options[:name]
  BERGCloud::Client.post("/projects/#{@project_id}/commands", options).body
end

#valid?Boolean

Returns:

  • (Boolean)


10
11
12
13
# File 'lib/bergcloud/project.rb', line 10

def valid?
  res = BERGCloud::Client.get("/projects/#{@project_id}")
  res.code == "200"
end