pcloud 0.0.3 → 0.0.4

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
  SHA256:
3
- metadata.gz: 2128c1a79983adf3f851afd99d033fe47558f3df24d1bbb335521698055dea6c
4
- data.tar.gz: 2d96ae7c6dbff5ea628ba1f7511d3951a3651d0a2aceee2da0aa4ac874e114ae
3
+ metadata.gz: 488c8b94851e3db065174d08c512e6ecb55b0217d67df05f403c7616404491c8
4
+ data.tar.gz: 56d94559f29edd8f1ce9e94307a1674ad880bc772aae137346efe3a63e9df91a
5
5
  SHA512:
6
- metadata.gz: 288b9668c7e3236f69b8575ba4834dab4a8f0aedc869d2261407ca02f0482deeb009e3df1e8c78100bf785ce804069d0d3ebf437d1a3bb03c01c81c12b533802
7
- data.tar.gz: d873eb5aa61accd34734fb1ab2ee103fc9350ac30ca3fc834f8c03a199c4b2484aceba4f8998c73277f6538aaae4567eff3f30b6ee968afc0e895ab6712e5a8b
6
+ metadata.gz: 3a80966ba741f5b3c9b8d4b522143db68f9f5e4561ac811df29c6ce6d0ccfae9b3ecf27fc81b9fbde57548e134245427e7cdb4a65a881d98c661dde4e24e6e3c
7
+ data.tar.gz: 19b0ab6b6a4475a93994183f05a4ee3e72bad7a70176a2c859e30e022fbef36e778d33857a724f759901264417c7b96ee6785a48a77786490a3f3f458258eeee
@@ -1,5 +1,12 @@
1
1
  ### Changelogs:
2
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
+
3
10
  #### v0.0.3
4
11
  ##### Updates
5
12
  * Minor updates
data/README.md CHANGED
@@ -77,15 +77,45 @@ Pcloud.get("getdigest")
77
77
 
78
78
  # with params
79
79
  Pcloud.get("listfolder", folderid: 0)
80
- Pcloud.get("createfolder", folderid: 0, name: "new folder name", ...)
81
80
  ```
81
+ <!-- Pcloud.get("createfolder", folderid: 0, name: "new folder name", ...) -->
82
82
 
83
- <!-- #### Post methods
83
+ #### Post methods
84
84
 
85
85
  ``` ruby
86
+ # if any of pcloud endpoints requires payload on POST request, please create an issue.
87
+
86
88
  # with params
87
- pcloud.get("createfolder", folderid: 0, name: "new folder name")
88
- ``` -->
89
+ Pcloud.post("createfolder", folderid: 0, name: "new folder name")
90
+ ```
91
+
92
+ #### [Files](https://docs.pcloud.com/methods/file/)
93
+ ##### [Download File](https://docs.pcloud.com/methods/file/downloadfile.html)
94
+
95
+ ``` ruby
96
+ #obtain filelink from: https://docs.pcloud.com/methods/streaming/getfilelink.html
97
+
98
+ Pcloud.file.download(
99
+ url: filelink, #required
100
+ destination: "#{Dir.pwd}/Downloads", #required
101
+ filename: "hehe.txt" #optional
102
+ )
103
+ ```
104
+
105
+ ##### [Upload File](https://docs.pcloud.com/methods/file/uploadfile.html)
106
+
107
+ ``` ruby
108
+ # still in BETA! -
109
+ # only supports single file download
110
+
111
+ file = File.open("/Users/7urkm3n/Downloads/anything.file")
112
+ params = {
113
+ folderid: 0, #required
114
+ filename: "anything.txt" #required
115
+ }
116
+ payload = {file: file}
117
+ Pcloud.file.upload(params, payload)
118
+ ```
89
119
 
90
120
  ### Supported Ruby versions
91
121
  2.2+
@@ -21,9 +21,7 @@ module Pcloud
21
21
  end
22
22
 
23
23
  def default_client
24
- @default_client ||= begin
25
- Pcloud::Client.new
26
- end
24
+ @default_client ||= Pcloud::Client.new
27
25
  end
28
26
  end
29
27
  end
@@ -1,8 +1,5 @@
1
1
  require 'json'
2
2
  require 'rest-client'
3
- # require 'file/file'
4
- # require "#{Dir.pwd}/lib/pcloud/files/file_handler"
5
-
6
3
 
7
4
  module Pcloud
8
5
  class Client
@@ -25,9 +22,7 @@ module Pcloud
25
22
  end
26
23
 
27
24
  def http_client
28
- @client ||= begin
29
- RestClient::Resource.new(BASE_URL)
30
- end
25
+ @client ||= RestClient::Resource.new(BASE_URL)
31
26
  end
32
27
 
33
28
  def auth
@@ -1,6 +1,4 @@
1
- # require File.dirname(__FILE__) + '/upload'
2
- # puts "#{Dir.pwd}/lib/pcloud/request"
3
- # require "#{Dir.pwd}/lib/pcloud/request"
1
+ require 'RestClient'
4
2
 
5
3
  module Pcloud
6
4
  class FileHandler
@@ -13,17 +11,18 @@ module Pcloud
13
11
  end
14
12
 
15
13
  def download(params)
16
- # create_request(:get, 'downloadfile', params).call
17
14
  url = params[:url]
15
+ begin
16
+ res = RestClient.get(url)
17
+ rescue => e
18
+ raise HTTPError.new(:HTTPError, e.message)
19
+ end
20
+
18
21
  filename = params[:filename] ? params[:filename] : url.split("/").last
19
- File.open("#{params[:destination]}/#{filename}", 'wb') {|f|
20
- block = proc { |response|
21
- response.read_body do |chunk|
22
- f.write chunk
23
- end
24
- }
25
- RestClient::Request.execute(method: :get,url: url,block_response: block)
26
- }
22
+ File.open("#{params[:destination]}/#{filename}", 'wb' ) do |f|
23
+ f.write
24
+ end
25
+ res.code
27
26
  end
28
27
 
29
28
  private
@@ -16,7 +16,7 @@ module Pcloud
16
16
  end
17
17
 
18
18
  def file
19
- FileHandler.new(@client)
19
+ @file ||= FileHandler.new(@client)
20
20
  end
21
21
 
22
22
  private
@@ -1,3 +1,3 @@
1
1
  module Pcloud
2
- VERSION = '0.0.3'
2
+ VERSION = '0.0.4'
3
3
  end
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.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rovshen Gurdov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-01 00:00:00.000000000 Z
11
+ date: 2020-09-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -69,7 +69,6 @@ files:
69
69
  - lib/pcloud/client.rb
70
70
  - lib/pcloud/exceptions.rb
71
71
  - lib/pcloud/files/file_handler.rb
72
- - lib/pcloud/files/upload.rb
73
72
  - lib/pcloud/request.rb
74
73
  - lib/pcloud/resource.rb
75
74
  - lib/pcloud/version.rb
@@ -1,19 +0,0 @@
1
- class Upload
2
- def self.call(auth, params)
3
- puts "AUTH: #{auth}"
4
- puts "PARAMS: #{params}"
5
- pr = {params: {
6
- folderid: 7025720177,
7
- filename: "test.txt",
8
- upload: {
9
- file: File.open("/Users/7urkm3n/Downloads/gurdov.com.txt")
10
- },
11
- auth: auth
12
- }}
13
- return JSON.parse(RestClient.get("#{Pcloud::BASE_URL}/uploadfile", pr))
14
- # fl = File.new("/Users/7urkm3n/Downloads/gurdov.com.txt", 'rb')
15
- # File.open(Rails.root.join('app','assets', 'images', file.original_filename filename), 'wb') do |file|
16
- # file.write(source_file.read)
17
- # end
18
- end
19
- end