oneaccess 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +24 -0
  3. data/.rubocop.yml +11 -29
  4. data/.rubocop_todo.yml +50 -0
  5. data/Gemfile +1 -1
  6. data/Gemfile.lock +9 -5
  7. data/Rakefile +4 -4
  8. data/docker-compose.yml +0 -5
  9. data/lib/oneaccess.rb +25 -24
  10. data/lib/oneaccess/api/api_base.rb +9 -9
  11. data/lib/oneaccess/api/v1_1/base.rb +1 -1
  12. data/lib/oneaccess/api/v1_1/entitlement/model/user_requests.rb +62 -0
  13. data/lib/oneaccess/api/v1_1/entitlement/organization/product_group.rb +10 -8
  14. data/lib/oneaccess/api/v1_1/entitlement/research/user_requests.rb +17 -15
  15. data/lib/oneaccess/api/v1_1/entitlement/user/product_group.rb +10 -8
  16. data/lib/oneaccess/api/v1_1/entitlement/user_subscription.rb +5 -5
  17. data/lib/oneaccess/api/v1_1/organizations.rb +2 -2
  18. data/lib/oneaccess/api/v1_1/references.rb +9 -9
  19. data/lib/oneaccess/api/v1_1/research.rb +7 -5
  20. data/lib/oneaccess/api/v1_1/symbology.rb +10 -8
  21. data/lib/oneaccess/api/v1_1/user.rb +3 -3
  22. data/lib/oneaccess/api/v3_0/base.rb +1 -1
  23. data/lib/oneaccess/api/v3_0/interactions.rb +8 -8
  24. data/lib/oneaccess/api/v3_0/providers.rb +8 -10
  25. data/lib/oneaccess/api/v3_0/references.rb +11 -11
  26. data/lib/oneaccess/configuration.rb +6 -6
  27. data/lib/oneaccess/data_object/address.rb +1 -1
  28. data/lib/oneaccess/data_object/city.rb +1 -1
  29. data/lib/oneaccess/data_object/company.rb +1 -1
  30. data/lib/oneaccess/data_object/company_light.rb +1 -1
  31. data/lib/oneaccess/data_object/contributor.rb +1 -1
  32. data/lib/oneaccess/data_object/country.rb +1 -1
  33. data/lib/oneaccess/data_object/global_region.rb +1 -1
  34. data/lib/oneaccess/data_object/inducement.rb +1 -1
  35. data/lib/oneaccess/data_object/industry.rb +1 -1
  36. data/lib/oneaccess/data_object/investor.rb +1 -1
  37. data/lib/oneaccess/data_object/meta.rb +1 -1
  38. data/lib/oneaccess/data_object/organization.rb +1 -1
  39. data/lib/oneaccess/data_object/organization_light.rb +1 -1
  40. data/lib/oneaccess/data_object/product_group.rb +1 -1
  41. data/lib/oneaccess/data_object/providers_user_details.rb +1 -1
  42. data/lib/oneaccess/data_object/providers_user_details_vendor.rb +1 -1
  43. data/lib/oneaccess/data_object/providers_users_details.rb +1 -1
  44. data/lib/oneaccess/data_object/region.rb +1 -1
  45. data/lib/oneaccess/data_object/representer/address.rb +3 -3
  46. data/lib/oneaccess/data_object/representer/city.rb +2 -2
  47. data/lib/oneaccess/data_object/representer/company.rb +12 -6
  48. data/lib/oneaccess/data_object/representer/contributor.rb +2 -2
  49. data/lib/oneaccess/data_object/representer/country.rb +10 -6
  50. data/lib/oneaccess/data_object/representer/global_region.rb +2 -2
  51. data/lib/oneaccess/data_object/representer/inducement.rb +6 -2
  52. data/lib/oneaccess/data_object/representer/industry.rb +5 -3
  53. data/lib/oneaccess/data_object/representer/investor.rb +1 -1
  54. data/lib/oneaccess/data_object/representer/meta.rb +2 -2
  55. data/lib/oneaccess/data_object/representer/providers_user_details.rb +4 -3
  56. data/lib/oneaccess/data_object/representer/providers_users_details.rb +4 -3
  57. data/lib/oneaccess/data_object/representer/research_document_info.rb +5 -3
  58. data/lib/oneaccess/data_object/representer/user.rb +10 -6
  59. data/lib/oneaccess/data_object/representer/user_entitlement_request.rb +19 -11
  60. data/lib/oneaccess/data_object/research_document_info.rb +1 -1
  61. data/lib/oneaccess/data_object/saml_info.rb +1 -1
  62. data/lib/oneaccess/data_object/sell_side_user_group_entitlement.rb +1 -1
  63. data/lib/oneaccess/data_object/user.rb +1 -1
  64. data/lib/oneaccess/data_object/user_entitlement_request.rb +1 -1
  65. data/lib/oneaccess/data_object/user_light.rb +1 -1
  66. data/lib/oneaccess/error/api_error.rb +2 -2
  67. data/lib/oneaccess/http/http_client.rb +10 -12
  68. data/lib/oneaccess/request/contributors_request_handler.rb +2 -2
  69. data/lib/oneaccess/request/investors_request_handler.rb +2 -2
  70. data/lib/oneaccess/response/api_error.rb +1 -1
  71. data/lib/oneaccess/response/buy_side_interactions_response.rb +2 -2
  72. data/lib/oneaccess/response/changed_users_response.rb +2 -2
  73. data/lib/oneaccess/response/companies_response.rb +2 -2
  74. data/lib/oneaccess/response/company_response.rb +2 -2
  75. data/lib/oneaccess/response/contributors_response.rb +2 -2
  76. data/lib/oneaccess/response/countries_response.rb +2 -2
  77. data/lib/oneaccess/response/inducement_response.rb +2 -2
  78. data/lib/oneaccess/response/industries_response.rb +2 -2
  79. data/lib/oneaccess/response/investors_response.rb +2 -2
  80. data/lib/oneaccess/response/organization_response.rb +1 -1
  81. data/lib/oneaccess/response/paginated_response.rb +1 -1
  82. data/lib/oneaccess/response/product_groups_response.rb +2 -2
  83. data/lib/oneaccess/response/providers_users_details_response.rb +2 -2
  84. data/lib/oneaccess/response/representer/buy_side_interactions_response.rb +1 -1
  85. data/lib/oneaccess/response/representer/changed_users_response.rb +1 -1
  86. data/lib/oneaccess/response/representer/companies_response.rb +6 -5
  87. data/lib/oneaccess/response/representer/company_response.rb +7 -6
  88. data/lib/oneaccess/response/representer/contributors_response.rb +9 -7
  89. data/lib/oneaccess/response/representer/countries_response.rb +6 -5
  90. data/lib/oneaccess/response/representer/inducement_response.rb +7 -6
  91. data/lib/oneaccess/response/representer/industries_response.rb +6 -5
  92. data/lib/oneaccess/response/representer/investors_response.rb +8 -6
  93. data/lib/oneaccess/response/representer/organization_response.rb +2 -2
  94. data/lib/oneaccess/response/representer/paginated_response.rb +1 -1
  95. data/lib/oneaccess/response/representer/product_groups_response.rb +6 -5
  96. data/lib/oneaccess/response/representer/providers_users_details_response.rb +3 -3
  97. data/lib/oneaccess/response/representer/research_document_response.rb +6 -5
  98. data/lib/oneaccess/response/representer/subscribe_to_updates_response.rb +1 -1
  99. data/lib/oneaccess/response/representer/user_entitlement_requests_response.rb +6 -5
  100. data/lib/oneaccess/response/representer/user_requests_response.rb +1 -1
  101. data/lib/oneaccess/response/representer/user_response.rb +2 -2
  102. data/lib/oneaccess/response/research_document_response.rb +2 -2
  103. data/lib/oneaccess/response/subscribe_to_updates_response.rb +2 -2
  104. data/lib/oneaccess/response/user_entitlement_requests_response.rb +2 -2
  105. data/lib/oneaccess/response/user_requests_response.rb +2 -2
  106. data/lib/oneaccess/response/user_response.rb +2 -2
  107. data/oneaccess.gemspec +24 -24
  108. metadata +17 -15
  109. data/circle.yml +0 -9
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "../../../../response/product_groups_response"
3
+ require_relative '../../../../response/product_groups_response'
4
4
 
5
5
  module ONEAccess
6
6
  module API
@@ -8,15 +8,17 @@ module ONEAccess
8
8
  module Entitlement
9
9
  module User
10
10
  class ProductGroup < Base
11
- api_path "/entitlement/user/productgroup"
11
+ api_path '/entitlement/user/productgroup'
12
12
 
13
13
  def self.get_list(user_id:, page_number: 0, page_size: 20, type: nil)
14
- resp = send_get("getList", Query: {
15
- PageNumber: page_number,
16
- PageSize: page_size,
17
- UserId: user_id,
18
- Type: type
19
- }.to_json)
14
+ resp = send_get(
15
+ 'getList', Query: {
16
+ PageNumber: page_number,
17
+ PageSize: page_size,
18
+ UserId: user_id,
19
+ Type: type,
20
+ }.to_json
21
+ )
20
22
  Response::ProductGroupsResponse.from_json(resp.body)
21
23
  end
22
24
  end
@@ -1,24 +1,24 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "../../../response/subscribe_to_updates_response"
4
- require_relative "../../../response/changed_users_response"
3
+ require_relative '../../../response/subscribe_to_updates_response'
4
+ require_relative '../../../response/changed_users_response'
5
5
 
6
6
  module ONEAccess
7
7
  module API
8
8
  module V1_1
9
9
  module Entitlement
10
10
  class UserSubscription < Base
11
- api_path "/entitlement/userSubscription"
11
+ api_path '/entitlement/userSubscription'
12
12
 
13
13
  def self.subscribe(user_ids:)
14
- response = send_post("subscribeToUpdates", user_ids)
14
+ response = send_post('subscribeToUpdates', user_ids)
15
15
 
16
16
  Response::SubscribeToUpdatesResponse.from_json(response.body)
17
17
  end
18
18
 
19
19
  def self.changed_users(from_date: nil)
20
20
  params = { dateFrom: from_date }.reject { |_, v| v.nil? }
21
- response = send_get("subscribeToUpdates/changedUsers/getList", params)
21
+ response = send_get('subscribeToUpdates/changedUsers/getList', params)
22
22
 
23
23
  Response::ChangedUsersResponse.from_json(response.body)
24
24
  end
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "../../response/organization_response"
3
+ require_relative '../../response/organization_response'
4
4
 
5
5
  module ONEAccess
6
6
  module API
7
7
  module V1_1
8
8
  class Organizations < Base
9
- api_path "/organizations"
9
+ api_path '/organizations'
10
10
 
11
11
  def self.get(id:)
12
12
  resp = send_get("get/#{id}")
@@ -1,28 +1,28 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "../../response/industries_response"
4
- require_relative "../../response/countries_response"
5
- require_relative "../../response/contributors_response"
3
+ require_relative '../../response/industries_response'
4
+ require_relative '../../response/countries_response'
5
+ require_relative '../../response/contributors_response'
6
6
 
7
7
  module ONEAccess
8
8
  module API
9
9
  module V1_1
10
10
  class References < Base
11
- api_path "/references"
11
+ api_path '/references'
12
12
 
13
13
  class << self
14
- def industries(sort_by: "Id", is_ascending: false, keyword: "", page_number: 0, page_size: 20)
14
+ def industries(sort_by: 'Id', is_ascending: false, keyword: '', page_number: 0, page_size: 20)
15
15
  query = build_query(sort_by, is_ascending, keyword, page_number, page_size)
16
16
 
17
- resp = send_get("industries", Query: query.to_json)
17
+ resp = send_get('industries', Query: query.to_json)
18
18
 
19
19
  Response::IndustriesResponse.from_json(resp.body)
20
20
  end
21
21
 
22
- def countries(sort_by: "Id", is_ascending: false, keyword: "", page_number: 0, page_size: 20)
22
+ def countries(sort_by: 'Id', is_ascending: false, keyword: '', page_number: 0, page_size: 20)
23
23
  query = build_query(sort_by, is_ascending, keyword, page_number, page_size)
24
24
 
25
- resp = send_get("countries", Query: query.to_json)
25
+ resp = send_get('countries', Query: query.to_json)
26
26
 
27
27
  Response::CountriesResponse.from_json(resp.body)
28
28
  end
@@ -35,7 +35,7 @@ module ONEAccess
35
35
  IsAscending: is_ascending,
36
36
  Keyword: keyword,
37
37
  PageNumber: page_number,
38
- PageSize: page_size
38
+ PageSize: page_size,
39
39
  }
40
40
  end
41
41
  end
@@ -1,21 +1,23 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "../../response/research_document_response"
3
+ require_relative '../../response/research_document_response'
4
4
 
5
5
  module ONEAccess
6
6
  module API
7
7
  module V1_1
8
8
  class Research < Base
9
- api_path "/research"
9
+ api_path '/research'
10
10
 
11
11
  def self.document(document_id:, first_name:, last_name:, email:)
12
- resp = send_get("document", documentId: document_id, userFirstName: first_name,
13
- userLastName: last_name, userEmail: email)
12
+ resp = send_get(
13
+ 'document', documentId: document_id, userFirstName: first_name,
14
+ userLastName: last_name, userEmail: email
15
+ )
14
16
  Response::ResearchDocumentResponse.from_json(resp.body)
15
17
  end
16
18
 
17
19
  def self.document_by_user_id(document_id:, user_id:)
18
- resp = send_get("documentByUserId", documentId: document_id, userId: user_id)
20
+ resp = send_get('documentByUserId', documentId: document_id, userId: user_id)
19
21
  Response::ResearchDocumentResponse.from_json(resp.body)
20
22
  end
21
23
  end
@@ -1,20 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "../../response/companies_response"
4
- require_relative "../../response/company_response"
3
+ require_relative '../../response/companies_response'
4
+ require_relative '../../response/company_response'
5
5
 
6
6
  module ONEAccess
7
7
  module API
8
8
  module V1_1
9
9
  class Symbology < Base
10
- api_path "/symbology"
10
+ api_path '/symbology'
11
11
 
12
12
  def self.companies(is_private:, page_number: 0, page_size: 20)
13
- resp = send_get("companies", Query: {
14
- PageNumber: page_number,
15
- PageSize: page_size,
16
- IsPrivate: is_private
17
- }.to_json)
13
+ resp = send_get(
14
+ 'companies', Query: {
15
+ PageNumber: page_number,
16
+ PageSize: page_size,
17
+ IsPrivate: is_private,
18
+ }.to_json
19
+ )
18
20
  Response::CompaniesResponse.from_json(resp.body)
19
21
  end
20
22
 
@@ -1,15 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "../../response/user_response"
3
+ require_relative '../../response/user_response'
4
4
 
5
5
  module ONEAccess
6
6
  module API
7
7
  module V1_1
8
8
  class User < Base
9
- api_path "/user"
9
+ api_path '/user'
10
10
 
11
11
  def self.get_by_email(first_name:, last_name:, email:)
12
- resp = send_get("getbyemail", userFirstName: first_name, userLastName: last_name, userEmail: email)
12
+ resp = send_get('getbyemail', userFirstName: first_name, userLastName: last_name, userEmail: email)
13
13
  Response::UserResponse.from_json(resp.body)
14
14
  end
15
15
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "../api_base"
3
+ require_relative '../api_base'
4
4
 
5
5
  module ONEAccess
6
6
  module API
@@ -1,23 +1,23 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "date"
3
+ require 'date'
4
4
 
5
- require_relative "../../response/buy_side_interactions_response"
5
+ require_relative '../../response/buy_side_interactions_response'
6
6
 
7
7
  module ONEAccess
8
8
  module API
9
9
  module V3_0
10
10
  class Interactions < Base
11
11
  module Types
12
- RESEARCH_READERSHIP = "Research Readership"
12
+ RESEARCH_READERSHIP = 'Research Readership'
13
13
  end
14
14
 
15
- DATE_FORMAT = "%Y-%m-%d %H:%M"
15
+ DATE_FORMAT = '%Y-%m-%d %H:%M'
16
16
  DATE_FORMAT_REGEX = /\d{4}-\d{2}-\d{2} \d{2}:\d{2}/
17
17
  private_constant :DATE_FORMAT
18
18
  private_constant :DATE_FORMAT_REGEX
19
19
 
20
- api_path "/interactions"
20
+ api_path '/interactions'
21
21
 
22
22
  class << self
23
23
  def buy_side_interactions(
@@ -34,8 +34,8 @@ module ONEAccess
34
34
  validate_date(end_date)
35
35
 
36
36
  response = send_post(
37
- "buysideinteractions",
38
- payload(type, start_date, end_date, user_id, broker, company_name, email)
37
+ 'buysideinteractions',
38
+ payload(type, start_date, end_date, user_id, broker, company_name, email),
39
39
  )
40
40
 
41
41
  Response::BuySideInteractionsResponse.from_json(response.body)
@@ -70,7 +70,7 @@ module ONEAccess
70
70
  interaction_type: type,
71
71
  broker: broker.to_s,
72
72
  investor: company_name.to_s,
73
- investor_attendees: [{ email: email }]
73
+ investor_attendees: [{ email: email }],
74
74
  }
75
75
  end
76
76
  end
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "../../response/inducement_response"
4
- require_relative "../../response/providers_users_details_response"
3
+ require_relative '../../response/inducement_response'
4
+ require_relative '../../response/providers_users_details_response'
5
5
 
6
6
  module ONEAccess
7
7
  module API
8
8
  module V3_0
9
9
  class Providers < Base
10
- api_path "/providers"
10
+ api_path '/providers'
11
11
 
12
12
  class << self
13
13
  def inducements(recipient_user_id:, sender_email:, subject:, email_body:, receive_date:)
@@ -16,14 +16,13 @@ module ONEAccess
16
16
  senderemail: sender_email,
17
17
  subject: subject,
18
18
  emailbody: email_body,
19
- receivedate: receive_date
19
+ receivedate: receive_date,
20
20
  }.reject { |_, v| v.nil? }
21
21
 
22
- response = send_post("inducements", inducement: params)
22
+ response = send_post('inducements', inducement: params)
23
23
  Response::InducementResponse.from_json(response.body)
24
24
  end
25
25
 
26
- # rubocop:disable Metrics/MethodLength
27
26
  def users_details(
28
27
  buy_side_org_id:,
29
28
  provider_id:,
@@ -42,13 +41,12 @@ module ONEAccess
42
41
  useremail: user_email,
43
42
  userreverseentitlementstatus: user_reverse_entitlement_status,
44
43
  vendorid: vendor_id,
45
- reverseentitlementstatus: reverse_entitlement_status
44
+ reverseentitlementstatus: reverse_entitlement_status,
46
45
  }.compact!
47
46
 
48
47
  resp = send_get("GetProviderUserDetails?providerid=#{comma_separated_values(provider_id)}", params)
49
48
  Response::ProvidersUsersDetailsResponse.from_json(resp.body)
50
49
  end
51
- # rubocop:enable Metrics/MethodLength
52
50
 
53
51
  private
54
52
 
@@ -59,11 +57,11 @@ module ONEAccess
59
57
  # [1,2$,3] => '1,2%24,3'
60
58
  # '1,2$,3' => '1,2%24,3'
61
59
  def comma_separated_values(values)
62
- values = values.split(",") if values.is_a?(String)
60
+ values = values.split(',') if values.is_a?(String)
63
61
  if values.is_a?(Array)
64
62
  values = values.map do |value|
65
63
  URI.encode_www_form_component(value)
66
- end.join(",")
64
+ end.join(',')
67
65
  end
68
66
  values
69
67
  end
@@ -1,47 +1,47 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "../../response/contributors_response"
4
- require_relative "../../response/investors_response"
5
- require_relative "../../request/contributors_request_handler"
6
- require_relative "../../request/investors_request_handler"
3
+ require_relative '../../response/contributors_response'
4
+ require_relative '../../response/investors_response'
5
+ require_relative '../../request/contributors_request_handler'
6
+ require_relative '../../request/investors_request_handler'
7
7
 
8
8
  module ONEAccess
9
9
  module API
10
10
  module V3_0
11
11
  class References < Base
12
- api_path "/references"
12
+ api_path '/references'
13
13
 
14
14
  class << self
15
15
  def contributors(contributor_names: nil, limit: 20, offset: 0)
16
16
  params = {
17
17
  contributor_names: contributor_names,
18
18
  limit: limit,
19
- offset: offset
19
+ offset: offset,
20
20
  }.reject { |_, v| v.nil? }
21
21
 
22
- resp = send_get("contributors", params)
22
+ resp = send_get('contributors', params)
23
23
 
24
24
  Response::ContributorsResponse.from_json(resp.body)
25
25
  end
26
26
 
27
27
  def contributors_list
28
- Request::ContributorsRequestHandler.new(url: api_url("contributors"))
28
+ Request::ContributorsRequestHandler.new(url: api_url('contributors'))
29
29
  end
30
30
 
31
31
  def investors(investor_names: nil, limit: 20, offset: 0)
32
32
  params = {
33
33
  investor_names: investor_names,
34
34
  limit: limit,
35
- offset: offset
35
+ offset: offset,
36
36
  }.reject { |_, v| v.nil? }
37
37
 
38
- resp = send_get("investors", params)
38
+ resp = send_get('investors', params)
39
39
 
40
40
  Response::InvestorsResponse.from_json(resp.body)
41
41
  end
42
42
 
43
43
  def investors_list
44
- Request::InvestorsRequestHandler.new(url: api_url("investors"))
44
+ Request::InvestorsRequestHandler.new(url: api_url('investors'))
45
45
  end
46
46
  end
47
47
  end
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "logger"
3
+ require 'logger'
4
4
 
5
5
  module ONEAccess
6
6
  class Configuration
7
- DEFAULT_BASE_URL = "http://ws.oneaccess.io"
8
- DEFAULT_BASE_V1_1_PATH = "/v1.1"
9
- DEFAULT_BASE_V3_0_PATH = "/v3.0"
7
+ DEFAULT_BASE_URL = 'http://ws.oneaccess.io'
8
+ DEFAULT_BASE_V1_1_PATH = '/v1.1'
9
+ DEFAULT_BASE_V3_0_PATH = '/v3.0'
10
10
 
11
11
  class << self
12
12
  attr_accessor :base_url
@@ -24,8 +24,8 @@ module ONEAccess
24
24
  end
25
25
 
26
26
  def reset!
27
- self.base_url = DEFAULT_BASE_URL
28
- self.api_key = nil
27
+ self.base_url = DEFAULT_BASE_URL
28
+ self.api_key = nil
29
29
  self.master_api_key = nil
30
30
  end
31
31
 
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "./representer/address"
3
+ require_relative './representer/address'
4
4
 
5
5
  module ONEAccess
6
6
  module DataObject
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "./representer/city"
3
+ require_relative './representer/city'
4
4
 
5
5
  module ONEAccess
6
6
  module DataObject
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "./representer/company"
3
+ require_relative './representer/company'
4
4
 
5
5
  module ONEAccess
6
6
  module DataObject
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative "./representer/company_light"
3
+ require_relative './representer/company_light'
4
4
 
5
5
  module ONEAccess
6
6
  module DataObject