synowebapi 0.0.1 → 0.0.2

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: 95ed9aa63ce6edb70a0cd2fdf0affa15e3f7eb85
4
- data.tar.gz: 2ac9ba4a1b31f3963977b81b70c1584de9f58098
3
+ metadata.gz: 7ec3b360d441100cae0596ff45f524c9f48156e0
4
+ data.tar.gz: a685d90e737519bce903bbfd62594a197a56b931
5
5
  SHA512:
6
- metadata.gz: e37b1cd570ae8ef30ae1cbbecfd54f1eef9a9268672592403287137ac72de4f0baaed7ce92f00b5bc89ed204a48842fea273f05a962747934c63f981d74ec29d
7
- data.tar.gz: e31c3ecec2f461d85d378984a12f78a02c1c04d045b1f40d9c9f2586ce7270401e043027c68f40f88617f17c61100cc2d304dcb8f978e9fabb6be6c08fac40f2
6
+ metadata.gz: 978be7989b2a57cdc5de5119dba59f8c7374980fa9b6f947da6ca966a54bdb8c3abc00177963c05751ce6ddad1026a40edfea716ebc8318fc550d857ff3dbf16
7
+ data.tar.gz: c4e4250cef5f09be9f4fe01393eea63e31ee194c610207146dac02a00cbc23c678a0c5020d427742e6b038b09dca816626d72fdca814fbb2c179b2270ddf09f4
@@ -5,11 +5,13 @@ require 'synowebapi/api'
5
5
 
6
6
  module SYNOWebAPI
7
7
  class Client
8
- attr_reader :url, :api, :session_id
8
+ attr_reader :url, :api, :session_id, :session_name
9
9
 
10
- def initialize(url, params = nil)
10
+ def initialize(url, **params)
11
11
  @url = url
12
+ @session_id = @session_name = ''
12
13
  @conn = Faraday.new(:url => @url) do |f|
14
+ f.request(:url_encoded)
13
15
  f.adapter(Faraday.default_adapter)
14
16
  f.use(FaradayMiddleware::ParseJson)
15
17
  end
@@ -17,19 +19,18 @@ module SYNOWebAPI
17
19
  end
18
20
 
19
21
  def connect(params)
20
- resp = self['SYNO.API.Auth'].request(
21
- :method => 'login',
22
+ @session_name = params[:session_name] || @session_name
23
+ resp = self['SYNO.API.Auth'].login(
22
24
  :account => params[:username],
23
25
  :passwd => params[:password],
24
- :session => params[:session_id],
26
+ :session => @session_name,
25
27
  :format => 'sid',
26
28
  )
27
-
28
29
  @session_id = resp['sid']
29
30
  end
30
31
 
31
32
  def disconnect
32
- self['SYNO.API.Auth'].request(:method => 'logout', :session => @session_id)
33
+ self['SYNO.API.Auth'].logout(:session => @session_id)
33
34
  end
34
35
 
35
36
  def send(api, params = {})
@@ -45,7 +46,7 @@ module SYNOWebAPI
45
46
 
46
47
  def [](api_name)
47
48
  @api ||= query_api
48
- @api[api_name] ? @api[api_name] : (raise ArgumentError.new("#{api_name} isn't found"))
49
+ @api[api_name] || (raise ArgumentError.new("WebAPI '#{api_name}' isn't found"))
49
50
  end
50
51
 
51
52
  private
@@ -1,5 +1,5 @@
1
1
 
2
2
  module SYNOWebAPI
3
- VERSION = '0.0.1'
3
+ VERSION = '0.0.2'
4
4
  end
5
5
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: synowebapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chung-Chiang Cheng