resumator-client 0.1.1 → 0.1.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.
- data/README.md +1 -1
- data/VERSION +1 -1
- data/lib/resumator-client/activities.rb +27 -0
- data/lib/resumator-client/client.rb +3 -0
- data/lib/resumator-client.rb +2 -0
- data/resumator-client.gemspec +4 -1
- data/spec/fixtures/vcr_cassettes/activities.yml +44 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/unit/activities_spec.rb +33 -0
- metadata +5 -2
data/README.md
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require_relative "../resumator-client"
|
2
|
+
|
3
|
+
module Resumator
|
4
|
+
class Activities
|
5
|
+
StatusChange = Struct.new("StatusChange", :time, :date, :from, :to, :position)
|
6
|
+
def initialize(client)
|
7
|
+
@client = client
|
8
|
+
end
|
9
|
+
|
10
|
+
def status_history(obj_id)
|
11
|
+
resp = @client.activities(object_id: obj_id, category: "resume_status")
|
12
|
+
resp = [resp] if resp.is_a? Hash # If there is only one activity, it comes back on its own not in an array.
|
13
|
+
history = []
|
14
|
+
resp.each do |r|
|
15
|
+
data = r["action"].scan /"([^"]+)"/
|
16
|
+
change = StatusChange.new()
|
17
|
+
change.time = r["time"]
|
18
|
+
change.date = r["date"]
|
19
|
+
change.from = data[0].first
|
20
|
+
change.to = data[1].first
|
21
|
+
change.position = data[2].first
|
22
|
+
history << change
|
23
|
+
end
|
24
|
+
history
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -14,6 +14,9 @@ module Resumator
|
|
14
14
|
faraday.request :url_encoded # form-encode POST params
|
15
15
|
faraday.response :logger if ENV['DEBUG']
|
16
16
|
faraday.adapter Faraday.default_adapter # make requests with Net::HTTP
|
17
|
+
faraday.request :retry, 2
|
18
|
+
faraday.options[:timeout] = 2 # open/read timeout in seconds
|
19
|
+
faraday.options[:open_timeout] = 2 # connection open timeout in seconds
|
17
20
|
end
|
18
21
|
@connection.params['apikey'] = @api_key
|
19
22
|
end
|
data/lib/resumator-client.rb
CHANGED
data/resumator-client.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "resumator-client"
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Kurt Nelson"]
|
@@ -26,11 +26,14 @@ Gem::Specification.new do |s|
|
|
26
26
|
"Rakefile",
|
27
27
|
"VERSION",
|
28
28
|
"lib/resumator-client.rb",
|
29
|
+
"lib/resumator-client/activities.rb",
|
29
30
|
"lib/resumator-client/client.rb",
|
30
31
|
"resumator-client.gemspec",
|
32
|
+
"spec/fixtures/vcr_cassettes/activities.yml",
|
31
33
|
"spec/fixtures/vcr_cassettes/request.yml",
|
32
34
|
"spec/request/resumator_client_spec.rb",
|
33
35
|
"spec/spec_helper.rb",
|
36
|
+
"spec/unit/activities_spec.rb",
|
34
37
|
"spec/unit/client_spec.rb"
|
35
38
|
]
|
36
39
|
s.homepage = "http://github.com/kurtisnelson/resumator"
|
@@ -0,0 +1,44 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.resumatorapi.com/v1/activities/object_id/prospect_20120920202531_GLLJFJ5ES0WFOJFL/category/resume_status?apikey=<RESUMATOR_API_KEY>
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept-Encoding:
|
11
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
12
|
+
Accept:
|
13
|
+
- ! '*/*'
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Access-Control-Allow-Origin:
|
22
|
+
- ! '*'
|
23
|
+
Content-Type:
|
24
|
+
- application/json
|
25
|
+
Date:
|
26
|
+
- Tue, 30 Oct 2012 18:29:20 GMT
|
27
|
+
Server:
|
28
|
+
- nginx/1.0.15
|
29
|
+
X-Powered-By:
|
30
|
+
- PHP/5.3.3
|
31
|
+
Content-Length:
|
32
|
+
- '752'
|
33
|
+
Connection:
|
34
|
+
- keep-alive
|
35
|
+
body:
|
36
|
+
encoding: US-ASCII
|
37
|
+
string: ! '[{"id":"activity_20120926143642_XAJ5GJI5PP6JH6QX","category":"resume_status","team_id":"","user_id":"usr_20110609133428_29RPHSXHAKEY2ZXG","object_id":"prospect_20120920202531_GLLJFJ5ES0WFOJFL","action":"Charles
|
38
|
+
Quinn changed the status of applicant from \"Reviewed\" to \"Phone
|
39
|
+
Screened\" for the job \"Web Application Developer\".","date":"2012-09-26","time":"14:36:42"},{"id":"activity_20120921192110_XR6TWCHZ2SEIUGO6","category":"resume_status","team_id":"","user_id":"usr_20110609133428_29RPHSXHAKEY2ZXG","object_id":"prospect_20120920202531_GLLJFJ5ES0WFOJFL","action":"Charles
|
40
|
+
Quinn changed the status of applicant from \"New\" to \"Reviewed\"
|
41
|
+
for the job \"Web Application Developer\".","date":"2012-09-21","time":"19:21:10"}]'
|
42
|
+
http_version:
|
43
|
+
recorded_at: Tue, 30 Oct 2012 18:29:20 GMT
|
44
|
+
recorded_with: VCR 2.2.5
|
data/spec/spec_helper.rb
CHANGED
@@ -14,6 +14,7 @@ ENV['RESUMATOR_TEST_KEY'] = "BxO624TAeatcdZfsugE45vNtiMpW28vJ" unless ENV['RESUM
|
|
14
14
|
VCR.configure do |c|
|
15
15
|
c.cassette_library_dir = 'spec/fixtures/vcr_cassettes'
|
16
16
|
c.hook_into :webmock # or :fakeweb
|
17
|
+
c.filter_sensitive_data('<RESUMATOR_API_KEY>') { ENV['RESUMATOR_TEST_KEY'] }
|
17
18
|
end
|
18
19
|
RSpec.configure do |config|
|
19
20
|
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require_relative "../spec_helper"
|
2
|
+
|
3
|
+
describe Resumator::Activities do
|
4
|
+
before :all do
|
5
|
+
VCR.insert_cassette "activities"
|
6
|
+
end
|
7
|
+
after :all do
|
8
|
+
VCR.eject_cassette
|
9
|
+
end
|
10
|
+
|
11
|
+
subject{Resumator::Activities.new(Resumator::Client.new(ENV['RESUMATOR_TEST_KEY']))}
|
12
|
+
describe "#status_history" do
|
13
|
+
it "doesn't explode" do
|
14
|
+
data = subject.status_history("prospect_20120920202531_GLLJFJ5ES0WFOJFL")
|
15
|
+
data.first.from.should_not be nil
|
16
|
+
data.first.to.should_not be nil
|
17
|
+
end
|
18
|
+
|
19
|
+
it "can handle an empty response" do
|
20
|
+
Resumator::Client.any_instance.stub(:activities) { [] }
|
21
|
+
data = subject.status_history("stupidValue")
|
22
|
+
data.count.should be 0
|
23
|
+
end
|
24
|
+
|
25
|
+
it "can handle a hash response" do
|
26
|
+
Resumator::Client.any_instance.stub(:activities) { {"action" => "\"Word\" space \"More\" space \"Cool Job\"", "time" => "noon", "date" => "yesterday"} }
|
27
|
+
data = subject.status_history("badValue")
|
28
|
+
data.first.time.should eq "noon"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
|
33
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resumator-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -188,11 +188,14 @@ files:
|
|
188
188
|
- Rakefile
|
189
189
|
- VERSION
|
190
190
|
- lib/resumator-client.rb
|
191
|
+
- lib/resumator-client/activities.rb
|
191
192
|
- lib/resumator-client/client.rb
|
192
193
|
- resumator-client.gemspec
|
194
|
+
- spec/fixtures/vcr_cassettes/activities.yml
|
193
195
|
- spec/fixtures/vcr_cassettes/request.yml
|
194
196
|
- spec/request/resumator_client_spec.rb
|
195
197
|
- spec/spec_helper.rb
|
198
|
+
- spec/unit/activities_spec.rb
|
196
199
|
- spec/unit/client_spec.rb
|
197
200
|
homepage: http://github.com/kurtisnelson/resumator
|
198
201
|
licenses:
|
@@ -209,7 +212,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
209
212
|
version: '0'
|
210
213
|
segments:
|
211
214
|
- 0
|
212
|
-
hash:
|
215
|
+
hash: 2670977623812130506
|
213
216
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
214
217
|
none: false
|
215
218
|
requirements:
|