vestorly_api 0.0.1
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 +7 -0
- data/.gitignore +17 -0
- data/.rspec +2 -0
- data/Gemfile +5 -0
- data/LICENSE.txt +22 -0
- data/README.md +151 -0
- data/Rakefile +1 -0
- data/lib/vestorly_api.rb +30 -0
- data/lib/vestorly_api/advisor_base.rb +74 -0
- data/lib/vestorly_api/default_endpoint.rb +18 -0
- data/lib/vestorly_api/exceptions.rb +10 -0
- data/lib/vestorly_api/member.rb +20 -0
- data/lib/vestorly_api/response_utils.rb +19 -0
- data/lib/vestorly_api/sign_in.rb +56 -0
- data/lib/vestorly_api/sign_out.rb +49 -0
- data/lib/vestorly_api/version.rb +3 -0
- data/spec/fixtures/vestorly_api_cassettes/advisor_posts.yml +321 -0
- data/spec/fixtures/vestorly_api_cassettes/advisor_user_entries.yml +48 -0
- data/spec/fixtures/vestorly_api_cassettes/fetch_members.yml +292 -0
- data/spec/fixtures/vestorly_api_cassettes/invalid_fetch_members.yml +48 -0
- data/spec/fixtures/vestorly_api_cassettes/invalid_sign_in.yml +59 -0
- data/spec/fixtures/vestorly_api_cassettes/invalid_sign_out.yml +59 -0
- data/spec/fixtures/vestorly_api_cassettes/sign_in.yml +109 -0
- data/spec/fixtures/vestorly_api_cassettes/sign_out.yml +59 -0
- data/spec/spec_helper.rb +44 -0
- data/spec/vestorly_api/advisor_base_spec.rb +112 -0
- data/spec/vestorly_api/default_endpiont_spec.rb +20 -0
- data/spec/vestorly_api/member_spec.rb +92 -0
- data/spec/vestorly_api/sign_in_spec.rb +108 -0
- data/spec/vestorly_api/sign_out_spec.rb +98 -0
- data/vestorly_api.gemspec +32 -0
- metadata +178 -0
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe VestorlyApi::DefaultEndpoint do
|
4
|
+
|
5
|
+
subject { VestorlyApi::DefaultEndpoint }
|
6
|
+
|
7
|
+
describe 'default values for API' do
|
8
|
+
it 'gives the base url to Vestorly endpoint' do
|
9
|
+
subject.base_api_uri.should eq('https://vestorly-dev.herokuapp.com/')
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'gives the base Vestory API endpoint' do
|
13
|
+
subject.default_api_endpoint.should eq('https://vestorly-dev.herokuapp.com/api/v1')
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'gives the Vestorly API version' do
|
17
|
+
subject.api_version.should eq(1)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,92 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
|
4
|
+
describe VestorlyApi::Member do
|
5
|
+
|
6
|
+
def api_request_helper(requester, end_point, request_params)
|
7
|
+
requester.get(
|
8
|
+
end_point,
|
9
|
+
query: request_params
|
10
|
+
)
|
11
|
+
end
|
12
|
+
|
13
|
+
let(:username) { 'david@vestorly.com' }
|
14
|
+
let(:password) { '12desbrosses' }
|
15
|
+
let(:advisor_id) { 'rodas' }
|
16
|
+
|
17
|
+
let(:request_params) { {
|
18
|
+
username: username,
|
19
|
+
password: password
|
20
|
+
}}
|
21
|
+
|
22
|
+
let(:authentication_token) { "eyJwYXlsb2FkIjoiNTM0ZDllYmZiMDM0ZDUwMDAyMDAwNGZkIiwiY3JlYXRlZF9vbiI6MTQxMTA3OTcxMywic2lnbmF0dXJlIjoiWTdxTmpjemZkelZDV2t4bEt6djVwWlZzand1eGx0NE1DREYwODNjR2FpQT0ifQ" }
|
23
|
+
|
24
|
+
before do
|
25
|
+
VestorlyApi::SignIn.any_instance.stub(:sign_in).with(username, password).and_return { authentication_token }
|
26
|
+
VestorlyApi::SignIn.any_instance.stub(:authentication_token).and_return { authentication_token }
|
27
|
+
VestorlyApi::SignIn.any_instance.stub(:advisor_id).and_return { advisor_id }
|
28
|
+
@sign_in_api = VestorlyApi::SignIn.new(username, password)
|
29
|
+
end
|
30
|
+
|
31
|
+
describe 'default attributes' do
|
32
|
+
|
33
|
+
subject { described_class }
|
34
|
+
|
35
|
+
it 'should include httparty methods' do
|
36
|
+
subject.should include(HTTParty)
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
describe 'fetch members' do
|
42
|
+
|
43
|
+
describe 'with valid parameters' do
|
44
|
+
|
45
|
+
before do
|
46
|
+
VCR.insert_cassette 'fetch_members', :record => :new_episodes
|
47
|
+
end
|
48
|
+
|
49
|
+
after do
|
50
|
+
VCR.eject_cassette
|
51
|
+
end
|
52
|
+
|
53
|
+
it 'records the fixture' do
|
54
|
+
members_api = described_class.new(@sign_in_api)
|
55
|
+
members_api.fetch({ 'filter_by' => 'prospects' })
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'fetch members' do
|
59
|
+
members_api = described_class.new(@sign_in_api)
|
60
|
+
fetched_members = members_api.fetch({ 'filter_by' => 'prospects' })
|
61
|
+
fetched_members.size.should eq(34)
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'fetch members have requested fields' do
|
65
|
+
members_api = described_class.new(@sign_in_api)
|
66
|
+
fetched_members = members_api.fetch({ 'filter_by' => 'prospects' })
|
67
|
+
fetched_members[0]['_id'].should eq('53a4c1acfc4674b330000019')
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
71
|
+
|
72
|
+
describe 'with invalid token' do
|
73
|
+
|
74
|
+
let(:authentication_token) { "invalid" }
|
75
|
+
|
76
|
+
before do
|
77
|
+
VCR.insert_cassette 'invalid_fetch_members', :record => :new_episodes
|
78
|
+
end
|
79
|
+
|
80
|
+
after do
|
81
|
+
VCR.eject_cassette
|
82
|
+
end
|
83
|
+
|
84
|
+
it 'fetch raise exception' do
|
85
|
+
members_api = described_class.new(@sign_in_api)
|
86
|
+
expect { members_api.fetch }.to raise_error( VestorlyApi::Exceptions::Error )
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
91
|
+
|
92
|
+
end
|
@@ -0,0 +1,108 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe VestorlyApi::SignIn do
|
4
|
+
|
5
|
+
def api_request_helper(requester, request_params)
|
6
|
+
requester.post(
|
7
|
+
requester.sign_in_api_endpoint,
|
8
|
+
query: request_params
|
9
|
+
)
|
10
|
+
end
|
11
|
+
|
12
|
+
describe 'default attributes' do
|
13
|
+
|
14
|
+
subject { described_class }
|
15
|
+
|
16
|
+
it 'should include httparty methods' do
|
17
|
+
subject.should include(HTTParty)
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'should have the base url set to the VestorlyApi API endpoint' do
|
21
|
+
subject.sign_in_api_endpoint.should eq('https://vestorly-dev.herokuapp.com/api/v1/session_management/sign_in?version=1')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe 'sign_in api' do
|
26
|
+
describe "POST sign_in" do
|
27
|
+
|
28
|
+
describe "with valid authentication" do
|
29
|
+
|
30
|
+
let(:username) { 'david@vestorly.com' }
|
31
|
+
let(:password) { '12desbrosses' }
|
32
|
+
|
33
|
+
let(:request_params) { {
|
34
|
+
username: username,
|
35
|
+
password: password
|
36
|
+
}}
|
37
|
+
|
38
|
+
subject { described_class }
|
39
|
+
|
40
|
+
before do
|
41
|
+
VCR.insert_cassette 'sign_in', :record => :new_episodes
|
42
|
+
end
|
43
|
+
|
44
|
+
after do
|
45
|
+
VCR.eject_cassette
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'records the fixture' do
|
49
|
+
api_request_helper(subject, request_params)
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'makes sign_in request to api returns authentication token' do
|
53
|
+
sign_in_api = described_class.new(username, password)
|
54
|
+
sign_in_api.sign_in.should eq("eyJwYXlsb2FkIjoiNTM0ZDllYmZiMDM0ZDUwMDAyMDAwNGZkIiwiY3JlYXRlZF9vbiI6MTQxMTA4Mzg0Niwic2lnbmF0dXJlIjoiVUZtcmU5REZUb0V1KzNBY2dTajdGRTJlZVJ2REl0S0Nmbm1Mbzh5cWpIVT0ifQ")
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'assigns api response for further use' do
|
58
|
+
sign_in_api = described_class.new(username, password)
|
59
|
+
sign_in_api.sign_in
|
60
|
+
sign_in_api.instance_variable_get('@sign_in_response').should_not be_nil
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'gives authentication token after sign_in' do
|
64
|
+
sign_in_api = described_class.new(username, password)
|
65
|
+
sign_in_api.sign_in
|
66
|
+
sign_in_api.authentication_token.should eq("eyJwYXlsb2FkIjoiNTM0ZDllYmZiMDM0ZDUwMDAyMDAwNGZkIiwiY3JlYXRlZF9vbiI6MTQxMTA4Mzg0Niwic2lnbmF0dXJlIjoiVUZtcmU5REZUb0V1KzNBY2dTajdGRTJlZVJ2REl0S0Nmbm1Mbzh5cWpIVT0ifQ")
|
67
|
+
end
|
68
|
+
|
69
|
+
it 'gives the advisor id' do
|
70
|
+
sign_in_api = described_class.new(username, password)
|
71
|
+
sign_in_api.sign_in
|
72
|
+
sign_in_api.advisor_id.should eq("rodas")
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
describe "with invalid authentication" do
|
77
|
+
let(:username) { 'invalid@example.com' }
|
78
|
+
let(:password) { 'nonexistingdude' }
|
79
|
+
|
80
|
+
let(:request_params) { {
|
81
|
+
username: username,
|
82
|
+
password: password
|
83
|
+
}}
|
84
|
+
|
85
|
+
subject { described_class }
|
86
|
+
|
87
|
+
before do
|
88
|
+
VCR.insert_cassette 'invalid_sign_in', :record => :new_episodes
|
89
|
+
end
|
90
|
+
|
91
|
+
after do
|
92
|
+
VCR.eject_cassette
|
93
|
+
end
|
94
|
+
|
95
|
+
it 'records the fixture' do
|
96
|
+
api_request_helper(subject, request_params)
|
97
|
+
end
|
98
|
+
|
99
|
+
it 'raise unauthorized sign_in error' do
|
100
|
+
sign_in_api = described_class.new(username, password)
|
101
|
+
expect { sign_in_api.sign_in }.to raise_error( VestorlyApi::Exceptions::Error )
|
102
|
+
end
|
103
|
+
|
104
|
+
end
|
105
|
+
|
106
|
+
end
|
107
|
+
end
|
108
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe VestorlyApi::SignOut do
|
4
|
+
def api_request_helper(requester, request_params)
|
5
|
+
requester.post(
|
6
|
+
requester.sign_out_api_endpoint,
|
7
|
+
query: request_params
|
8
|
+
)
|
9
|
+
end
|
10
|
+
|
11
|
+
describe 'default attributes' do
|
12
|
+
|
13
|
+
subject { described_class }
|
14
|
+
|
15
|
+
it 'should include httparty methods' do
|
16
|
+
subject.should include(HTTParty)
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'should have the base url set to the VestorlyApi API endpoint' do
|
20
|
+
subject.sign_out_api_endpoint.should eq('https://vestorly-dev.herokuapp.com/api/v1/session_management/sign_out?version=1')
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
describe 'sign out api' do
|
26
|
+
describe 'POST sign out' do
|
27
|
+
|
28
|
+
describe 'with valid authentication token' do
|
29
|
+
|
30
|
+
let(:authentication_token) { "eyJwYXlsb2FkIjoiNGY2NTQyYzBjZmI0OTMwMDAxMDAwMDEzIiwiY3JlYXRlZF9vbiI6MTM5NjQ2MTg2MCwic2lnbmF0dXJlIjoiUzdYV1h6d2VaNk5vZWZialoxeGFrQmNlQjM0VktEb0s1bytRTGZOckZyST0ifQ" }
|
31
|
+
let(:request_params) { { "vestorly-auth" => authentication_token } }
|
32
|
+
|
33
|
+
let(:success_response) {
|
34
|
+
{
|
35
|
+
code: 202,
|
36
|
+
message: "Successfully logged out."
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
subject { described_class }
|
41
|
+
|
42
|
+
before do
|
43
|
+
VCR.insert_cassette 'sign_out', :record => :new_episodes
|
44
|
+
end
|
45
|
+
|
46
|
+
after do
|
47
|
+
VCR.eject_cassette
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'records the fixture' do
|
51
|
+
api_request_helper(subject, request_params)
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'makes sign out request to api returns status code ok' do
|
55
|
+
sign_out_api = described_class.new(authentication_token)
|
56
|
+
sign_out_api.sign_out.should eq(success_response)
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'makes sign out request with class method' do
|
60
|
+
described_class.sign_out(authentication_token).should eq(success_response)
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
|
65
|
+
describe 'with invalid token' do
|
66
|
+
|
67
|
+
let(:authentication_token) { "invalidTokenSomething" }
|
68
|
+
let(:request_params) { { "vestorly-auth" => authentication_token } }
|
69
|
+
|
70
|
+
let(:error_response) {
|
71
|
+
{
|
72
|
+
code: 404,
|
73
|
+
message: "Not signed in."
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
subject { described_class }
|
78
|
+
|
79
|
+
before do
|
80
|
+
VCR.insert_cassette 'invalid_sign_out', :record => :new_episodes
|
81
|
+
end
|
82
|
+
|
83
|
+
after do
|
84
|
+
VCR.eject_cassette
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'records the fixture' do
|
88
|
+
api_request_helper(subject, request_params)
|
89
|
+
end
|
90
|
+
|
91
|
+
it 'makes sign out request with class method' do
|
92
|
+
described_class.sign_out(authentication_token).should eq(error_response)
|
93
|
+
end
|
94
|
+
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'vestorly_api/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "vestorly_api"
|
8
|
+
spec.version = VestorlyApi::VERSION
|
9
|
+
spec.authors = ["David Rodas"]
|
10
|
+
spec.email = ["ddreliv@gmail.com"]
|
11
|
+
spec.summary = %q{Vestorly API integration.}
|
12
|
+
spec.description = %q{The Vestorly API provides the ability for external
|
13
|
+
developers to synchronize their client data with Vestorly.
|
14
|
+
The API provides support for CRM integration, content
|
15
|
+
curation, client behavior monitoring, and compliance
|
16
|
+
monitoring software.}
|
17
|
+
spec.homepage = "https://www.vestorly.com/"
|
18
|
+
spec.license = "MIT"
|
19
|
+
|
20
|
+
spec.files = `git ls-files -z`.split("\x0")
|
21
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
22
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
23
|
+
spec.require_paths = ["lib"]
|
24
|
+
|
25
|
+
spec.add_development_dependency "bundler", "~> 1.5"
|
26
|
+
spec.add_development_dependency "webmock", "~>0"
|
27
|
+
spec.add_development_dependency "vcr", "~> 0"
|
28
|
+
spec.add_development_dependency "turn", "~> 0"
|
29
|
+
spec.add_development_dependency "rspec", "~> 0"
|
30
|
+
|
31
|
+
spec.add_runtime_dependency "httparty", "~> 0"
|
32
|
+
end
|
metadata
ADDED
@@ -0,0 +1,178 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: vestorly_api
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- David Rodas
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-09-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.5'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.5'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: webmock
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: vcr
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: turn
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: httparty
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
description: |-
|
98
|
+
The Vestorly API provides the ability for external
|
99
|
+
developers to synchronize their client data with Vestorly.
|
100
|
+
The API provides support for CRM integration, content
|
101
|
+
curation, client behavior monitoring, and compliance
|
102
|
+
monitoring software.
|
103
|
+
email:
|
104
|
+
- ddreliv@gmail.com
|
105
|
+
executables: []
|
106
|
+
extensions: []
|
107
|
+
extra_rdoc_files: []
|
108
|
+
files:
|
109
|
+
- ".gitignore"
|
110
|
+
- ".rspec"
|
111
|
+
- Gemfile
|
112
|
+
- LICENSE.txt
|
113
|
+
- README.md
|
114
|
+
- Rakefile
|
115
|
+
- lib/vestorly_api.rb
|
116
|
+
- lib/vestorly_api/advisor_base.rb
|
117
|
+
- lib/vestorly_api/default_endpoint.rb
|
118
|
+
- lib/vestorly_api/exceptions.rb
|
119
|
+
- lib/vestorly_api/member.rb
|
120
|
+
- lib/vestorly_api/response_utils.rb
|
121
|
+
- lib/vestorly_api/sign_in.rb
|
122
|
+
- lib/vestorly_api/sign_out.rb
|
123
|
+
- lib/vestorly_api/version.rb
|
124
|
+
- spec/fixtures/vestorly_api_cassettes/advisor_posts.yml
|
125
|
+
- spec/fixtures/vestorly_api_cassettes/advisor_user_entries.yml
|
126
|
+
- spec/fixtures/vestorly_api_cassettes/fetch_members.yml
|
127
|
+
- spec/fixtures/vestorly_api_cassettes/invalid_fetch_members.yml
|
128
|
+
- spec/fixtures/vestorly_api_cassettes/invalid_sign_in.yml
|
129
|
+
- spec/fixtures/vestorly_api_cassettes/invalid_sign_out.yml
|
130
|
+
- spec/fixtures/vestorly_api_cassettes/sign_in.yml
|
131
|
+
- spec/fixtures/vestorly_api_cassettes/sign_out.yml
|
132
|
+
- spec/spec_helper.rb
|
133
|
+
- spec/vestorly_api/advisor_base_spec.rb
|
134
|
+
- spec/vestorly_api/default_endpiont_spec.rb
|
135
|
+
- spec/vestorly_api/member_spec.rb
|
136
|
+
- spec/vestorly_api/sign_in_spec.rb
|
137
|
+
- spec/vestorly_api/sign_out_spec.rb
|
138
|
+
- vestorly_api.gemspec
|
139
|
+
homepage: https://www.vestorly.com/
|
140
|
+
licenses:
|
141
|
+
- MIT
|
142
|
+
metadata: {}
|
143
|
+
post_install_message:
|
144
|
+
rdoc_options: []
|
145
|
+
require_paths:
|
146
|
+
- lib
|
147
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
148
|
+
requirements:
|
149
|
+
- - ">="
|
150
|
+
- !ruby/object:Gem::Version
|
151
|
+
version: '0'
|
152
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
153
|
+
requirements:
|
154
|
+
- - ">="
|
155
|
+
- !ruby/object:Gem::Version
|
156
|
+
version: '0'
|
157
|
+
requirements: []
|
158
|
+
rubyforge_project:
|
159
|
+
rubygems_version: 2.2.2
|
160
|
+
signing_key:
|
161
|
+
specification_version: 4
|
162
|
+
summary: Vestorly API integration.
|
163
|
+
test_files:
|
164
|
+
- spec/fixtures/vestorly_api_cassettes/advisor_posts.yml
|
165
|
+
- spec/fixtures/vestorly_api_cassettes/advisor_user_entries.yml
|
166
|
+
- spec/fixtures/vestorly_api_cassettes/fetch_members.yml
|
167
|
+
- spec/fixtures/vestorly_api_cassettes/invalid_fetch_members.yml
|
168
|
+
- spec/fixtures/vestorly_api_cassettes/invalid_sign_in.yml
|
169
|
+
- spec/fixtures/vestorly_api_cassettes/invalid_sign_out.yml
|
170
|
+
- spec/fixtures/vestorly_api_cassettes/sign_in.yml
|
171
|
+
- spec/fixtures/vestorly_api_cassettes/sign_out.yml
|
172
|
+
- spec/spec_helper.rb
|
173
|
+
- spec/vestorly_api/advisor_base_spec.rb
|
174
|
+
- spec/vestorly_api/default_endpiont_spec.rb
|
175
|
+
- spec/vestorly_api/member_spec.rb
|
176
|
+
- spec/vestorly_api/sign_in_spec.rb
|
177
|
+
- spec/vestorly_api/sign_out_spec.rb
|
178
|
+
has_rdoc:
|