platformcraft-filespot 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +5 -0
- data/README.md +2 -0
- data/Rakefile +26 -0
- data/lib/filespot/digest.rb +1 -1
- data/lib/filespot/response.rb +8 -9
- data/lib/filespot/version.rb +1 -1
- data/platformcraft-filespot.gemspec +1 -0
- data/spec/lib/client/download_spec.rb +0 -2
- data/spec/lib/digest_spec.rb +11 -7
- data/spec/lib/response_spec.rb +0 -2
- data/spec/spec_helper.rb +2 -0
- metadata +19 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9bb3562213d02635405c3b26c8cd37e2dc4289b5
|
4
|
+
data.tar.gz: ae843536033964ca2e757bb029e4d9b92c4cabf6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 906ef21911f89f986f7cb2854463369e1e5ed532bfed47ae598dfc238834252f8e6cb84e223c6558236e6bb6ec3a248622ce311871eac4f88be5b740c51009b6
|
7
|
+
data.tar.gz: c340ee0cb7fbfab8b0c96993bfd0ac28a43ce317685af5127c92acf6cb4bee422431a9fdbeb3100845a9c752142e76d7e65514f2b9f359004651806afe2b4d2f
|
data/README.md
CHANGED
data/Rakefile
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'bundler'
|
2
|
+
Bundler::GemHelper.install_tasks
|
3
|
+
|
4
|
+
require 'rspec/core/rake_task'
|
5
|
+
RSpec::Core::RakeTask.new(:spec)
|
6
|
+
|
7
|
+
task default: :spec
|
8
|
+
|
9
|
+
namespace :doc do
|
10
|
+
begin
|
11
|
+
require 'yard'
|
12
|
+
rescue LoadError
|
13
|
+
else
|
14
|
+
YARD::Rake::YardocTask.new do |task|
|
15
|
+
task.files = ['README.md', 'lib/**/*.rb']
|
16
|
+
task.options = [
|
17
|
+
'--protected',
|
18
|
+
'--output-dir', 'doc/yard',
|
19
|
+
'--tag', 'format:Supported formats',
|
20
|
+
'--tag', 'authenticated:Requires Authentication',
|
21
|
+
'--tag', 'rate_limited:Rate Limited',
|
22
|
+
'--markup', 'markdown',
|
23
|
+
]
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/filespot/digest.rb
CHANGED
@@ -4,7 +4,7 @@ require 'base64'
|
|
4
4
|
module Filespot
|
5
5
|
class Digest
|
6
6
|
def self.hmac(http_method, uri)
|
7
|
-
data = "#{http_method.upcase}+#{URI.decode(uri).gsub(
|
7
|
+
data = "#{http_method.upcase}+#{URI.decode(uri).gsub(/\Ahttps?:\/\//, '')}"
|
8
8
|
OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha256'), Filespot.apikey, data)
|
9
9
|
end
|
10
10
|
end
|
data/lib/filespot/response.rb
CHANGED
@@ -5,22 +5,21 @@ module Filespot
|
|
5
5
|
attr_reader :code, :status, :data
|
6
6
|
|
7
7
|
def initialize(response)
|
8
|
+
return error if response.status == 500
|
9
|
+
|
10
|
+
@data = JSON.parse(response.body)
|
8
11
|
if response.status == 200
|
9
|
-
|
10
|
-
@
|
11
|
-
@status = json_data.delete('status')
|
12
|
-
@data = json_data
|
13
|
-
else
|
14
|
-
return_error
|
12
|
+
@code = @data.delete('code').to_i
|
13
|
+
@status = @data.delete('status')
|
15
14
|
end
|
15
|
+
error(response.status) unless @status
|
16
16
|
end
|
17
17
|
|
18
18
|
private
|
19
19
|
|
20
|
-
def
|
21
|
-
@code =
|
20
|
+
def error(code=500)
|
21
|
+
@code = code
|
22
22
|
@status = 'error'
|
23
|
-
@data = nil
|
24
23
|
end
|
25
24
|
end
|
26
25
|
end
|
data/lib/filespot/version.rb
CHANGED
@@ -8,6 +8,7 @@ Gem::Specification.new do |gem|
|
|
8
8
|
gem.summary = "http://doc.platformcraft.ru/filespot/api/"
|
9
9
|
gem.homepage = ""
|
10
10
|
|
11
|
+
gem.add_development_dependency 'rake'
|
11
12
|
gem.add_development_dependency 'rspec'
|
12
13
|
gem.add_development_dependency 'webmock'
|
13
14
|
gem.add_dependency 'json'
|
data/spec/lib/digest_spec.rb
CHANGED
@@ -1,12 +1,16 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
1
|
describe Filespot::Digest do
|
4
|
-
context '
|
5
|
-
|
2
|
+
context '#hmac' do
|
3
|
+
let (:apikey) { 'APIUserKey' }
|
4
|
+
let (:url) { 'api.platformcraft.ru/1/objects?apiuserid=test×tamp=1450342665' }
|
5
|
+
let (:hash) { OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha256'), apikey, "GET+#{url}") }
|
6
|
+
|
7
|
+
subject { described_class.hmac('GET', url) }
|
8
|
+
|
9
|
+
|
10
|
+
it 'evaluate correct' do
|
11
|
+
allow(Filespot).to receive(:apikey).and_return(apikey)
|
6
12
|
|
7
|
-
|
8
|
-
allow(Filespot).to receive(:apikey) { "APIUserKey" }
|
9
|
-
expect(subject).to eq '46c5500379d2c09c6f8972c7fd79c27fd7ebf0dd0ab47833a034fd613a4f4d93'
|
13
|
+
expect(subject).to eq hash
|
10
14
|
end
|
11
15
|
end
|
12
16
|
end
|
data/spec/lib/response_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: platformcraft-filespot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- droff
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-06-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: rspec
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -74,8 +88,10 @@ extra_rdoc_files: []
|
|
74
88
|
files:
|
75
89
|
- ".gitignore"
|
76
90
|
- ".rspec"
|
91
|
+
- ".travis.yml"
|
77
92
|
- Gemfile
|
78
93
|
- README.md
|
94
|
+
- Rakefile
|
79
95
|
- lib/filespot.rb
|
80
96
|
- lib/filespot/client.rb
|
81
97
|
- lib/filespot/client/download.rb
|
@@ -121,3 +137,4 @@ signing_key:
|
|
121
137
|
specification_version: 4
|
122
138
|
summary: http://doc.platformcraft.ru/filespot/api/
|
123
139
|
test_files: []
|
140
|
+
has_rdoc:
|