farmbot-resource 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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