xing_api_client 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NWExNTVmMzA2NTc3MjBlOGM4MjRkNjEzZDA1MjNlMDRmMzViNWMwZg==
5
+ data.tar.gz: !binary |-
6
+ NzdkZWIyYzgyMDE0OGZjMjY0YzhkYmIwYzU5NGRhOGM3YTU5NGEyZQ==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ ZjZlNTFmMTEwMmE0ZGQzZjhjYmFjM2E5ODk4NDNmN2VhN2ZjNDJlZGE1Yjhl
10
+ ZWI4YzJkOWM1YmJmYzU3ZGJmNzE4ODA5OWU0NWZkZGI4ZGUxZTJlMDM5NmY1
11
+ MjZkNzAyYWYwZTc2MDA0Y2I1MjNiMmQzMzM0MzBlMDdkODBhYjM=
12
+ data.tar.gz: !binary |-
13
+ YjZhNjY5NTg4YmI1YTU5MWQ2YjI5ZjkyYmNkMjI1YmMzY2U0YWRkMzhiNjc2
14
+ NzE0OGE0ZWEyZmRjNGEyYzIwZTFhM2I1NTZkODRkNDMwNjJhMTdlZjAzZGNj
15
+ ZTFjNDQzMDM4ZTc4YzA0ZTRjNzg2NTFjNzVmOTVjZDE1ZDJkZTE=
data/.gitignore CHANGED
@@ -3,3 +3,4 @@
3
3
  local_*
4
4
  .ruby-version
5
5
  .rbenv*
6
+ coverage/
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ xing_api_client
data/.travis.yml ADDED
@@ -0,0 +1,7 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 2.0.0
5
+ - ruby-head
6
+ - jruby-19mode
7
+ script: bundle exec rspec spec
data/Gemfile CHANGED
@@ -1,3 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
+
5
+ gem 'simplecov', require: false
6
+ gem 'coveralls', require: false
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- xing_api_client (0.0.1)
4
+ xing_api_client (0.0.2)
5
5
  activesupport
6
6
  bundler (~> 1.3)
7
7
  oauth
@@ -21,6 +21,12 @@ GEM
21
21
  celluloid (0.15.2)
22
22
  timers (~> 1.1.0)
23
23
  coderay (1.0.9)
24
+ coveralls (0.7.0)
25
+ multi_json (~> 1.3)
26
+ rest-client
27
+ simplecov (>= 0.7)
28
+ term-ansicolor
29
+ thor
24
30
  diff-lcs (1.2.4)
25
31
  ffi (1.9.0)
26
32
  formatador (0.2.4)
@@ -40,6 +46,7 @@ GEM
40
46
  rb-inotify (>= 0.9)
41
47
  lumberjack (1.0.4)
42
48
  method_source (0.8.2)
49
+ mime-types (1.25)
43
50
  minitest (4.7.5)
44
51
  multi_json (1.8.2)
45
52
  oauth (0.4.7)
@@ -52,6 +59,8 @@ GEM
52
59
  rb-fsevent (0.9.3)
53
60
  rb-inotify (0.9.2)
54
61
  ffi (>= 0.5.0)
62
+ rest-client (1.6.7)
63
+ mime-types (>= 1.16)
55
64
  rspec (2.14.1)
56
65
  rspec-core (~> 2.14.0)
57
66
  rspec-expectations (~> 2.14.0)
@@ -60,17 +69,26 @@ GEM
60
69
  rspec-expectations (2.14.3)
61
70
  diff-lcs (>= 1.1.3, < 2.0)
62
71
  rspec-mocks (2.14.4)
72
+ simplecov (0.7.1)
73
+ multi_json (~> 1.0)
74
+ simplecov-html (~> 0.7.1)
75
+ simplecov-html (0.7.1)
63
76
  slop (3.4.6)
77
+ term-ansicolor (1.2.2)
78
+ tins (~> 0.8)
64
79
  thor (0.18.1)
65
80
  thread_safe (0.1.3)
66
81
  atomic
67
82
  timers (1.1.0)
83
+ tins (0.12.0)
68
84
  tzinfo (0.3.38)
69
85
 
70
86
  PLATFORMS
71
87
  ruby
72
88
 
73
89
  DEPENDENCIES
90
+ coveralls
74
91
  guard-rspec
75
92
  rspec
93
+ simplecov
76
94
  xing_api_client!
data/README.md CHANGED
@@ -7,6 +7,11 @@ Special thanks go to [Jan-Oliver Jahner (jojahner)](https://github.com/jojahner)
7
7
 
8
8
  Tested with ruby 1.9.3p448 and 2.0.0-p0.
9
9
 
10
+ [![Build Status](https://api.travis-ci.org/ependichter/xing_api_client.png?branch=master)](http://travis-ci.org/ependichter/xing_api_client)
11
+ [![Code Climate](https://codeclimate.com/github/ependichter/xing_api_client.png)](https://codeclimate.com/github/ependichter/xing_api_client)
12
+ [![Coverage Status](https://coveralls.io/repos/ependichter/xing_api_client/badge.png?branch=master)](https://coveralls.io/r/ependichter/xing_api_client)
13
+ [![Dependency Status](https://gemnasium.com/ependichter/xing_api_client.png)](https://gemnasium.com/ependichter/xing_api_client)
14
+
10
15
  ## Quickstart
11
16
  ### Make a handshake
12
17
  ```ruby
@@ -222,8 +227,8 @@ client.request.get_users(id: 'me')
222
227
  - [ ] DELETE /v1/activities/:activity_id/like
223
228
 
224
229
  ### Profile Visits
225
- - [ ] GET /v1/users/:user_id/visits
226
- - [ ] POST /v1/users/:user_id/visits
230
+ - [x] GET /v1/users/:user_id/visits
231
+ - [x] POST /v1/users/:user_id/visits
227
232
 
228
233
  ### Recommendations
229
234
  - [ ] GET /v1/users/:user_id/network/recommendations
@@ -0,0 +1,22 @@
1
+ class XingApiClient
2
+ module Call
3
+ module UsersVisitsCall
4
+ def get_users_visits(options = {})
5
+ id = options[:id] || 'me'
6
+
7
+ offset = options[:offset]
8
+ limit = options[:limit]
9
+ strip_html = options[:strip_html] || false
10
+
11
+ params = { strip_html: strip_html }
12
+ params.merge!(since: options[:since]) unless options[:since].nil?
13
+
14
+ make_request!(:get, "v1/users/#{id}/visits", params.merge(limit: (limit || 100), offset: offset), array_keys: "visits")
15
+ end
16
+
17
+ def post_users_visits(user_id)
18
+ make_request!(:post, "v1/users/#{user_id}/visits", {}, allowed_codes: 201, content_type: 'text' )
19
+ end
20
+ end
21
+ end
22
+ end
@@ -1,3 +1,4 @@
1
+ require_relative './call/base.rb'
1
2
  Dir[File.dirname(__FILE__) + '/call/*.rb'].each { |name| require(name) }
2
3
 
3
4
  class XingApiClient
@@ -1,9 +1,9 @@
1
- require 'xing_api_client/object/base'
2
- require 'xing_api_client/object/user'
3
- require 'xing_api_client/object/address'
4
- require 'xing_api_client/object/company'
5
- require 'xing_api_client/object/school'
6
- require 'xing_api_client/object/year_month'
1
+ require_relative 'object/base'
2
+ require_relative 'object/user'
3
+ require_relative 'object/address'
4
+ require_relative 'object/company'
5
+ require_relative 'object/school'
6
+ require_relative 'object/year_month'
7
7
 
8
8
  class XingApiClient
9
9
  class Object
@@ -1,6 +1,8 @@
1
1
  class XingApiClient
2
+ class Error < StandardError; end
3
+
2
4
  class Request
3
- class Error < StandardError
5
+ class Error < XingApiClient::Error
4
6
  attr_accessor :code, :api_name, :response
5
7
 
6
8
  def initialize(code, api_name, response)
@@ -1,6 +1,6 @@
1
1
  class XingApiClient
2
2
  class Request
3
- require 'xing_api_client/request/error'
3
+ require_relative 'request/error'
4
4
  require 'parallel'
5
5
  include Config
6
6
  include XingApiClient::Call
@@ -28,25 +28,13 @@ class XingApiClient
28
28
  def make_request!(verb, url, params = nil, options = {})
29
29
  options = { array_keys: [], allowed_codes: [200] }.merge(options)
30
30
  url = [config.host, url].join('/')
31
- request_params = add_default_values(params)
32
31
 
33
- result = if verb != :post
34
- consumer_token.request(verb, url + generate_url_params(request_params))
35
- else
36
- consumer_token.request(verb, url, request_params)
37
- end
38
-
39
- code = result.code.to_i
32
+ request_params = add_default_values(params)
40
33
 
41
- data = unless result.body.nil?
42
- if options[:content_type] == 'text'
43
- result.body
44
- else
45
- JSON.parse(result.body)
46
- end
47
- end
34
+ result = handle_request(verb, url, request_params)
35
+ data = handle_result(result, options[:content_type])
48
36
 
49
- handle_error!(code, data) if not Array(options[:allowed_codes]).include?(code)
37
+ handle_error!(result.code, data, options[:allowed_codes])
50
38
 
51
39
  Array(options[:array_keys]).each { |key| data = data[key] }
52
40
 
@@ -76,7 +64,32 @@ class XingApiClient
76
64
  end
77
65
  end
78
66
 
79
- def handle_error!(code, data)
67
+ def handle_request(verb, url, params)
68
+ if verb != :post
69
+ consumer_token.request(verb, url + generate_url_params(params))
70
+ else
71
+ consumer_token.request(verb, url, params)
72
+ end
73
+ end
74
+
75
+ def handle_result(result, content_type)
76
+ unless result.body.nil?
77
+ if content_type == 'text'
78
+ result.body
79
+ else
80
+ begin
81
+ JSON.parse(result.body)
82
+ rescue JSON::ParserError
83
+ raise XingApiClient::Error
84
+ end
85
+ end
86
+ end
87
+ end
88
+
89
+ def handle_error!(code, data, allowed_codes)
90
+ code = code.to_i
91
+ return if Array(allowed_codes).include?(code)
92
+
80
93
  error_class = ERROR_CLASSES[data.nil? ? code : data['error_name']] || Error
81
94
 
82
95
  raise error_class.new(code, data['error_name'], data)
@@ -1,3 +1,3 @@
1
1
  class XingApiClient
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -4,7 +4,7 @@ require 'open-uri'
4
4
  require 'yaml'
5
5
  require 'ostruct'
6
6
  require 'active_support/core_ext/hash/indifferent_access'
7
- %w{ version config object call request}.each{ |name| require "xing_api_client/#{name}"}
7
+ %w{ version config object call request}.each{ |name| require_relative "xing_api_client/#{name}"}
8
8
 
9
9
  class XingApiClient
10
10
  include Config
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,10 @@
1
1
  require 'rubygems'
2
2
  require 'bundler/setup'
3
+ require 'coveralls'
4
+ require 'simplecov'
5
+
6
+ SimpleCov.formatter = Coveralls::SimpleCov::Formatter
7
+ SimpleCov.start { add_filter('spec') }
3
8
 
4
9
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
5
10
  require 'xing_api_client'
@@ -0,0 +1,46 @@
1
+ require 'spec_helper'
2
+
3
+ describe XingApiClient::Call::UsersVisitsCall do
4
+ let(:call) { Object.new.tap{ |object| object.extend(XingApiClient::Call::UsersVisitsCall) } }
5
+
6
+ describe '#get_users_visits' do
7
+ context 'with no options' do
8
+ subject do
9
+ call.
10
+ should_receive(:make_request!).
11
+ with(:get, "v1/users/me/visits", {:strip_html=>false, :limit=>100, :offset=>nil}, {:array_keys=>"visits"}).
12
+ and_return([])
13
+
14
+ call.get_users_visits()
15
+ end
16
+
17
+ its(:class) { should == Array }
18
+ end
19
+
20
+ context 'with all options' do
21
+ subject do
22
+ call.
23
+ should_receive(:make_request!).
24
+ with(:get, "v1/users/:user_id/visits", {:strip_html=>true, :since=>"12345", :limit=>"99", :offset=>"30"}, {:array_keys=>"visits"}).
25
+ and_return([])
26
+
27
+ call.get_users_visits(id: ':user_id', offset: '30', limit: '99', strip_html: true, since: '12345')
28
+ end
29
+
30
+ its(:class) { should == Array }
31
+ end
32
+ end
33
+
34
+ describe '#post_users_visits' do
35
+ subject do
36
+ call.
37
+ should_receive(:make_request!).
38
+ with(:post, "v1/users/some-message/visits", {}, {:allowed_codes=>201, :content_type=>"text"}).
39
+ and_return(nil)
40
+
41
+ call.post_users_visits('some-message')
42
+ end
43
+
44
+ its(:class) { should == NilClass }
45
+ end
46
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe XingApiClient::Object::Base do
4
+ subject do
5
+ class TestObjectParent < Object
6
+ def other_key; 'stub' end
7
+ end
8
+
9
+ class TestObject < TestObjectParent
10
+ include XingApiClient::Object::Base
11
+ end.new({key1: 'value1', key2: 'value2'})
12
+ end
13
+
14
+ its(:key1) { should == 'value1' }
15
+ its(:key2) { should == 'value2' }
16
+
17
+ it "calls the parent object, if it dosn't find a method" do
18
+ subject.other_key.should == 'stub'
19
+ end
20
+ end
@@ -0,0 +1,37 @@
1
+ require 'spec_helper'
2
+
3
+ describe XingApiClient::Object::User do
4
+ subject do
5
+ XingApiClient::Object::User.new(XingApiClient::Object::User::EXAMPLE_RESPONSE["users"].first)
6
+ end
7
+
8
+ its(:id) { should == '13802856_c7551a' }
9
+ its(:first_name) { should == 'Firstname' }
10
+ its(:last_name) { should == 'Lastname' }
11
+ its(:display_name) { should == 'Firstname Lastname' }
12
+ its(:page_name) { should == 'Firstname_Lastname8' }
13
+ its(:employment_status) { should == 'EMPLOYEE' }
14
+ its(:gender) { should == 'm' }
15
+ its(:birth_date) { should == Date.parse("1983-01-03") }
16
+ its(:active_email) { should == 'somemailaddress@gmail.com' }
17
+ its(:time_zone) { should == {"utc_offset"=>2, "name"=>"Europe/Berlin"} }
18
+ its(:premium_services) { should == ["SEARCH", "PRIVATEMESSAGES"] }
19
+ its(:badges) { should == ["PREMIUM", "MODERATOR"] }
20
+ its(:wants) { should == 'new gems, cool rails stuff, pizza' }
21
+ its(:haves) { should == 'Jenkins CI, MySQL, REST, TDD, UML' }
22
+ its(:interests) { should == 'CSS, CoffeeScript, HTML5, Robotics, jQuery' }
23
+ its(:organisation_member) { should == nil }
24
+ its(:languages) { should == {"en"=>"FLUENT", "de"=>"NATIVE"} }
25
+ its(:private_address) { should be_kind_of XingApiClient::Object::Address }
26
+ its(:business_address) { should be_kind_of XingApiClient::Object::Address }
27
+ its(:web_profiles) { should == {} }
28
+ its(:instant_messaging_accounts) { should == {"skype"=>"username"} }
29
+ its(:professional_experience) { should_not be_empty }
30
+ its(:professional_experience) { subject.professional_experience.all?{ |e| e.kind_of?(XingApiClient::Object::Company) }.should be_true }
31
+ its(:photo_urls) { should == {"large"=>"https://x1.xingassets.com/img/users/3/5/1/238ddffce.13802856,9.140x185.jpg",
32
+ "maxi_thumb"=>"https://x1.xingassets.com/img/users/3/5/1/238ddffce.13802856,9.70x93.jpg",
33
+ "medium_thumb"=>"https://x1.xingassets.com/img/users/3/5/1/238ddffce.13802856,9.57x75.jpg",
34
+ "mini_thumb"=>"https://x1.xingassets.com/img/users/3/5/1/238ddffce.13802856,9.18x24.jpg",
35
+ "thumb"=>"https://x1.xingassets.com/img/users/3/5/1/238ddffce.13802856,9.30x40.jpg"} }
36
+ its(:permalink) { should == 'https://www.xing.com/profile/Firstname_Lastname8' }
37
+ end
@@ -50,11 +50,90 @@ describe XingApiClient::Request do
50
50
  end
51
51
  end
52
52
 
53
+ describe '#make_request!' do
54
+ it 'adds the params to the url' do
55
+ params = { some_param: 'some_value' }
56
+ options = { array_keys: 'users', allowed_codes: 204, content_type: 'text' }
57
+ request_params = { other_param: 'some_value'}
58
+ result = stub('result', code: 204)
59
+
60
+ instance.should_receive(:add_default_values).with(params).and_return(request_params)
61
+ instance.should_receive(:handle_request).with(:get, 'https://api.xing.com/v1/something', request_params).and_return(result)
62
+ instance.should_receive(:handle_result).with(result, options[:content_type]).and_return('users' => 'some data')
63
+
64
+ instance.send(:make_request!, :get, 'v1/something', params, options).should == 'some data'
65
+ end
66
+ end
67
+
68
+ describe '#handle_request!' do
69
+ let(:url){ 'www.test.com' }
70
+ let(:params) { {param1: '1', param2: '2'} }
71
+
72
+ context 'get requests' do
73
+ let(:verb){ :get }
74
+
75
+ it 'adds the params to the url' do
76
+ consumer_token_object.should_receive(:request).with(:get, "www.test.com?param1=1&param2=2")
77
+ end
78
+ end
79
+
80
+ context 'post request' do
81
+ let(:verb){ :post }
82
+
83
+ it 'adds the params to the body' do
84
+ consumer_token_object.should_receive(:request).with(:post, "www.test.com", {:param1=>"1", :param2=>"2"})
85
+ end
86
+ end
87
+
88
+ after{ instance.send(:handle_request, verb, url, params) }
89
+ end
90
+
91
+ describe '#handle_result' do
92
+
93
+ context 'the result body is nil' do
94
+ let(:result){ stub('result') }
95
+ let(:content_type){}
96
+
97
+ before{ result.should_receive(:body).and_return(nil) }
98
+
99
+ it 'returns nil' do
100
+ instance.send(:handle_result, result, content_type).should be_nil
101
+ end
102
+ end
103
+
104
+ context 'the result body is not nil' do
105
+ let(:result){ stub('result') }
106
+ before{ result.stub(:body).and_return('{ "male": true }') }
107
+
108
+ context 'the content_type is == "text"' do
109
+ let(:content_type){ 'text' }
110
+
111
+ it 'returns a String' do
112
+ instance.send(:handle_result, result, content_type).should == '{ "male": true }'
113
+ end
114
+ end
115
+
116
+ context 'the content_type is nil' do
117
+ let(:content_type){ nil }
118
+
119
+ it 'returns a Hash' do
120
+ instance.send(:handle_result, result, content_type).should == { "male" => true }
121
+ end
122
+ end
123
+ end
124
+ end
125
+
53
126
  describe '#handle_error!' do
127
+ context 'If there is no error, it...' do
128
+ it 'does not raise' do
129
+ instance.send(:handle_error!, 200, {}, 200)
130
+ end
131
+ end
132
+
54
133
  context 'If the error is defined, it...' do
55
134
  XingApiClient::Request::ERROR_CLASSES.each_pair do |api_error_code, error_class|
56
135
  it "raises an #{error_class}" do
57
- expect { instance.send(:handle_error!,'1234', 'error_name' => api_error_code) }.
136
+ expect { instance.send(:handle_error!,'1234', {'error_name' => api_error_code}, 200) }.
58
137
  to raise_error( error_class )
59
138
  end
60
139
  end
@@ -62,7 +141,7 @@ describe XingApiClient::Request do
62
141
 
63
142
  context 'If the error is undefined, it...' do
64
143
  it "raises an XingApiClient::Request::Error" do
65
- expect { instance.send(:handle_error!,'1234', 'error_name' => 'RSPEC_TEST_EXCEPTION') }.
144
+ expect { instance.send(:handle_error!, '1234', {'error_name' => 'RSPEC_TEST_EXCEPTION'}, 200) }.
66
145
  to raise_error( XingApiClient::Request::Error )
67
146
  end
68
147
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xing_api_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
5
- prerelease:
4
+ version: 0.0.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Martin Brendel
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-10-26 00:00:00.000000000 Z
11
+ date: 2014-05-07 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rspec
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: guard-rspec
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ! '>='
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: bundler
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rake
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ! '>='
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ! '>='
76
67
  - !ruby/object:Gem::Version
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: oauth
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ! '>='
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ! '>='
92
81
  - !ruby/object:Gem::Version
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: activesupport
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ! '>='
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ! '>='
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: parallel
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ! '>='
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ! '>='
124
109
  - !ruby/object:Gem::Version
@@ -132,6 +117,8 @@ extra_rdoc_files: []
132
117
  files:
133
118
  - .gitignore
134
119
  - .rspec
120
+ - .ruby-gemset
121
+ - .travis.yml
135
122
  - Gemfile
136
123
  - Gemfile.lock
137
124
  - Guardfile
@@ -153,6 +140,7 @@ files:
153
140
  - lib/xing_api_client/call/users_me_id_card_call.rb
154
141
  - lib/xing_api_client/call/users_network_paths_call.rb
155
142
  - lib/xing_api_client/call/users_profile_message_call.rb
143
+ - lib/xing_api_client/call/users_visits_call.rb
156
144
  - lib/xing_api_client/config.rb
157
145
  - lib/xing_api_client/object.rb
158
146
  - lib/xing_api_client/object/address.rb
@@ -175,7 +163,10 @@ files:
175
163
  - spec/xing_api_client/call/users_me_id_card_call_spec.rb
176
164
  - spec/xing_api_client/call/users_network_paths_call_spec.rb
177
165
  - spec/xing_api_client/call/users_profile_message_call_spec.rb
166
+ - spec/xing_api_client/call/users_visits_call_spec.rb
178
167
  - spec/xing_api_client/config_spec.rb
168
+ - spec/xing_api_client/object/base_spec.rb
169
+ - spec/xing_api_client/object/company_spec.rb
179
170
  - spec/xing_api_client/object/user_spec.rb
180
171
  - spec/xing_api_client/object/year_month_spec.rb
181
172
  - spec/xing_api_client/request/error_spec.rb
@@ -185,27 +176,26 @@ files:
185
176
  homepage: ''
186
177
  licenses:
187
178
  - MIT
179
+ metadata: {}
188
180
  post_install_message:
189
181
  rdoc_options: []
190
182
  require_paths:
191
183
  - lib
192
184
  required_ruby_version: !ruby/object:Gem::Requirement
193
- none: false
194
185
  requirements:
195
186
  - - ! '>='
196
187
  - !ruby/object:Gem::Version
197
188
  version: '0'
198
189
  required_rubygems_version: !ruby/object:Gem::Requirement
199
- none: false
200
190
  requirements:
201
191
  - - ! '>='
202
192
  - !ruby/object:Gem::Version
203
193
  version: '0'
204
194
  requirements: []
205
195
  rubyforge_project:
206
- rubygems_version: 1.8.23
196
+ rubygems_version: 2.2.2
207
197
  signing_key:
208
- specification_version: 3
198
+ specification_version: 4
209
199
  summary: An easy way to access the XING API
210
200
  test_files:
211
201
  - spec/spec_helper.rb
@@ -219,7 +209,10 @@ test_files:
219
209
  - spec/xing_api_client/call/users_me_id_card_call_spec.rb
220
210
  - spec/xing_api_client/call/users_network_paths_call_spec.rb
221
211
  - spec/xing_api_client/call/users_profile_message_call_spec.rb
212
+ - spec/xing_api_client/call/users_visits_call_spec.rb
222
213
  - spec/xing_api_client/config_spec.rb
214
+ - spec/xing_api_client/object/base_spec.rb
215
+ - spec/xing_api_client/object/company_spec.rb
223
216
  - spec/xing_api_client/object/user_spec.rb
224
217
  - spec/xing_api_client/object/year_month_spec.rb
225
218
  - spec/xing_api_client/request/error_spec.rb