farmbot-resource 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bf29be0a07977f8f371dc75c2a0c9932fe0e56ef
4
- data.tar.gz: 93464e6dc9b378052370e1ff724affd13f606515
3
+ metadata.gz: 0965243df1655e7a1156774fbc842f4188aea81c
4
+ data.tar.gz: 3548156c249e6696bfd977ce8ac0134ba6fadc13
5
5
  SHA512:
6
- metadata.gz: f7f408b098fa8bfb646dd7b79b4580638790354302dc81848da8803475a63052904ce74c9ac7f1dc46af468cac5be75b625e3e56f049d58284747ae7d59da966
7
- data.tar.gz: 84651b320c0aa518c91662e998fc78188bb4d783407ad3954b84e01a9751671e223041c3660b257ba0a429a7a66251695c1bf8d5a11001dd41af5c2c6bd6ce77
6
+ metadata.gz: a60fe235033b33a52e71a1f9f651191345adc04a65b03ca961e5ffaeade3e5a7e27da086592f175f0fdd9ab8d185dd85c9ecbc83cfbf1a1ec4f9b3fa1b400e33
7
+ data.tar.gz: 693fbbff6a7b75a1690c827d431f649b93c4fe6ef3bbda9848636864b0ec3d03551326370f87ad75d5a4fe17a2b6b2bcc6701c52ca90278865f23bff7b74da23
data/example.rb CHANGED
@@ -11,11 +11,13 @@ client = FbResource::Client.new do |config|
11
11
  config.token = token
12
12
  end
13
13
 
14
- puts ("Grabbing schedules")
15
- client.schedules.all # => []
16
-
17
- puts ("Grabbing plants")
18
- client.plants.all # => []
19
-
20
- puts ("Grabbing sequences")
21
- client.sequences.all # => []
14
+ puts("Grabbing schedules")
15
+ puts client.schedules.all.to_s
16
+ puts("Grabbing plants")
17
+ puts client.plants.all.to_s
18
+ puts("Grabbing sequences")
19
+ puts client.sequences.all.to_s
20
+ puts("Grabbing devices")
21
+ puts client.device.current.to_s
22
+ puts "Grabbing public key"
23
+ puts client.public_key.to_pem
data/lib/client.rb CHANGED
@@ -23,6 +23,21 @@ module FbResource
23
23
  string
24
24
  end
25
25
 
26
+ # Useful when you need to sign arbitrary secrets and give them to the server
27
+ def public_key
28
+ if @public_key
29
+ return @public_key
30
+ else
31
+ api_url = config.url + "api/public_key"
32
+ pem = Http.get(api_url, {}).body
33
+ @public_key = OpenSSL::PKey::RSA.new(pem)
34
+ end
35
+ end
36
+
37
+ def device
38
+ @device ||= FbResource::Device.new(config)
39
+ end
40
+
26
41
  def schedules
27
42
  @schedules ||= FbResource::Schedules.new(config)
28
43
  end
@@ -4,4 +4,5 @@ require 'json'
4
4
  require_relative 'resources/schedules'
5
5
  require_relative 'resources/sequences'
6
6
  require_relative 'resources/plants'
7
+ require_relative 'resources/device'
7
8
  require_relative 'client'
@@ -25,12 +25,12 @@ module FbResource
25
25
  end
26
26
 
27
27
  def fetch_no(obj, req, res)
28
- raise FetchError, """
29
- Error Fetching Farmbot resource:
30
- #{obj || "\n"}
31
- #{req.try(:url)}
32
- #{res.try(:message)}
33
- #{res.class}""".squeeze
28
+ raise FetchError, """\n
29
+ Error Fetching Farmbot resource:\n
30
+ #{obj || "\n"}\n
31
+ #{req && req.url}\n
32
+ #{res && res.message}\n
33
+ #{res && res.class}\n"""
34
34
  end
35
35
 
36
36
  def fetch_ok(obj, request, response)
@@ -0,0 +1,12 @@
1
+ require_relative 'abstract_resource'
2
+
3
+ module FbResource
4
+ class Device < AbstractResource
5
+ self.path = '/api/device/'
6
+
7
+ # Alias for #all() because #all() makes no sense on a singular resource.
8
+ def current
9
+ all
10
+ end
11
+ end
12
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: farmbot-resource
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rick Carlino
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-24 00:00:00.000000000 Z
11
+ date: 2016-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -116,6 +116,7 @@ files:
116
116
  - lib/http/good_http_resp.rb
117
117
  - lib/http/http.rb
118
118
  - lib/resources/abstract_resource.rb
119
+ - lib/resources/device.rb
119
120
  - lib/resources/plants.rb
120
121
  - lib/resources/schedules.rb
121
122
  - lib/resources/sequences.rb