logs_tf 0.0.4 → 0.0.6
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 +5 -5
- data/Gemfile.lock +61 -47
- data/README.md +1 -1
- data/lib/logs_tf/upload.rb +4 -3
- data/lib/logs_tf/version.rb +1 -1
- data/logs_tf.gemspec +2 -1
- data/spec/logs_tf/upload_spec.rb +26 -25
- data/spec/spec_helper.rb +2 -2
- metadata +23 -11
- data/.travis.yml +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 37793399f9fc88980cf1ee07f6aa3eb56030ac56dece78d863864a26a6bde85b
|
4
|
+
data.tar.gz: 6edc4b8a23bb54586f64149a252124ad4237e7a7211b20cf1486149006d469ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d499efe93de589e4bfe036f5cb6260a497a42cddbdd9b49d6f3acc61c129d50c3d1bc4aa2739404cadf3f863cde8a285db6c42c0c30defc4e8f96b481c980e7
|
7
|
+
data.tar.gz: 42131b4725ecbfe5544738c7583ab5138740667415bc4d0655d63a1429f706ad45322e3ab171c5f8badac2bc3310a149301f015f1e051a992d1c2dbfd9a53511
|
data/Gemfile.lock
CHANGED
@@ -1,57 +1,68 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
logs_tf (0.0.
|
5
|
-
faraday (
|
6
|
-
multipart
|
4
|
+
logs_tf (0.0.6)
|
5
|
+
faraday (>= 1.0)
|
6
|
+
faraday-multipart (>= 1.0)
|
7
|
+
multipart-post (>= 1.2.0)
|
7
8
|
|
8
9
|
GEM
|
9
10
|
remote: https://rubygems.org/
|
10
11
|
specs:
|
11
|
-
coderay (1.1.
|
12
|
-
coveralls (0.
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
diff-lcs (1.
|
19
|
-
docile (1.
|
20
|
-
faraday (
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
rspec
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
12
|
+
coderay (1.1.3)
|
13
|
+
coveralls (0.8.23)
|
14
|
+
json (>= 1.8, < 3)
|
15
|
+
simplecov (~> 0.16.1)
|
16
|
+
term-ansicolor (~> 1.3)
|
17
|
+
thor (>= 0.19.4, < 2.0)
|
18
|
+
tins (~> 1.6)
|
19
|
+
diff-lcs (1.5.0)
|
20
|
+
docile (1.4.0)
|
21
|
+
faraday (2.13.4)
|
22
|
+
faraday-net_http (>= 2.0, < 3.5)
|
23
|
+
json
|
24
|
+
logger
|
25
|
+
faraday-multipart (1.1.1)
|
26
|
+
multipart-post (~> 2.0)
|
27
|
+
faraday-net_http (3.4.1)
|
28
|
+
net-http (>= 0.5.0)
|
29
|
+
json (2.6.1)
|
30
|
+
logger (1.7.0)
|
31
|
+
method_source (1.0.0)
|
32
|
+
multipart-post (2.4.1)
|
33
|
+
net-http (0.6.0)
|
34
|
+
uri
|
35
|
+
pry (0.14.1)
|
36
|
+
coderay (~> 1.1)
|
37
|
+
method_source (~> 1.0)
|
38
|
+
pry-nav (1.0.0)
|
39
|
+
pry (>= 0.9.10, < 0.15)
|
40
|
+
rspec (3.11.0)
|
41
|
+
rspec-core (~> 3.11.0)
|
42
|
+
rspec-expectations (~> 3.11.0)
|
43
|
+
rspec-mocks (~> 3.11.0)
|
44
|
+
rspec-core (3.11.0)
|
45
|
+
rspec-support (~> 3.11.0)
|
46
|
+
rspec-expectations (3.11.0)
|
47
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
48
|
+
rspec-support (~> 3.11.0)
|
49
|
+
rspec-mocks (3.11.0)
|
50
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
51
|
+
rspec-support (~> 3.11.0)
|
52
|
+
rspec-support (3.11.0)
|
53
|
+
simplecov (0.16.1)
|
54
|
+
docile (~> 1.1)
|
55
|
+
json (>= 1.8, < 3)
|
56
|
+
simplecov-html (~> 0.10.0)
|
57
|
+
simplecov-html (0.10.2)
|
58
|
+
sync (0.5.0)
|
59
|
+
term-ansicolor (1.7.1)
|
60
|
+
tins (~> 1.0)
|
61
|
+
thor (1.2.1)
|
62
|
+
tins (1.31.0)
|
63
|
+
sync
|
64
|
+
uri (1.0.3)
|
65
|
+
vcr (6.0.0)
|
55
66
|
|
56
67
|
PLATFORMS
|
57
68
|
ruby
|
@@ -62,3 +73,6 @@ DEPENDENCIES
|
|
62
73
|
pry-nav
|
63
74
|
rspec
|
64
75
|
vcr
|
76
|
+
|
77
|
+
BUNDLED WITH
|
78
|
+
2.3.7
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Logs.tf interface [](http://travis-ci.org/Arie/logs_tf) [](https://gemnasium.com/Arie/logs_tf.png) [](https://codeclimate.com/github/Arie/logs_tf) [](http://travis-ci.org/Arie/logs_tf) [](https://gemnasium.com/Arie/logs_tf.png) [](https://codeclimate.com/github/Arie/logs_tf) [](https://coveralls.io/r/Arie/logs_tf)
|
2
2
|
|
3
3
|
A gem for the logs.tf API
|
4
4
|
|
data/lib/logs_tf/upload.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'faraday'
|
2
|
+
require 'faraday/multipart'
|
2
3
|
require 'json'
|
3
4
|
|
4
5
|
module LogsTF
|
@@ -60,8 +61,6 @@ module LogsTF
|
|
60
61
|
response_body["error"]
|
61
62
|
end
|
62
63
|
|
63
|
-
private
|
64
|
-
|
65
64
|
def response_body
|
66
65
|
@response_body ||= JSON.parse(response.body)
|
67
66
|
end
|
@@ -74,6 +73,8 @@ module LogsTF
|
|
74
73
|
response.status == 200
|
75
74
|
end
|
76
75
|
|
76
|
+
private
|
77
|
+
|
77
78
|
def post_options
|
78
79
|
{ :key => api_key,
|
79
80
|
:title => title,
|
@@ -82,7 +83,7 @@ module LogsTF
|
|
82
83
|
end
|
83
84
|
|
84
85
|
def logfile
|
85
|
-
Faraday::
|
86
|
+
Faraday::Multipart::FilePart.new(log.file, "text/plain", log.filename)
|
86
87
|
end
|
87
88
|
|
88
89
|
def title
|
data/lib/logs_tf/version.rb
CHANGED
data/logs_tf.gemspec
CHANGED
@@ -14,7 +14,8 @@ Gem::Specification.new do |gem|
|
|
14
14
|
gem.require_paths = ["lib"]
|
15
15
|
gem.homepage = 'http://github.com/Arie/logs_tf'
|
16
16
|
|
17
|
-
gem.add_dependency "faraday", "
|
17
|
+
gem.add_dependency "faraday", ">= 1.0"
|
18
|
+
gem.add_dependency "faraday-multipart", ">= 1.0"
|
18
19
|
gem.add_dependency "multipart-post", ">= 1.2.0"
|
19
20
|
|
20
21
|
gem.add_development_dependency "vcr"
|
data/spec/logs_tf/upload_spec.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
+
require 'pry-nav'
|
2
3
|
|
3
4
|
module LogsTF
|
4
5
|
|
@@ -10,110 +11,110 @@ module LogsTF
|
|
10
11
|
let(:upload) { Upload.new(log, logs_tf_url ) }
|
11
12
|
|
12
13
|
|
13
|
-
vcr_options = { :cassette_name => "upload", :record => :
|
14
|
+
vcr_options = { :cassette_name => "upload", :record => :none, :match_requests_on => [:method, :uri] }
|
14
15
|
context "uploading logfiles", :vcr => vcr_options do
|
15
16
|
|
16
17
|
describe "#send" do
|
17
18
|
|
18
19
|
it "knows the status of the request" do
|
19
20
|
upload.send
|
20
|
-
upload.
|
21
|
+
expect(upload).to be_request_success
|
21
22
|
end
|
22
23
|
|
23
24
|
it "knows if tf.logs was able to parse the log" do
|
24
25
|
upload.send
|
25
|
-
upload.
|
26
|
+
expect(upload).to be_upload_success
|
26
27
|
end
|
27
28
|
|
28
29
|
it "knows the log's location after sending" do
|
29
30
|
upload.send
|
30
|
-
upload.url.
|
31
|
+
expect(upload.url).to eql "#{logs_tf_url}/91"
|
31
32
|
end
|
32
33
|
|
33
34
|
it "raises the appropriate error when upload was unsuccessful" do
|
34
|
-
upload.
|
35
|
-
upload.
|
36
|
-
upload.
|
37
|
-
upload.
|
35
|
+
expect(upload).to receive(:connection).and_return(double(:connection).as_null_object)
|
36
|
+
expect(upload).to receive(:request_success?).and_return(true)
|
37
|
+
expect(upload).to receive(:upload_success?).and_return(false)
|
38
|
+
expect(upload).to receive(:raise_logs_tf_error)
|
38
39
|
upload.send
|
39
40
|
end
|
40
41
|
|
41
42
|
it "raises an error when the response status is not 200" do
|
42
|
-
upload.
|
43
|
-
upload.
|
43
|
+
expect(upload).to receive(:connection).and_return(double(:connection).as_null_object)
|
44
|
+
expect(upload).to receive(:request_success?).and_return(false)
|
44
45
|
expect{upload.send}.to raise_error Upload::RequestError
|
45
46
|
end
|
46
47
|
|
47
48
|
end
|
48
49
|
|
49
50
|
describe '#error' do
|
50
|
-
before { upload.
|
51
|
+
before { expect(upload).to receive(:response).and_return(double(body: '{ "error": "foobar" }')) }
|
51
52
|
|
52
53
|
it "parses the JSON respone from logs.tf for the error message" do
|
53
|
-
upload.error.
|
54
|
+
expect(upload.error).to eql 'foobar'
|
54
55
|
end
|
55
56
|
|
56
57
|
end
|
57
58
|
|
58
59
|
describe '#raise_logs_tf_error' do
|
59
60
|
|
60
|
-
before { upload.
|
61
|
+
before { expect(upload).to receive(:response).and_return(double(body: '{ "error": "foobar" }')) }
|
61
62
|
|
62
63
|
it "raises InvalidLogError" do
|
63
|
-
upload.
|
64
|
+
expect(upload).to receive(:error).and_return("Invalid log file")
|
64
65
|
expect{upload.raise_logs_tf_error}.to raise_error Upload::InvalidLogError
|
65
66
|
end
|
66
67
|
|
67
68
|
it "raises MissingLogError" do
|
68
|
-
upload.
|
69
|
+
expect(upload).to receive(:error).and_return("No file")
|
69
70
|
expect{upload.raise_logs_tf_error}.to raise_error Upload::MissingLogError
|
70
71
|
end
|
71
72
|
|
72
73
|
it "raises NotAuthenticatedError" do
|
73
|
-
upload.
|
74
|
+
expect(upload).to receive(:error).and_return("Not authenticated")
|
74
75
|
expect{upload.raise_logs_tf_error}.to raise_error Upload::NotAuthenticatedError
|
75
76
|
end
|
76
77
|
|
77
78
|
it "raises InvalidAPIKeyError" do
|
78
|
-
upload.
|
79
|
+
expect(upload).to receive(:error).and_return("Invalid API key")
|
79
80
|
expect{upload.raise_logs_tf_error}.to raise_error Upload::InvalidAPIKeyError
|
80
81
|
end
|
81
82
|
|
82
83
|
it "raises NoValidRoundsError" do
|
83
|
-
upload.
|
84
|
+
expect(upload).to receive(:error).and_return("Log has no valid rounds (at least one needed)")
|
84
85
|
expect{upload.raise_logs_tf_error}.to raise_error Upload::NoValidRoundsError
|
85
86
|
end
|
86
87
|
|
87
88
|
it "raises NotEnoughPlayersError" do
|
88
|
-
upload.
|
89
|
+
expect(upload).to receive(:error).and_return("Not enough players (2 needed)")
|
89
90
|
expect{upload.raise_logs_tf_error}.to raise_error Upload::NotEnoughPlayersError
|
90
91
|
end
|
91
92
|
|
92
93
|
it "raises LogIsEmptyError" do
|
93
|
-
upload.
|
94
|
+
expect(upload).to receive(:error).and_return("Log is empty")
|
94
95
|
expect{upload.raise_logs_tf_error}.to raise_error Upload::LogIsEmptyError
|
95
96
|
end
|
96
97
|
|
97
98
|
it "raises ParsingFailedError" do
|
98
|
-
upload.
|
99
|
+
expect(upload).to receive(:error).and_return("Parsing failed in line 123")
|
99
100
|
expect{upload.raise_logs_tf_error}.to raise_error Upload::ParsingFailedError
|
100
101
|
|
101
|
-
upload.
|
102
|
+
expect(upload).to receive(:error).and_return("Parsing failed in line 456")
|
102
103
|
expect{upload.raise_logs_tf_error}.to raise_error Upload::ParsingFailedError
|
103
104
|
end
|
104
105
|
|
105
106
|
it "raises MissingAPIKeyOrLoginError" do
|
106
|
-
upload.
|
107
|
+
expect(upload).to receive(:error).and_return("Missing API key or login")
|
107
108
|
expect{upload.raise_logs_tf_error}.to raise_error Upload::MissingAPIKeyOrLoginError
|
108
109
|
end
|
109
110
|
|
110
111
|
it "raises GuruMeditationError" do
|
111
|
-
upload.
|
112
|
+
expect(upload).to receive(:error).and_return("Guru Meditation")
|
112
113
|
expect{upload.raise_logs_tf_error}.to raise_error Upload::GuruMeditationError
|
113
114
|
end
|
114
115
|
|
115
116
|
it "raises UnknownLogsTFError" do
|
116
|
-
upload.
|
117
|
+
expect(upload).to receive(:error).and_return("Foobar")
|
117
118
|
expect{upload.raise_logs_tf_error}.to raise_error Upload::UnknownLogsTfError
|
118
119
|
end
|
119
120
|
|
data/spec/spec_helper.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'simplecov'
|
2
2
|
require 'coveralls'
|
3
3
|
|
4
|
-
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
4
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
|
5
5
|
SimpleCov::Formatter::HTMLFormatter,
|
6
6
|
Coveralls::SimpleCov::Formatter
|
7
|
-
]
|
7
|
+
])
|
8
8
|
SimpleCov.start
|
9
9
|
|
10
10
|
require "logs_tf"
|
metadata
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logs_tf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arie
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2013-11-13 00:00:00.000000000 Z
|
@@ -14,16 +14,30 @@ dependencies:
|
|
14
14
|
name: faraday
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0
|
19
|
+
version: '1.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: faraday-multipart
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
25
39
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0
|
40
|
+
version: '1.0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: multipart-post
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -104,7 +118,6 @@ files:
|
|
104
118
|
- ".coverage"
|
105
119
|
- ".gitignore"
|
106
120
|
- ".rspec"
|
107
|
-
- ".travis.yml"
|
108
121
|
- Gemfile
|
109
122
|
- Gemfile.lock
|
110
123
|
- README.md
|
@@ -123,7 +136,7 @@ files:
|
|
123
136
|
homepage: http://github.com/Arie/logs_tf
|
124
137
|
licenses: []
|
125
138
|
metadata: {}
|
126
|
-
post_install_message:
|
139
|
+
post_install_message:
|
127
140
|
rdoc_options: []
|
128
141
|
require_paths:
|
129
142
|
- lib
|
@@ -138,9 +151,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
138
151
|
- !ruby/object:Gem::Version
|
139
152
|
version: '0'
|
140
153
|
requirements: []
|
141
|
-
|
142
|
-
|
143
|
-
signing_key:
|
154
|
+
rubygems_version: 3.5.11
|
155
|
+
signing_key:
|
144
156
|
specification_version: 4
|
145
157
|
summary: Logs.tf
|
146
158
|
test_files:
|