synowebapi 0.0.2 → 0.0.3

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: 7ec3b360d441100cae0596ff45f524c9f48156e0
4
- data.tar.gz: a685d90e737519bce903bbfd62594a197a56b931
3
+ metadata.gz: 7efe5d4e3a2c8b80405384c4cb31722b92cdaddf
4
+ data.tar.gz: 50f66ce05dea62b4ac91b220d82796868955cc5e
5
5
  SHA512:
6
- metadata.gz: 978be7989b2a57cdc5de5119dba59f8c7374980fa9b6f947da6ca966a54bdb8c3abc00177963c05751ce6ddad1026a40edfea716ebc8318fc550d857ff3dbf16
7
- data.tar.gz: c4e4250cef5f09be9f4fe01393eea63e31ee194c610207146dac02a00cbc23c678a0c5020d427742e6b038b09dca816626d72fdca814fbb2c179b2270ddf09f4
6
+ metadata.gz: ac3b3e5a6c62ebf565e54ab38424595d089ede27a483740668bffae0f366393cdb0230ae24c0f256ab740b31de9b59aff3e30844fe71c287cf157f95f611da4f
7
+ data.tar.gz: e85f6bd610ee53644febb44c473c7ea0fdd0cd7d97110530674c60d7247b8592b255cf877f2e2c2b7ca354ca474c66a53ba2c64576321afe194b895821f16765
data/README.md CHANGED
@@ -4,7 +4,7 @@ Ruby gem for [Synology](http://www.synology.com//) Web API
4
4
 
5
5
  ## Installation
6
6
 
7
- ```
7
+ ```sh
8
8
  $ gem install synowebapi
9
9
  ```
10
10
 
@@ -16,9 +16,19 @@ require 'synowebapi'
16
16
  client = SYNOWebAPI::Client.new('http://192.168.10.10:5000')
17
17
  client.connect(username: 'admin', password: 'password')
18
18
 
19
+ # Enable telnet service
20
+ # Check `cat /usr/syno/synoman/webapi/SYNO.Core.Terminal.lib | jq` for partial API info
19
21
  client['SYNO.Core.Terminal'].request(method: 'set', enable_telnet: true)
22
+ # Yet another way to send the identical request above
20
23
  client['SYNO.Core.Terminal'].set(enable_ssh: true)
21
24
 
25
+ # Show disks information.
26
+ # Check `cat /usr/syno/synoman/webapi/SYNO.Storage.CGI.lib | jq` for partial API info
27
+ resp = client['SYNO.Storage.CGI.Storage'].load_info
28
+ resp['disks'].each do |disk|
29
+ puts "%-8s %-10s %-25s %-20s" % [disk['name'], disk['vendor'], disk['model'], disk['serial']]
30
+ end
31
+
22
32
  client.disconnect
23
33
  ```
24
34
 
data/lib/synowebapi.rb CHANGED
@@ -9,5 +9,4 @@ module SYNOWebAPI
9
9
  require 'synowebapi/version'
10
10
  require 'synowebapi/client'
11
11
  require 'synowebapi/api'
12
-
13
12
  end
@@ -7,15 +7,14 @@ module SYNOWebAPI
7
7
  class Client
8
8
  attr_reader :url, :api, :session_id, :session_name
9
9
 
10
- def initialize(url, **params)
10
+ def initialize(url)
11
11
  @url = url
12
12
  @session_id = @session_name = ''
13
13
  @conn = Faraday.new(:url => @url) do |f|
14
14
  f.request(:url_encoded)
15
+ f.response(:json)
15
16
  f.adapter(Faraday.default_adapter)
16
- f.use(FaradayMiddleware::ParseJson)
17
17
  end
18
- connect(params) if params
19
18
  end
20
19
 
21
20
  def connect(params)
@@ -62,6 +61,9 @@ module SYNOWebAPI
62
61
  api[api_name] = API.new(api_name, self, params)
63
62
  end
64
63
  end
64
+
65
+ rescue Faraday::ParsingError
66
+ raise StandardError.new("Failed to parse query response")
65
67
  end
66
68
 
67
69
  end
@@ -1,5 +1,5 @@
1
1
 
2
2
  module SYNOWebAPI
3
- VERSION = '0.0.2'
3
+ VERSION = '0.0.3'
4
4
  end
5
5
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: synowebapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chung-Chiang Cheng
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-07 00:00:00.000000000 Z
11
+ date: 2017-12-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -74,7 +74,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
74
74
  version: '0'
75
75
  requirements: []
76
76
  rubyforge_project:
77
- rubygems_version: 2.4.5
77
+ rubygems_version: 2.6.14
78
78
  signing_key:
79
79
  specification_version: 4
80
80
  summary: Ruby gem for Synology Web API