pcloud 0.0.4 → 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
  SHA256:
3
- metadata.gz: 488c8b94851e3db065174d08c512e6ecb55b0217d67df05f403c7616404491c8
4
- data.tar.gz: 56d94559f29edd8f1ce9e94307a1674ad880bc772aae137346efe3a63e9df91a
3
+ metadata.gz: f947200228e5097393b62dfec894cb23446ab98aa6a5cae771df06f7aa857157
4
+ data.tar.gz: a112e53a402bf4ff3712d97c4ebf6bab0a1d45344c3cec64c7166c530cec2d4d
5
5
  SHA512:
6
- metadata.gz: 3a80966ba741f5b3c9b8d4b522143db68f9f5e4561ac811df29c6ce6d0ccfae9b3ecf27fc81b9fbde57548e134245427e7cdb4a65a881d98c661dde4e24e6e3c
7
- data.tar.gz: 19b0ab6b6a4475a93994183f05a4ee3e72bad7a70176a2c859e30e022fbef36e778d33857a724f759901264417c7b96ee6785a48a77786490a3f3f458258eeee
6
+ metadata.gz: f9268db7b79edd81d07ab7e4e6f927749dd862ec4de3ebb1abcaf32198c2dcf1844e28a6b3c884ccf0776df3e2cd2024ae0593a093bd9c92b2f296d8e08886ab
7
+ data.tar.gz: e21f80afd09d7e397835c2ab2d6e88bb76f30999b5e2da60f53ed942bf11976bba044554b2c74c97659803b5a8e7215302d2f4d0290940678d934c5cb64749eb
data/CHANGELOG.md ADDED
@@ -0,0 +1,73 @@
1
+ # Changelog
2
+
3
+ ### [0.3.1](https://www.github.com/7urkm3n/pcloud/compare/v0.3.0...v0.3.1) (2021-09-04)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * version update ([9bf5268](https://www.github.com/7urkm3n/pcloud/commit/9bf52681a94e6b17ec721778bfaeee39c1750a36))
9
+
10
+ ## [0.3.0](https://www.github.com/7urkm3n/pcloud/compare/v0.2.0...v0.3.0) (2021-09-04)
11
+
12
+
13
+ ### ⚠ BREAKING CHANGES
14
+
15
+ * initialization
16
+
17
+ ### Bug Fixes
18
+
19
+ * initialization ([6dc7735](https://www.github.com/7urkm3n/pcloud/commit/6dc77359c4bd3003ad05ed54705bfa70a6a95e62))
20
+
21
+ ## [0.2.0](https://www.github.com/7urkm3n/pcloud/compare/v0.1.0...v0.2.0) (2021-09-04)
22
+
23
+
24
+ ### ⚠ BREAKING CHANGES
25
+
26
+ * major update
27
+
28
+ ### Features
29
+
30
+ * major update ([3c1a191](https://www.github.com/7urkm3n/pcloud/commit/3c1a1914606391739f08e29c264528ba3d02d112))
31
+
32
+ ## 0.1.0 (2021-08-19)
33
+
34
+ ### Features
35
+
36
+ - version 0.1.0 ([bafbe4b](https://www.github.com/7urkm3n/pcloud/commit/bafbe4b1d0301eb99446c703176eb35d6dc41336))
37
+
38
+ ### Bug Fixes
39
+
40
+ - fixing workflow ([858cab4](https://www.github.com/7urkm3n/pcloud/commit/858cab495be548013c3e61756e626ce17cd38db3))
41
+ - workflows works, testing version auto bump ([9de8276](https://www.github.com/7urkm3n/pcloud/commit/9de82767c31c1ae003e268910b23108bba4f2e8c))
42
+
43
+ #### v0.0.4
44
+
45
+ ##### Updates
46
+
47
+ - Minor changes
48
+ - Upload and Download added and avilable now
49
+ - Post method is avilable now.
50
+ - Upload/Download async version is on work.
51
+
52
+ #### v0.0.3
53
+
54
+ ##### Updates
55
+
56
+ - Minor updates
57
+ - Upload and Download added - needs maintain
58
+ - Post method fixed and added back
59
+
60
+ #### v0.0.2
61
+
62
+ ##### Updates
63
+
64
+ - Minor updates
65
+ - Test files added
66
+ - Removed `Post` method temporarily
67
+
68
+ #### v0.0.1
69
+
70
+ ##### Publish
71
+
72
+ - Available get Method
73
+ - Incoming {Upload|Download} files
data/README.md CHANGED
@@ -2,25 +2,28 @@
2
2
 
3
3
  This Gem provides a Ruby interface to [Pcloud.com](https://docs.pcloud.com).
4
4
 
5
- [![Build Status](https://github.com/7urkm3n/pcloud/workflows/build/badge.svg?branch=master)](https://github.com/7urkm3n/pcloud/actions?query=workflow%3Abuild) [![Gem Downloads](https://badgen.net/rubygems/dt/pcloud)](https://rubygems.org/gems/pcloud) [![Gem Version](https://badge.fury.io/rb/pcloud.svg)](https://badge.fury.io/rb/pcloud)
5
+ [![Build Status](https://github.com/7urkm3n/pcloud/workflows/release/badge.svg?branch=main)](https://github.com/7urkm3n/pcloud/actions?query=workflow%3Arelease) [![Gem Downloads](https://badgen.net/rubygems/dt/pcloud)](https://rubygems.org/gems/pcloud) [![Gem Version](https://badge.fury.io/rb/pcloud.svg)](https://badge.fury.io/rb/pcloud)
6
6
 
7
7
  <!-- [![Gem Version](https://badgen.net/rubygems/v/pcloud)](https://rubygems.org/gems/pcloud) -->
8
8
 
9
+ ##### Want to contribute? [Doc Link](https://github.com/7urkm3n/pcloud/CONTRIBUTE.md)
10
+
9
11
  ## Installation and Configuration
10
12
 
11
13
  Add `pcloud` to your Gemfile, and then run `bundle install`
12
14
 
13
- ``` ruby
15
+ ```ruby
14
16
  gem 'pcloud'
15
17
  ```
16
18
 
17
19
  or install via gem
18
20
 
19
- ``` bash
21
+ ```bash
20
22
  gem install pcloud
21
23
  ```
22
24
 
23
25
  ###### Rails
26
+
24
27
  to generate `Rails` initializer file
25
28
 
26
29
  ```bash
@@ -35,87 +38,109 @@ config/initializers/pcloud.rb
35
38
 
36
39
  ### Instantiating a client
37
40
 
38
- ``` ruby
41
+ ```ruby
39
42
  require 'pcloud'
40
43
 
41
44
  pcloud = Pcloud::Client.new(
42
45
  username: 'email',
43
46
  password: 'password',
44
- )
45
- ```
47
+ ).authenticate
46
48
 
49
+ pcloud.get("listfolder", folderid: 0)
50
+ ```
47
51
 
48
52
  ### Global configuration
49
53
 
50
54
  The library can also be configured globally on the `Pcloud` class.
51
55
 
52
- ``` ruby
56
+ ```ruby
53
57
  Pcloud.username = 'email'
54
58
  Pcloud.password = 'password'
59
+ Pcloud.authenticate
60
+
61
+ Pcloud.get("listfolder", folderid: 0)
55
62
  ```
56
63
 
57
- <!-- ### Logging
64
+ ### Logging
58
65
 
59
66
  By default errors are logged in STDOUT level, also `Rails.logger` available.
60
67
 
61
- ``` ruby
68
+ ```ruby
62
69
  Pcloud.logger = Rails.logger
63
- ``` -->
70
+ ```
71
+
72
+ ### Working with methods
64
73
 
65
- ## Working with methods
74
+ Available methods:
66
75
 
67
- Currently, only available custom Get method.
76
+ - <b> Get </b>
77
+ - <b> Post </b>
78
+ - <b> File handling </b>
68
79
 
69
- File Upload and Download methods are coming soon.
80
+ ###### addition!
70
81
 
82
+ > Some apis need to be `raw` format, just add `raw` in params. `params: {fileid: ..987, raw: true}`
83
+ > For example `gettextfile` https://docs.pcloud.com/methods/streaming/gettextfile.html
71
84
 
72
- #### Get methods
85
+ #### Get method
73
86
 
74
- ``` ruby
87
+ ```ruby
75
88
  Pcloud.get("getip")
76
89
  Pcloud.get("getdigest")
77
90
 
78
91
  # with params
79
- Pcloud.get("listfolder", folderid: 0)
92
+ params = {folderid: 0}
93
+ Pcloud.get("listfolder", params)
80
94
  ```
81
- <!-- Pcloud.get("createfolder", folderid: 0, name: "new folder name", ...) -->
82
-
83
- #### Post methods
84
95
 
85
- ``` ruby
86
- # if any of pcloud endpoints requires payload on POST request, please create an issue.
96
+ #### Post method
87
97
 
88
- # with params
89
- Pcloud.post("createfolder", folderid: 0, name: "new folder name")
98
+ ```ruby
99
+ payload = {}
100
+ params = {folderid: 0, name: "new folder name"}
101
+ Pcloud.post("createfolder", payload, params)
90
102
  ```
91
103
 
92
- #### [Files](https://docs.pcloud.com/methods/file/)
104
+ ### [File methods](https://docs.pcloud.com/methods/file/)
105
+
93
106
  ##### [Download File](https://docs.pcloud.com/methods/file/downloadfile.html)
94
107
 
95
- ``` ruby
96
- #obtain filelink from: https://docs.pcloud.com/methods/streaming/getfilelink.html
108
+ ```ruby
109
+ # optional params: filename, destination
110
+ # destination by default current_path
111
+ Pcloud.file.download({fileid: 987532135})
97
112
 
98
113
  Pcloud.file.download(
99
- url: filelink, #required
100
- destination: "#{Dir.pwd}/Downloads", #required
101
- filename: "hehe.txt" #optional
114
+ fileid: 987532135, #required
115
+ destination: "#{Dir.pwd}/Downloads", #optional
116
+ filename: "hehe.txt" #optional
102
117
  )
103
118
  ```
104
119
 
105
- ##### [Upload File](https://docs.pcloud.com/methods/file/uploadfile.html)
120
+ ##### [Download Folder](#)
106
121
 
107
- ``` ruby
108
- # still in BETA! -
109
- # only supports single file download
122
+ ```ruby
123
+ # optional params: filename, destination
124
+ # destination by default current_path
125
+ Pcloud.file.download_folder({folderid: 123456789})
126
+ ```
127
+
128
+ ##### [Upload File](https://docs.pcloud.com/methods/file/uploadfile.html)
110
129
 
111
- file = File.open("/Users/7urkm3n/Downloads/anything.file")
130
+ ```ruby
112
131
  params = {
113
- folderid: 0, #required
114
- filename: "anything.txt" #required
132
+ folderid: 0, #required
133
+ nopartial: 1,
115
134
  }
116
- payload = {file: file}
135
+ # multiple uploads
136
+ file1 = File.open("./Rakefile")
137
+ file2 = File.open("./README.md")
138
+ file3 = File.open("./Gemfile")
139
+ payload = { files: [file1,file2,file3] }
140
+
117
141
  Pcloud.file.upload(params, payload)
118
142
  ```
119
143
 
120
144
  ### Supported Ruby versions
145
+
121
146
  2.2+
data/lib/pcloud/client.rb CHANGED
@@ -1,51 +1,64 @@
1
1
  require 'json'
2
2
  require 'rest-client'
3
+ require_relative './request'
4
+ require_relative "./files/file_handler"
3
5
 
4
6
  module Pcloud
5
7
  class Client
6
8
  attr_writer :username, :password
9
+ attr_accessor :auth_token
7
10
 
8
11
  def initialize(options = {})
9
12
  @username, @password = options.values_at(:username, :password)
13
+ @auth_token = options[:auth_token]
10
14
  end
11
15
 
12
- def get(path, params = {})
13
- resource(path).get(params)
16
+ def get(path, params={})
17
+ request(:get, path, params)
14
18
  end
15
19
 
16
- def post(path, params = {})
17
- resource(path).post(params)
20
+ def post(path, payload={}, params={})
21
+ request(:post, path, params, payload)
18
22
  end
19
23
 
20
24
  def file
21
- Resource.new(self).file()
25
+ @file ||= FileHandler.new(self)
22
26
  end
23
27
 
24
28
  def http_client
25
- @client ||= RestClient::Resource.new(BASE_URL)
29
+ @http_client ||= RestClient::Resource.new(BASE_URL)
26
30
  end
27
31
 
28
- def auth
29
- @auth ||= begin
30
- raise ConfigurationError, :username unless @username
31
- raise ConfigurationError, :password unless @password
32
- digest = JSON.parse(RestClient.get("#{BASE_URL}/getdigest"))['digest']
33
- passworddigest = digest_data(@password + digest_data( @username.downcase ) + digest)
34
- JSON.parse(
35
- RestClient.get("#{BASE_URL}/userinfo?getauth=1&logout=1",
36
- {params: {username: @username, digest: digest, passworddigest: passworddigest}})
37
- )['auth']
38
- end
32
+ def authenticate(options = {})
33
+ @auth_token = authorize(options)['auth']
34
+ self
39
35
  end
40
36
 
41
- private
37
+ private
42
38
 
43
- def resource(path)
44
- Resource.new(self, path)
39
+ def request(verb, path, params, payload = {})
40
+ Pcloud::Request.call(self, verb, path, params, payload)
41
+ end
42
+
43
+ def authorize(options)
44
+ raise ConfigurationError, :username unless @username
45
+ raise ConfigurationError, :password unless @password
46
+ digest = JSON.parse(RestClient.get("#{BASE_URL}/getdigest"))['digest']
47
+ passworddigest = digest_data(@password + digest_data( @username.downcase ) + digest)
48
+ [:username, :digest, :passworddigest, :password].each { |k| options.delete(k) }
49
+ params = {params: {
50
+ username: @username,
51
+ digest: digest,
52
+ passworddigest: passworddigest,
53
+ device: "pcloud-ruby",
54
+ getauth: 1
55
+ }.merge!(options)}
56
+ JSON.parse(RestClient.get("#{BASE_URL}/userinfo", params)) #['auth']
45
57
  end
46
58
 
47
59
  def digest_data text
48
60
  Digest::SHA1.hexdigest(text)
49
61
  end
62
+
50
63
  end
51
64
  end
@@ -1,35 +1,51 @@
1
- require 'RestClient'
1
+ require 'open-uri'
2
+ require 'zip'
2
3
 
3
4
  module Pcloud
4
5
  class FileHandler
6
+
5
7
  def initialize(client)
6
8
  @client = client
7
9
  end
8
10
 
9
11
  def upload(params, payload)
10
- create_request(:post, 'uploadfile', params, payload).call
12
+ request(:post, 'uploadfile', params, payload)
11
13
  end
12
14
 
13
15
  def download(params)
14
- url = params[:url]
15
- begin
16
- res = RestClient.get(url)
17
- rescue => e
18
- raise HTTPError.new(:HTTPError, e.message)
16
+ # destination = params[:destination] ? params[:destination] : '.'
17
+ # data = request(:get, "getfilelink", {fileid: params[:fileid], forcedownload: 1})
18
+ # url = "https://#{data[:hosts][0]+data[:path]}"
19
+ # IO.copy_stream(URI.open(url), "#{destination}/#{url.split("/").last}")
20
+ # File.write("#{destination}/#{url.split("/").last}", URI.open(url).read)
21
+
22
+ destination = params[:destination] || '.'
23
+ filename = params[:filename] || nil
24
+ if !filename
25
+ stat = request(:get, "stat", {fileid: params[:fileid]})
26
+ filename = stat[:metadata][:name]
19
27
  end
20
-
21
- filename = params[:filename] ? params[:filename] : url.split("/").last
22
- File.open("#{params[:destination]}/#{filename}", 'wb' ) do |f|
23
- f.write
28
+ File.write("#{destination}/#{filename}", request(:get, "gettextfile", {fileid: params[:fileid], raw: true}))
29
+ end
30
+
31
+ def download_folder(params)
32
+ data = request(:get, "listfolder", {folderid: params[:folderid]})
33
+ destination = params[:destination] || '.'
34
+ folder_name = params[:filename] || data[:metadata][:name] << ".zip"
35
+ stringio = Zip::OutputStream::write_buffer do |zio|
36
+ data[:metadata][:contents].each do |content|
37
+ zio.put_next_entry(content[:name])
38
+ zio.write(request(:get, "gettextfile", {fileid: content[:fileid], raw: true}))
39
+ end
24
40
  end
25
- res.code
41
+ stringio.rewind #reposition buffer pointer to the beginning
42
+ File.new("#{destination}/#{folder_name}","wb").write(stringio.sysread) #write buffer to zipfile
26
43
  end
27
44
 
28
- private
45
+ private
29
46
 
30
- def create_request(verb, path, params, payload = {})
31
- Request.new(@client, verb, path, params, payload)
47
+ def request(verb, path, params, payload = {})
48
+ Pcloud::Request.call(@client, verb, path, params, payload)
32
49
  end
33
-
34
50
  end
35
51
  end
@@ -1,46 +1,43 @@
1
1
  module Pcloud
2
- class Request
3
- def initialize(client, verb, path, params, payload)
4
- @client, @verb, @path, @params, @payload = client, verb, path, params, payload
5
- end
6
-
7
- def call
8
- params = {params: {}}
9
- params[:params].merge!(@params, {auth: @client.auth})
10
- http = @client.http_client
11
- res = case @verb
12
- when :get
13
- begin
14
- http[@path].get(params)
15
- rescue => e
16
- handle_response(e.http_code, e.message)
17
- end
18
- when :post
19
- begin
20
- http[@path].post(@payload, params)
21
- rescue => e
22
- handle_response(e.http_code, e.message)
2
+ module Request
3
+ class << self
4
+ def call(client, verb, path, params, payload={})
5
+ params = {params: {}.merge!(params, {auth: client.auth_token})}
6
+ http = client.http_client
7
+ res = case verb
8
+ when :get
9
+ begin
10
+ http[path].get(params)
11
+ rescue => e
12
+ handle_response(e.http_code, e.message)
13
+ end
14
+ when :post
15
+ begin
16
+ http[path].post(payload, params)
17
+ rescue => e
18
+ handle_response(e.http_code, e.message)
19
+ end
20
+ else
21
+ raise "Unsupported verb (get and post available): #{verb}"
23
22
  end
24
- else
25
- raise "Unsupported verb: #{@verb}"
26
- end
27
- JSON.parse(res.body, { symbolize_names: true })
28
- end
23
+ return res.body if params[:params][:raw]
24
+ JSON.parse(res.body, { symbolize_names: true })
25
+ end
29
26
 
30
27
  private
31
28
 
32
- def handle_response(status_code, body)
33
- case status_code
34
- when 400
35
- raise HTTPError.new(:HTTPError, body)
36
- when 401
37
- raise AuthenticationError, body
38
- when 404
39
- raise HTTPError.new(:HTTPError, body)
40
- else
41
- raise Error, "Unknown error (status code #{status_code}): #{body}"
29
+ def handle_response(status_code, body)
30
+ case status_code
31
+ when 400
32
+ raise HTTPError.new(:HTTPError, body)
33
+ when 401
34
+ raise AuthenticationError, body
35
+ when 404
36
+ raise HTTPError.new(:HTTPError, body)
37
+ else
38
+ raise Error, "Unknown error (status code #{status_code}): #{body}"
39
+ end
42
40
  end
43
41
  end
44
-
45
42
  end
46
43
  end
@@ -1,3 +1,3 @@
1
1
  module Pcloud
2
- VERSION = '0.0.4'
2
+ VERSION = '0.3.0'
3
3
  end
data/lib/pcloud.rb CHANGED
@@ -1,17 +1,21 @@
1
1
  autoload 'Logger', 'logger'
2
2
  require 'forwardable'
3
- require 'pcloud/client'
3
+ require_relative 'pcloud/client'
4
4
 
5
5
  module Pcloud
6
6
  BASE_URL = 'https://api.pcloud.com'.freeze
7
7
 
8
8
  class << self
9
9
  extend Forwardable
10
- def_delegators :default_client, :username=, :password=
11
- def_delegators :default_client, :get
10
+ def_delegators :client, :auth_token=, :username=, :password=
11
+ def_delegators :client, :get, :post, :file, :authenticate
12
12
 
13
13
  attr_writer :logger
14
14
 
15
+ def client
16
+ @client ||= Pcloud::Client.new
17
+ end
18
+
15
19
  def logger
16
20
  @logger ||= begin
17
21
  log = Logger.new($stdout)
@@ -20,13 +24,8 @@ module Pcloud
20
24
  end
21
25
  end
22
26
 
23
- def default_client
24
- @default_client ||= Pcloud::Client.new
25
- end
26
27
  end
27
28
  end
28
29
 
29
- require 'pcloud/version'
30
- require 'pcloud/request'
31
- require 'pcloud/resource'
32
- require 'pcloud/exceptions'
30
+ require_relative './pcloud/version'
31
+ require_relative './pcloud/exceptions'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pcloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rovshen Gurdov
8
8
  autorequire:
9
- bindir: bin
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-03 00:00:00.000000000 Z
11
+ date: 2021-09-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.2.0
47
+ version: 1.3.2
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.2.0
54
+ version: 1.3.2
55
55
  description: Pcloud is cloud storage upload/download/share from pcloud.com. Please,
56
56
  check available methods in Github Doc...
57
57
  email:
@@ -60,7 +60,7 @@ executables: []
60
60
  extensions: []
61
61
  extra_rdoc_files: []
62
62
  files:
63
- - Changelog.md
63
+ - CHANGELOG.md
64
64
  - LICENSE
65
65
  - README.md
66
66
  - lib/generators/pcloud.rb
@@ -70,14 +70,13 @@ files:
70
70
  - lib/pcloud/exceptions.rb
71
71
  - lib/pcloud/files/file_handler.rb
72
72
  - lib/pcloud/request.rb
73
- - lib/pcloud/resource.rb
74
73
  - lib/pcloud/version.rb
75
- homepage: https://github.com/7urkm3n/pcloud/
74
+ homepage: https://github.com/7urkm3n/pcloud
76
75
  licenses:
77
76
  - MIT
78
77
  metadata:
79
78
  bug_tracker_uri: https://github.com/7urkm3n/pcloud/issues
80
- changelog_uri: https://github.com/7urkm3n/pcloud/blob/master/Changelog.md
79
+ changelog_uri: https://github.com/7urkm3n/pcloud/blob/master/CHANGELOG.md
81
80
  documentation_uri: https://github.com/7urkm3n/pcloud
82
81
  source_code_uri: https://github.com/7urkm3n/pcloud
83
82
  post_install_message:
@@ -95,7 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
94
  - !ruby/object:Gem::Version
96
95
  version: '0'
97
96
  requirements: []
98
- rubygems_version: 3.0.3
97
+ rubygems_version: 3.2.3
99
98
  signing_key:
100
99
  specification_version: 4
101
100
  summary: Secure and simple to use cloud storage for your datas...
data/Changelog.md DELETED
@@ -1,32 +0,0 @@
1
- ### Changelogs:
2
-
3
- #### v0.0.4
4
- ##### Updates
5
- * Minor changes
6
- * Upload and Download added and avilable now
7
- * Post method is avilable now.
8
- * Upload/Download async version is on work.
9
-
10
- #### v0.0.3
11
- ##### Updates
12
- * Minor updates
13
- * Upload and Download added - needs maintain
14
- * Post method fixed and added back
15
-
16
- #### v0.0.2
17
- ##### Updates
18
- * Minor updates
19
- * Test files added
20
- * Removed `Post` method temporarily
21
-
22
- #### v0.0.1
23
- ##### Publish
24
- * Available get Method
25
- * Incoming {Upload|Download} files
26
-
27
-
28
-
29
- <!-- === 0.0.2 / 2020-09-...
30
- ==== Updates | Enhancements
31
- * Added to {Upload|Download} files.
32
- -->
@@ -1,29 +0,0 @@
1
- require "#{Dir.pwd}/lib/pcloud/files/file_handler"
2
-
3
- module Pcloud
4
- class Resource
5
-
6
- def initialize(client, path = "")
7
- @client, @path = client, path
8
- end
9
-
10
- def get(params)
11
- create_request(:get, params).call
12
- end
13
-
14
- def post(params, payload = {})
15
- create_request(:post, params, payload).call
16
- end
17
-
18
- def file
19
- @file ||= FileHandler.new(@client)
20
- end
21
-
22
- private
23
-
24
- def create_request(verb, params, payload = {})
25
- Request.new(@client, verb, @path, params, payload)
26
- end
27
-
28
- end
29
- end