atrium-ruby 0.4.3 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1a2f54ad9be7cba045db2d902ce3e3e4c071f917
4
- data.tar.gz: 191b3c86c948477d2d82cff9c66258e1348991ef
3
+ metadata.gz: 245392ec9efa63cc44d3d292397c47a32a03a16b
4
+ data.tar.gz: 4a07efc49acf876f734942c70b9f2e0fb6cd62d5
5
5
  SHA512:
6
- metadata.gz: d295f5e1379ad37a4992b11d79f048299ad90557cd47a6363806aca3bedb131e95616cfcc82c8e5dac0df17cb940f813ccad52af25a9d59b85a534a89ec0240d
7
- data.tar.gz: 3cca73816865d03d5e2347b485dbf98264fb441e176ae258492249ece3cba8e0c6ddbf1cc9f8f75838e19019cb5446f4e094ce8bcccc994d4dc0c0d65e0960ca
6
+ metadata.gz: a3a18069855ba1a1b7b5076d5428fc856729b1a90a47ac9eab4478ef248922683193317ddce8956602895adb466e4912500dcbd8e02a4fce25ab639fab73fea1
7
+ data.tar.gz: 3073ba5011c23cf91cd44041d660cf258a29ccb2857f677e57841cd880d7cc01e0fee1896db94b689807fc2a18b86640d263626e58cb438c724d0c7bfbd8d1a4
data/.rubocop.yml ADDED
@@ -0,0 +1,10 @@
1
+ # inherit_from: .rubocop_todo.yml
2
+ inherit_gem:
3
+ mad_rubocop: .rubocop.yml
4
+ AllCops:
5
+ TargetRubyVersion: 2.3
6
+ Include:
7
+ - 'Gemfile'
8
+ - 'Rakefile'
9
+ Style/FrozenStringLiteralComment:
10
+ Enabled: false
data/.travis.yml CHANGED
@@ -1,9 +1,11 @@
1
1
  language: ruby
2
+ rvm:
3
+ - 2.4
4
+ - 2.3
2
5
  sudo: false
3
6
  cache: bundler
4
- branches:
5
- only:
6
- - master
7
+ before_script:
8
+ - bundle exec rubocop
7
9
  notifications:
8
10
  email:
9
11
  on_success: never
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in mx-atrium-ruby.gemspec
4
4
  gemspec
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Atrium-Ruby
1
+ # Atrium-Ruby [![Build Status](https://travis-ci.org/mxenabled/atrium-ruby.svg?branch=master)](https://travis-ci.org/mxenabled/atrium-ruby)
2
2
 
3
3
  A Ruby wrapper for use with the [MX Atrium API](https://atrium.mx.com). In order to make requests, you will need to [sign up for MX Atrium API](https://atrium.mx.com/developers/sign_up) and get a `MX-API-KEY` and `MX-CLIENT-ID`. Then, configure your instance with:
4
4
  ```ruby
data/atrium-ruby.gemspec CHANGED
@@ -1,7 +1,8 @@
1
1
  # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
2
+
3
+ lib = File.expand_path("../lib", __FILE__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'atrium/version'
5
+ require "atrium/version"
5
6
 
6
7
  Gem::Specification.new do |spec|
7
8
  spec.name = "atrium-ruby"
@@ -25,4 +26,8 @@ Gem::Specification.new do |spec|
25
26
  spec.add_development_dependency "pry"
26
27
  spec.add_development_dependency "rake", "~> 10.0"
27
28
  spec.add_development_dependency "rspec"
29
+ spec.add_development_dependency "simplecov"
30
+ spec.add_development_dependency "vcr"
31
+ spec.add_development_dependency "webmock"
32
+ spec.add_development_dependency "mad_rubocop"
28
33
  end
data/bin/demo CHANGED
@@ -5,9 +5,9 @@ require "pry"
5
5
  require "yaml"
6
6
 
7
7
  def load_settings
8
- if ::File.exists?("tmp/settings.yml")
8
+ if ::File.exist?("tmp/settings.yml")
9
9
  puts "=> Using key and ID in tmp/settings.yml ¬"
10
- ::YAML.load(::File.read("tmp/settings.yml"))
10
+ ::YAML.safe_load(::File.read("tmp/settings.yml"))
11
11
  else
12
12
  settings = {}
13
13
  puts "What is your MX-API-KEY?"
@@ -27,11 +27,10 @@ def load_settings
27
27
  settings
28
28
  end
29
29
  end
30
-
31
30
  end
32
31
 
33
32
  settings = load_settings
34
- settings.each { |k,v| puts "\t#{k}: #{v}" }
33
+ settings.each { |k, v| puts "\t#{k}: #{v}" }
35
34
 
36
35
  ::Atrium.configure do |config|
37
36
  config.mx_client_id = settings[:mx_client_id]
data/lib/atrium.rb CHANGED
@@ -5,6 +5,7 @@ require "atrium/paginate"
5
5
 
6
6
  require "atrium/account"
7
7
  require "atrium/client"
8
+ require "atrium/connect"
8
9
  require "atrium/credential"
9
10
  require "atrium/error"
10
11
  require "atrium/institution"
@@ -36,7 +36,7 @@ module Atrium
36
36
  endpoint = "/users/#{user_guid}/accounts"
37
37
  accounts_response = ::Atrium.client.make_request(:get, endpoint)
38
38
 
39
- accounts = accounts_response["accounts"].map do |account|
39
+ accounts_response["accounts"].map do |account|
40
40
  ::Atrium::Account.new(account)
41
41
  end
42
42
  end
@@ -50,10 +50,10 @@ module Atrium
50
50
  end
51
51
 
52
52
  def transactions
53
- endpoint = "/users/#{self.user_guid}/accounts/#{self.guid}/transactions"
53
+ endpoint = "/users/#{user_guid}/accounts/#{guid}/transactions"
54
54
  account_transactions_response = ::Atrium.client.make_request(:get, endpoint)
55
55
 
56
- transactions = account_transactions_response["transactions"].map do |transaction|
56
+ account_transactions_response["transactions"].map do |transaction|
57
57
  ::Atrium::Transaction.new(transaction)
58
58
  end
59
59
  end
data/lib/atrium/client.rb CHANGED
@@ -1,18 +1,20 @@
1
1
  module Atrium
2
2
  class Client
3
+ DEVELOPMENT_URL = "https://vestibule.mx.com".freeze
3
4
  attr_accessor :mx_api_key, :mx_client_id, :base_url
4
5
 
5
- def initialize(api_key = nil, client_id = nil, base_url = "https://vestibule.mx.com")
6
- @mx_api_key = api_key
6
+ def initialize(api_key = nil, client_id = nil, base_url = DEVELOPMENT_URL)
7
+ @mx_api_key = api_key
7
8
  @mx_client_id = client_id
8
- @base_url = base_url
9
+ @base_url = base_url
9
10
  end
10
11
 
11
- def make_request(method, endpoint, body = {}, headers = {})
12
+ def make_request(method, endpoint, body = nil, headers = {})
12
13
  headers = default_headers.merge(headers)
13
- url = "#{self.base_url}#{endpoint}"
14
+ url = "#{base_url}#{endpoint}"
15
+ body = ::JSON.dump(body) if body
14
16
 
15
- response = http_client.public_send(method, url, ::JSON.dump(body), headers)
17
+ response = http_client.public_send(method, url, body, headers)
16
18
 
17
19
  handle_response(response)
18
20
  end
@@ -25,9 +27,9 @@ module Atrium
25
27
 
26
28
  def default_headers
27
29
  {
28
- "Accept" => "application/vnd.mx.atrium.v1+json",
30
+ "Accept" => "application/vnd.mx.atrium.v1+json",
29
31
  "Content-Type" => "application/json",
30
- "MX-API-KEY" => mx_api_key,
32
+ "MX-API-KEY" => mx_api_key,
31
33
  "MX-CLIENT-ID" => mx_client_id
32
34
  }
33
35
  end
@@ -35,7 +37,7 @@ module Atrium
35
37
  def handle_response(response)
36
38
  # Handle 200-206 responses as acceptable
37
39
  unless response.status.between?(200, 206)
38
- fail ::Atrium::Error, "#{response.status}: #{response.body}"
40
+ raise ::Atrium::Error, "#{response.status}: #{response.body}"
39
41
  end
40
42
 
41
43
  ::JSON.parse(response.body) unless response.body.empty?
@@ -0,0 +1,22 @@
1
+ module Atrium
2
+ class Connect
3
+ include ::ActiveAttr::Model
4
+
5
+ SCRIPT_SOURCE = "https://atrium.mx.com/connect.js".freeze
6
+
7
+ # ATTRIBUTES
8
+ attribute :connect_widget_url
9
+ attribute :guid
10
+
11
+ ##
12
+ # CLASS METHODS
13
+ #
14
+ def self.create(user_guid:)
15
+ endpoint = "/users/#{user_guid}/connect_widget_url"
16
+ connect_response = ::Atrium.client.make_request(:post, endpoint)
17
+
18
+ connect_params = connect_response["user"]
19
+ ::Atrium::Connect.new(connect_params)
20
+ end
21
+ end
22
+ end
@@ -4,11 +4,12 @@ module Atrium
4
4
  include ::ActiveAttr::Model
5
5
 
6
6
  attribute :code
7
- attribute :medium_logo_url
8
7
  attribute :name
9
- attribute :small_logo_url
10
8
  attribute :url
9
+ attribute :small_logo_url
10
+ attribute :medium_logo_url
11
11
 
12
+ # @todo Normalize params interface across gem, most of gem favors hash
12
13
  def self.credentials(institution_code)
13
14
  endpoint = "/institutions/#{institution_code}/credentials"
14
15
  response = ::Atrium.client.make_request(:get, endpoint)
@@ -18,12 +19,20 @@ module Atrium
18
19
  end
19
20
  end
20
21
 
22
+ def self.read(institution_code:)
23
+ endpoint = "/institutions/#{institution_code}"
24
+ response = ::Atrium.client.make_request(:get, endpoint)
25
+
26
+ institution_params = response["institution"]
27
+ ::Atrium::Institution.new(institution_params)
28
+ end
29
+
21
30
  def self.list(query_params: nil, limit: nil)
22
- paginate_endpoint(query_params: query_params, limit: limit)
31
+ paginate_endpoint(:query_params => query_params, :limit => limit)
23
32
  end
24
33
 
25
34
  def self.list_in_batches(query_params: nil, limit: nil, &block)
26
- paginate_endpoint_in_batches(query_params: query_params, limit: limit, &block)
35
+ paginate_endpoint_in_batches(:query_params => query_params, :limit => limit, &block)
27
36
  end
28
37
  end
29
38
  end
data/lib/atrium/member.rb CHANGED
@@ -13,7 +13,6 @@ module Atrium
13
13
  attribute :successfully_aggregated_at
14
14
  attribute :user_guid
15
15
 
16
-
17
16
  ##
18
17
  # CLASS METHODS
19
18
  #
@@ -47,7 +46,7 @@ module Atrium
47
46
  # INSTANCE METHODS
48
47
  #
49
48
  def accounts
50
- endpoint = "/users/#{self.user_guid}/members/#{self.guid}/accounts"
49
+ endpoint = "/users/#{user_guid}/members/#{guid}/accounts"
51
50
  accounts_response = ::Atrium.client.make_request(:get, endpoint)
52
51
 
53
52
  accounts_response["accounts"].map do |account|
@@ -56,25 +55,25 @@ module Atrium
56
55
  end
57
56
 
58
57
  def aggregate
59
- endpoint = "/users/#{self.user_guid}/members/#{self.guid}/aggregate"
58
+ endpoint = "/users/#{user_guid}/members/#{guid}/aggregate"
60
59
  member_response = ::Atrium.client.make_request(:post, endpoint)
61
60
 
62
61
  member_params = member_response["member"]
63
- self.assign_attributes(member_params)
62
+ assign_attributes(member_params)
64
63
  self
65
64
  end
66
65
 
67
66
  def aggregation_status
68
- endpoint = "/users/#{self.user_guid}/members/#{self.guid}/status"
67
+ endpoint = "/users/#{user_guid}/members/#{guid}/status"
69
68
  member_response = ::Atrium.client.make_request(:get, endpoint)
70
69
 
71
70
  member_params = member_response["member"]
72
- self.assign_attributes(member_params)
71
+ assign_attributes(member_params)
73
72
  self
74
73
  end
75
74
 
76
75
  def challenges
77
- endpoint = "/users/#{self.user_guid}/members/#{self.guid}/challenges"
76
+ endpoint = "/users/#{user_guid}/members/#{guid}/challenges"
78
77
  challenge_response = ::Atrium.client.make_request(:get, endpoint)
79
78
 
80
79
  return nil if challenge_response.nil?
@@ -87,14 +86,14 @@ module Atrium
87
86
  end
88
87
 
89
88
  def delete
90
- endpoint = "/users/#{self.user_guid}/members/#{self.guid}"
89
+ endpoint = "/users/#{user_guid}/members/#{guid}"
91
90
  ::Atrium.client.make_request(:delete, endpoint)
92
91
 
93
92
  self
94
93
  end
95
94
 
96
95
  def read_account(account_guid:)
97
- endpoint = "/users/#{self.user_guid}/members/#{self.guid}/accounts/#{account_guid}"
96
+ endpoint = "/users/#{user_guid}/members/#{guid}/accounts/#{account_guid}"
98
97
  account_response = ::Atrium.client.make_request(:get, endpoint)
99
98
 
100
99
  account_params = account_response["account"]
@@ -102,27 +101,27 @@ module Atrium
102
101
  end
103
102
 
104
103
  def resume(challenge_credentials)
105
- endpoint = "/users/#{self.user_guid}/members/#{self.guid}/resume"
104
+ endpoint = "/users/#{user_guid}/members/#{guid}/resume"
106
105
  body = resume_params(challenge_credentials)
107
106
  member_response = ::Atrium.client.make_request(:put, endpoint, body)
108
107
 
109
108
  member_params = member_response["member"]
110
- self.assign_attributes(member_params)
109
+ assign_attributes(member_params)
111
110
  self
112
111
  end
113
112
 
114
113
  def update(params)
115
- endpoint = "/users/#{self.user_guid}/members/#{self.guid}"
114
+ endpoint = "/users/#{user_guid}/members/#{guid}"
116
115
  body = member_body(params)
117
116
  member_response = ::Atrium.client.make_request(:put, endpoint, body)
118
117
 
119
118
  member_params = member_response["member"]
120
- self.assign_attributes(member_params)
119
+ assign_attributes(member_params)
121
120
  self
122
121
  end
123
122
 
124
123
  def transactions
125
- endpoint = "/users/#{self.user_guid}/members/#{self.guid}/transactions"
124
+ endpoint = "/users/#{user_guid}/members/#{guid}/transactions"
126
125
  transactions_response = ::Atrium.client.make_request(:get, endpoint)
127
126
 
128
127
  transactions_response["transactions"].map do |transaction|
@@ -141,20 +140,9 @@ module Atrium
141
140
  }
142
141
  }
143
142
  end
143
+ private_class_method :create_params
144
144
 
145
- def self.member_body(params)
146
- {
147
- :member => {
148
- :credentials => params[:credentials],
149
- :identifier => params[:identifier],
150
- :institution_code => params[:institution_code],
151
- :metadata => params[:metadata]
152
- }
153
- }
154
- end
155
- private_class_method :create_params, :member_body
156
-
157
- private
145
+ private
158
146
 
159
147
  ##
160
148
  # PRIVATE INSTANCE METHODS
@@ -9,12 +9,13 @@ module Atrium
9
9
 
10
10
  def endpoint_name(query_params: nil)
11
11
  @endpoint = if query_params.present?
12
- "/" + klass_name + "?" + URI.encode_www_form(query_params) + "&"
13
- else
14
- "/" + klass_name + "?"
15
- end
12
+ "/" + klass_name + "?" + URI.encode_www_form(query_params) + "&"
13
+ else
14
+ "/" + klass_name + "?"
15
+ end
16
16
  end
17
17
 
18
+ # rubocop:disable Style/AccessorMethodName
18
19
  def get_total_pages
19
20
  @current_page = INITIAL_PAGE
20
21
 
@@ -24,23 +25,24 @@ module Atrium
24
25
  pagination = response["pagination"]
25
26
  @total_pages = pagination["total_pages"]
26
27
  end
28
+ # rubocop:enable Style/AccessorMethodName
27
29
 
28
30
  def klass_name
29
- @klass_name ||= self.name.gsub("Atrium::", "").downcase.pluralize
31
+ @klass_name ||= name.gsub("Atrium::", "").downcase.pluralize
30
32
  end
31
33
 
32
34
  def paginate_endpoint(query_params: nil, limit: nil)
33
- endpoint_name(query_params: query_params)
35
+ endpoint_name(:query_params => query_params)
34
36
  get_total_pages
35
- response_list(limit: limit)
37
+ response_list(:limit => limit)
36
38
  end
37
39
 
38
40
  def paginate_endpoint_in_batches(query_params: nil, limit: nil, &block)
39
41
  return "method requires block to be passed" unless block_given?
40
42
 
41
- endpoint_name(query_params: query_params)
43
+ endpoint_name(:query_params => query_params)
42
44
  get_total_pages
43
- response_list_in_batches(limit: limit, &block)
45
+ response_list_in_batches(:limit => limit, &block)
44
46
  end
45
47
 
46
48
  def records_per_page
@@ -53,12 +55,12 @@ module Atrium
53
55
  list = []
54
56
 
55
57
  until current_page > total_pages
56
- paginated_endpoint = endpoint + "page=#{current_page}&records_per_page=#{records_per_page}"
58
+ paginated_endpoint = endpoint + "page=#{current_page}&records_per_page=#{records_per_page}"
57
59
  response = ::Atrium.client.make_request(:get, paginated_endpoint)
58
60
 
59
61
  # Add new objects to the list
60
- response["#{klass_name}"].each do |params|
61
- list << self.new(params)
62
+ response[klass_name.to_s].each do |params|
63
+ list << new(params)
62
64
  end
63
65
  @current_page += 1
64
66
  end
@@ -70,17 +72,17 @@ module Atrium
70
72
  end
71
73
  end
72
74
 
73
- def response_list_in_batches(limit: nil, &block)
75
+ def response_list_in_batches(limit: nil)
74
76
  # "total_pages > 1" check exists since some query_params only return 1 page
75
77
  @total_pages = limit / records_per_page if limit.present? && total_pages > 1
76
78
 
77
79
  until current_page > total_pages
78
- paginated_endpoint = endpoint + "page=#{current_page}&records_per_page=#{records_per_page}"
80
+ paginated_endpoint = endpoint + "page=#{current_page}&records_per_page=#{records_per_page}"
79
81
  response = ::Atrium.client.make_request(:get, paginated_endpoint)
80
82
  list = []
81
83
 
82
- response["#{klass_name}"].each do |params|
83
- list << self.new(params)
84
+ response[klass_name.to_s].each do |params|
85
+ list << new(params)
84
86
  end
85
87
  @current_page += 1
86
88
  yield list
data/lib/atrium/user.rb CHANGED
@@ -41,7 +41,7 @@ module Atrium
41
41
  # INSTANCE METHODS
42
42
  #
43
43
  def accounts
44
- endpoint = "/users/#{self.guid}/accounts"
44
+ endpoint = "/users/#{guid}/accounts"
45
45
  response = ::Atrium.client.make_request(:get, endpoint)
46
46
 
47
47
  response["accounts"].map do |account|
@@ -50,14 +50,14 @@ module Atrium
50
50
  end
51
51
 
52
52
  def delete
53
- endpoint = "/users/#{self.guid}"
53
+ endpoint = "/users/#{guid}"
54
54
  ::Atrium.client.make_request(:delete, endpoint)
55
55
 
56
56
  self
57
57
  end
58
58
 
59
59
  def members
60
- endpoint = "/users/#{self.guid}/members"
60
+ endpoint = "/users/#{guid}/members"
61
61
  response = ::Atrium.client.make_request(:get, endpoint)
62
62
 
63
63
  response["members"].map do |member|
@@ -66,7 +66,7 @@ module Atrium
66
66
  end
67
67
 
68
68
  def transactions
69
- endpoint = "/users/#{self.guid}/transactions"
69
+ endpoint = "/users/#{guid}/transactions"
70
70
  response = ::Atrium.client.make_request(:get, endpoint)
71
71
 
72
72
  response["transactions"].map do |transaction|
@@ -75,16 +75,16 @@ module Atrium
75
75
  end
76
76
 
77
77
  def update(params)
78
- endpoint = "/users/#{self.guid}"
78
+ endpoint = "/users/#{guid}"
79
79
  body = update_params(params)
80
80
  response = ::Atrium.client.make_request(:put, endpoint, body)
81
81
 
82
82
  user_params = response["user"]
83
- self.assign_attributes(user_params)
83
+ assign_attributes(user_params)
84
84
  self
85
85
  end
86
86
 
87
- private
87
+ private
88
88
 
89
89
  def update_params(params)
90
90
  {
@@ -101,5 +101,6 @@ module Atrium
101
101
  }
102
102
  }
103
103
  end
104
+ private_class_method :user_body
104
105
  end
105
106
  end
@@ -1,3 +1,3 @@
1
1
  module Atrium
2
- VERSION = "0.4.3"
2
+ VERSION = "0.5.0".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: atrium-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Carstens, Dan Jones, Zach Toolson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-08-02 00:00:00.000000000 Z
11
+ date: 2017-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_attr
@@ -94,6 +94,62 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: simplecov
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: vcr
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: webmock
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: mad_rubocop
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
97
153
  description: Ruby wrapper for the Atrium API by MX
98
154
  email:
99
155
  - jon.carstens@mx.com, dan.jones@mx.com, zach.toolson@mx.com
@@ -102,6 +158,7 @@ extensions: []
102
158
  extra_rdoc_files: []
103
159
  files:
104
160
  - ".gitignore"
161
+ - ".rubocop.yml"
105
162
  - ".travis.yml"
106
163
  - Gemfile
107
164
  - README.md
@@ -114,6 +171,7 @@ files:
114
171
  - lib/atrium/account.rb
115
172
  - lib/atrium/challenge.rb
116
173
  - lib/atrium/client.rb
174
+ - lib/atrium/connect.rb
117
175
  - lib/atrium/credential.rb
118
176
  - lib/atrium/error.rb
119
177
  - lib/atrium/institution.rb