Class: Miles::Scheduler

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/miles/scheduler.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(host, port = 80) ⇒ Scheduler

Returns a new instance of Scheduler.



10
11
12
13
14
15
# File 'lib/miles/scheduler.rb', line 10

def initialize(host, port=80)
  @host = host
  @port = port
  @base_uri = "#{host}#{port != 80 ? ':' + @port.to_s : ''}"
  self.class.base_uri @base_uri
end

Instance Attribute Details

#base_uriObject (readonly)

Returns the value of attribute base_uri.



8
9
10
# File 'lib/miles/scheduler.rb', line 8

def base_uri
  @base_uri
end

#hostObject (readonly)

Returns the value of attribute host.



8
9
10
# File 'lib/miles/scheduler.rb', line 8

def host
  @host
end

#portObject (readonly)

Returns the value of attribute port.



8
9
10
# File 'lib/miles/scheduler.rb', line 8

def port
  @port
end

Instance Method Details

#create_individual(callback, data, description, method, time) ⇒ Object



17
18
19
20
21
# File 'lib/miles/scheduler.rb', line 17

def create_individual(callback, data, description, method, time)
  req = {'callback' => callback, 'data' => data, 'description' => description, 'method' => method, 'time' => time}
  response = self.class.post('/individual', :body => req.to_json, :headers => {'Content-type' => 'application/json'})
  return JSON.parse(response.body)
end

#create_reoccurring(callback, data, description, method, delay, interval) ⇒ Object



30
31
32
33
34
# File 'lib/miles/scheduler.rb', line 30

def create_reoccurring(callback, data, description, method, delay, interval)
  req = {'callback' => callback, 'data' => data, 'description' => description, 'method' => method, 'delay' => delay, 'interval' => interval}
  response = self.class.post('/reoccurring', :body => req.to_json, :headers => {'Content-type' => 'application/json'})
  return JSON.parse(response.body)
end

#delete_reoccurring(id) ⇒ Object



43
44
45
46
# File 'lib/miles/scheduler.rb', line 43

def delete_reoccurring(id)
  response = self.class.delete("/reoccurring/#{id}")
  return response.code == 200
end

#get_individual(id) ⇒ Object



23
24
25
26
27
28
# File 'lib/miles/scheduler.rb', line 23

def get_individual(id)
  response = self.class.get("/individual/#{id}")
  ret = JSON.parse(response.body)
  ret['time'] = DateTime.parse(ret['time'])
  return ret
end

#get_reoccurring(id) ⇒ Object



36
37
38
39
40
41
# File 'lib/miles/scheduler.rb', line 36

def get_reoccurring(id)
  response = self.class.get("/reoccurring/#{id}")
  ret = JSON.parse(response.body)
  ret['last_ran'] = DateTime.parse(ret['last_ran'])
  return ret
end