finapps 1.0.1 → 1.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5ba0dc49c6eb9279264ab1219ad0c28c0b033075
4
- data.tar.gz: fc6826aff9063837a11f09acc07d17e53aef601c
3
+ metadata.gz: 9574b3eed162bb96cc5308dd0305166f40263409
4
+ data.tar.gz: f0d82e74f4fb58ea3544a7baf559f0403d8f7590
5
5
  SHA512:
6
- metadata.gz: a045531b6c73e1aef3ef1f78582936562b635b790de99d86aea543fc1f35a68b041b59a33900ab157d03eb7c3cde2037850179fae6ffcbef8920185ca214e0e8
7
- data.tar.gz: acebcc69e10d1bbfe1a5d1c3b48073778bcf53dc0c7e2a9123df653968c0813e737233d5ff61d6a03f6e8853210d8ec0edf1fe051555a7d2bffdb000b6cb50d4
6
+ metadata.gz: cf2e62fb190c83bb688ce7217bd95a1cf44c421d0aff1bf049dd8dce526d75ce530a60b9c91f90aec178cf8ed462854922259afe73e8b128407fa1f3734abbfa
7
+ data.tar.gz: b59461b34ca64d04cc621256e8a2b07c84e1c42717ea2b38c13fbdd8ad164dc51353084b19b6ba8e931bb1fb5b213a5271d70e688c1e1793b16d86cc910864fa
data/.gitignore CHANGED
@@ -1,24 +1,31 @@
1
1
  /spec/examples.txt
2
2
  *.gem
3
- *.rbc
4
- .bundle
5
3
  .config
6
- .yardoc
7
4
  Gemfile.lock
8
- InstalledFiles
9
- _yardoc
10
- coverage
11
- doc/
12
5
  lib/bundler/man
13
6
  pkg
14
7
  rdoc
15
- spec/reports
16
- test/tmp
17
- test/version_tmp
18
- tmp
19
8
  *.bundle
20
9
  *.so
21
10
  *.o
22
11
  *.a
23
12
  mkmf.log
13
+
14
+
15
+ # Ignore bundler config.
16
+ /.bundle
17
+ /vendor/bundle/
18
+ /vendor/ruby/
19
+
20
+ # Ignore all log files and tempfiles.
21
+ /log/*
22
+ !/log/.keep
23
+ /tmp
24
+
25
+ # various artifacts
26
+ .project
27
+ .secret
24
28
  .idea/
29
+ /spec/tmp/*
30
+ /spec/examples.txt
31
+
data/finapps.gemspec CHANGED
@@ -30,6 +30,7 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency 'fuubar', '~> 2.0', '>= 2.0.0'
31
31
  spec.add_development_dependency 'rspec', '~> 3.4', '>= 3.4.0'
32
32
  spec.add_development_dependency 'webmock', '~> 1.24', '>= 1.24.2'
33
+ spec.add_development_dependency 'sinatra', '~> 1.4', '>= 1.4.7'
33
34
 
34
35
  spec.extra_rdoc_files = %w(README.md LICENSE.txt)
35
36
  spec.rdoc_options = %w(--line-numbers --inline-source --title finapps-ruby --main README.md)
@@ -8,7 +8,6 @@ module FinApps
8
8
 
9
9
  # @return [Hash, Array<String>]
10
10
  def list(page = 1, requested=100, sort='date', asc=false, read='all')
11
- logger.debug "##{__method__.to_s} => Started"
12
11
 
13
12
  end_point = Defaults::END_POINTS[:alert_list]
14
13
  logger.debug "##{__method__.to_s} => end_point: #{end_point}"
@@ -22,16 +21,14 @@ module FinApps
22
21
 
23
22
  result, error_messages = @client.send_request(path, :get)
24
23
 
25
- logger.debug "##{__method__.to_s} => Completed"
26
24
  return result, error_messages
27
25
  end
28
26
 
29
27
  # @return [Hash, Array<String>]
30
28
  def update(alert_id, read=true)
31
- logger.debug "##{__method__.to_s} => Started"
32
-
33
29
  raise MissingArgumentsError.new 'Missing argument: alert_id.' if alert_id.blank?
34
30
  logger.debug "##{__method__.to_s} => alert_id: #{alert_id.inspect}"
31
+
35
32
  raise MissingArgumentsError.new 'Missing argument: read.' if read.blank?
36
33
  logger.debug "##{__method__.to_s} => read: #{read.inspect}"
37
34
 
@@ -44,14 +41,11 @@ module FinApps
44
41
 
45
42
  _, error_messages = @client.send_request(path, :put)
46
43
 
47
- logger.debug "##{__method__.to_s} => Completed"
48
44
  error_messages
49
45
  end
50
46
 
51
47
  # @return [Hash, Array<String>]
52
48
  def delete(alert_id)
53
- logger.debug "##{__method__.to_s} => Started"
54
-
55
49
  raise MissingArgumentsError.new 'Missing argument: alert_id.' if alert_id.blank?
56
50
  logger.debug "##{__method__.to_s} => alert_id: #{alert_id.inspect}"
57
51
 
@@ -63,7 +57,6 @@ module FinApps
63
57
 
64
58
  _, error_messages = @client.send_request(path, :delete)
65
59
 
66
- logger.debug "##{__method__.to_s} => Completed"
67
60
  error_messages
68
61
  end
69
62
 
@@ -8,24 +8,24 @@ module FinApps
8
8
 
9
9
  # @return [Hash, Array<String>]
10
10
  def list
11
- logger.debug "##{__method__.to_s} => Started"
12
-
13
11
  end_point = Defaults::END_POINTS[:alert_definition_list]
14
12
  logger.debug "##{__method__.to_s} => end_point: #{end_point}"
15
13
 
16
14
  path = end_point
17
15
  logger.debug "##{__method__.to_s} => path: #{path}"
18
16
 
17
+ <<<<<<< HEAD
18
+ result, error_messages = @client.send(path, :get)
19
+ =======
19
20
  result, error_messages = @client.send_request(path, :get)
20
21
 
21
22
  logger.debug "##{__method__.to_s} => Completed"
23
+ >>>>>>> develop
22
24
  return result, error_messages
23
25
  end
24
26
 
25
27
  # @return [Hash, Array<String>]
26
28
  def show(alert_name)
27
- logger.debug "##{__method__.to_s} => Started"
28
-
29
29
  raise MissingArgumentsError.new 'Missing argument: alert_name.' if alert_name.blank?
30
30
  logger.debug "##{__method__.to_s} => alert_name: #{alert_name}"
31
31
 
@@ -35,9 +35,13 @@ module FinApps
35
35
  path = end_point.sub ':alert_name', ERB::Util.url_encode(alert_name)
36
36
  logger.debug "##{__method__.to_s} => path: #{path}"
37
37
 
38
+ <<<<<<< HEAD
39
+ result, error_messages = @client.send(path, :get)
40
+ =======
38
41
  result, error_messages = @client.send_request(path, :get)
39
42
 
40
43
  logger.debug "##{__method__.to_s} => Completed"
44
+ >>>>>>> develop
41
45
  return result, error_messages
42
46
  end
43
47
 
@@ -8,24 +8,24 @@ module FinApps
8
8
 
9
9
  # @return [Hash, Array<String>]
10
10
  def show
11
- logger.debug "##{__method__.to_s} => Started"
12
-
13
11
  end_point = Defaults::END_POINTS[:alert_preferences_show]
14
12
  logger.debug "##{__method__.to_s} => end_point: #{end_point}"
15
13
 
16
14
  path = end_point
17
15
  logger.debug "##{__method__.to_s} => path: #{path}"
18
16
 
17
+ <<<<<<< HEAD
18
+ result, error_messages = @client.send(path, :get)
19
+ =======
19
20
  result, error_messages = @client.send_request(path, :get)
20
21
 
21
22
  logger.debug "##{__method__.to_s} => Completed"
23
+ >>>>>>> develop
22
24
  return result, error_messages
23
25
  end
24
26
 
25
27
  # @return [Hash, Array<String>]
26
28
  def update(params)
27
- logger.debug "##{__method__.to_s} => Started"
28
-
29
29
  raise MissingArgumentsError.new 'Missing argument: params.' if params.blank?
30
30
  logger.debug "##{__method__.to_s} => params: #{params.inspect}"
31
31
 
@@ -35,9 +35,13 @@ module FinApps
35
35
  path = end_point
36
36
  logger.debug "##{__method__.to_s} => path: #{path}"
37
37
 
38
+ <<<<<<< HEAD
39
+ _, error_messages = @client.send(path, :put, params.compact)
40
+ =======
38
41
  _, error_messages = @client.send_request(path, :put, params.compact)
39
42
 
40
43
  logger.debug "##{__method__.to_s} => Completed"
44
+ >>>>>>> develop
41
45
  error_messages
42
46
  end
43
47
 
@@ -8,24 +8,24 @@ module FinApps
8
8
 
9
9
  # @return [Hash, Array<String>]
10
10
  def show
11
- logger.debug "##{__method__.to_s} => Started"
12
-
13
11
  end_point = Defaults::END_POINTS[:alert_settings_show]
14
12
  logger.debug "##{__method__.to_s} => end_point: #{end_point}"
15
13
 
16
14
  path = end_point
17
15
  logger.debug "##{__method__.to_s} => path: #{path}"
18
16
 
17
+ <<<<<<< HEAD
18
+ result, error_messages = @client.send(path, :get)
19
+ =======
19
20
  result, error_messages = @client.send_request(path, :get)
20
21
 
21
22
  logger.debug "##{__method__.to_s} => Completed"
23
+ >>>>>>> develop
22
24
  return result, error_messages
23
25
  end
24
26
 
25
27
  # @return [Hash, Array<String>]
26
28
  def update(params)
27
- logger.debug "##{__method__.to_s} => Started"
28
-
29
29
  raise MissingArgumentsError.new 'Missing argument: params.' if params.blank?
30
30
  logger.debug "##{__method__.to_s} => params: #{params.inspect}"
31
31
 
@@ -35,9 +35,13 @@ module FinApps
35
35
  path = end_point
36
36
  logger.debug "##{__method__.to_s} => path: #{path}"
37
37
 
38
+ <<<<<<< HEAD
39
+ _, error_messages = @client.send(path, :put, params.compact)
40
+ =======
38
41
  _, error_messages = @client.send_request(path, :put, params.compact)
39
42
 
40
43
  logger.debug "##{__method__.to_s} => Completed"
44
+ >>>>>>> develop
41
45
  error_messages
42
46
  end
43
47
 
@@ -10,10 +10,9 @@ module FinApps
10
10
  # @param [Number] income
11
11
  # @return [Array<Hash>, Array<String>]
12
12
  def create(budget_model_id, income)
13
- logger.debug "##{__method__.to_s} => Started"
14
-
15
13
  raise MissingArgumentsError.new 'Missing argument: budget_model_id.' if budget_model_id.blank?
16
14
  logger.debug "##{__method__.to_s} => budget_model: #{budget_model_id}"
15
+
17
16
  raise MissingArgumentsError.new 'Missing argument: income.' if income.blank?
18
17
  logger.debug "##{__method__.to_s} => income: #{income}"
19
18
 
@@ -23,25 +22,31 @@ module FinApps
23
22
  path = end_point.sub(':budget_model_id', ERB::Util.url_encode(budget_model_id)).sub(':income', ERB::Util.url_encode(income))
24
23
  logger.debug "##{__method__.to_s} => path: #{path}"
25
24
 
25
+ <<<<<<< HEAD
26
+ budget_calculation, error_messages = @client.send(path, :get)
27
+ =======
26
28
  budget_calculation, error_messages = @client.send_request(path, :get)
27
29
  logger.debug "##{__method__.to_s} => Completed"
28
30
 
31
+ >>>>>>> develop
29
32
  return budget_calculation, error_messages
30
33
  end
31
34
 
32
35
  # @return [Array<Hash>, Array<String>]
33
36
  def show
34
- logger.debug "##{__method__.to_s} => Started"
35
-
36
37
  end_point = Defaults::END_POINTS[:budget_calculation_show]
37
38
  logger.debug "##{__method__.to_s} => end_point: #{end_point}"
38
39
 
39
40
  path = end_point
40
41
  logger.debug "##{__method__.to_s} => path: #{path}"
41
42
 
43
+ <<<<<<< HEAD
44
+ budget_calculation, error_messages = @client.send(path, :get)
45
+ =======
42
46
  budget_calculation, error_messages = @client.send_request(path, :get)
43
47
  logger.debug "##{__method__.to_s} => Completed"
44
48
 
49
+ >>>>>>> develop
45
50
  return budget_calculation, error_messages
46
51
  end
47
52
 
@@ -8,21 +8,21 @@ module FinApps
8
8
 
9
9
  # @return [Array<Hash>, Array<String>]
10
10
  def list
11
- logger.debug "##{__method__.to_s} => Started"
12
-
13
11
  path = Defaults::END_POINTS[:budget_models_list]
14
12
  logger.debug "##{__method__.to_s} => path: #{path}"
15
13
 
14
+ <<<<<<< HEAD
15
+ budget_models, error_messages = @client.send(path, :get)
16
+ =======
16
17
  budget_models, error_messages = @client.send_request(path, :get)
17
18
 
18
19
  logger.debug "##{__method__.to_s} => Completed"
20
+ >>>>>>> develop
19
21
  return budget_models, error_messages
20
22
  end
21
23
 
22
24
  # @param [Integer] budget_model_id
23
25
  def show(budget_model_id)
24
- logger.debug "##{__method__.to_s} => Started"
25
-
26
26
  raise MissingArgumentsError.new 'Missing argument: budget_model_id.' if budget_model_id.blank?
27
27
  logger.debug "##{__method__.to_s} => budget_model_id: #{budget_model_id}"
28
28
 
@@ -32,9 +32,13 @@ module FinApps
32
32
  path = end_point.sub ':budget_model_id', ERB::Util.url_encode(budget_model_id)
33
33
  logger.debug "##{__method__.to_s} => path: #{path}"
34
34
 
35
+ <<<<<<< HEAD
36
+ budget_model, error_messages = @client.send(path, :get) { |r| BudgetModel.new(r.body) }
37
+ =======
35
38
  budget_model, error_messages = @client.send_request(path, :get) { |r| BudgetModel.new(r.body) }
36
39
 
37
40
  logger.debug "##{__method__.to_s} => Completed"
41
+ >>>>>>> develop
38
42
  return budget_model, error_messages
39
43
  end
40
44
 
@@ -10,10 +10,9 @@ module FinApps
10
10
  # @param [Date] end_date
11
11
  # @return [Hash, Array<String>]
12
12
  def show(start_date, end_date)
13
- logger.debug "##{__method__.to_s} => Started"
14
-
15
13
  raise MissingArgumentsError.new 'Missing argument: start_date.' if start_date.blank?
16
14
  logger.debug "##{__method__.to_s} => start_date: #{start_date}"
15
+
17
16
  raise MissingArgumentsError.new 'Missing argument: end_date.' if end_date.blank?
18
17
  logger.debug "##{__method__.to_s} => end_date: #{end_date}"
19
18
 
@@ -34,23 +33,24 @@ module FinApps
34
33
  categories.each { |category| budget.details << result_category_to_budget_detail(category, transactions) }
35
34
  end
36
35
 
37
- logger.debug "##{__method__.to_s} => Completed"
38
36
  return budget, error_messages
39
37
  end
40
38
 
41
39
  # @param [Hash] params
42
40
  # @return [Array<Hash>, Array<String>]
43
41
  def update(params={})
44
- logger.debug "##{__method__.to_s} => Started"
45
-
46
42
  raise MissingArgumentsError.new 'Missing argument: params.' if params.blank?
47
43
 
48
44
  end_point = Defaults::END_POINTS[:budget_update]
49
45
  logger.debug "##{__method__.to_s} => end_point: #{end_point}"
50
46
 
47
+ <<<<<<< HEAD
48
+ budget, error_messages = @client.send(end_point, :put, params)
49
+ =======
51
50
  budget, error_messages = @client.send_request(end_point, :put, params)
52
51
  logger.debug "##{__method__.to_s} => Completed"
53
52
 
53
+ >>>>>>> develop
54
54
  return budget, error_messages
55
55
  end
56
56
 
@@ -10,10 +10,9 @@ module FinApps
10
10
  # @param [Date] end_date
11
11
  # @return [Hash, Array<String>]
12
12
  def show(start_date, end_date)
13
- logger.debug "##{__method__.to_s} => Started"
14
-
15
13
  raise MissingArgumentsError.new 'Missing argument: start_date.' if start_date.blank?
16
14
  logger.debug "##{__method__.to_s} => start_date: #{start_date}"
15
+
17
16
  raise MissingArgumentsError.new 'Missing argument: end_date.' if end_date.blank?
18
17
  logger.debug "##{__method__.to_s} => end_date: #{end_date}"
19
18
 
@@ -52,7 +51,6 @@ module FinApps
52
51
  categories.each { |category| cashflow.details << result_category_to_cashflow_detail(category) }
53
52
  end
54
53
 
55
- logger.debug "##{__method__.to_s} => Completed"
56
54
  return cashflow, error_messages
57
55
  end
58
56
 
@@ -5,17 +5,19 @@ module FinApps
5
5
 
6
6
  # @return [Array<Hash>, Array<String>]
7
7
  def list
8
- logger.debug "##{__method__.to_s} => Started"
9
-
10
8
  end_point = Defaults::END_POINTS[:categories_list]
11
9
  logger.debug "##{__method__.to_s} => end_point: #{end_point}"
12
10
 
13
11
  path = end_point
14
12
  logger.debug "##{__method__.to_s} => path: #{path}"
15
13
 
14
+ <<<<<<< HEAD
15
+ categories, error_messages = @client.send(path, :get)
16
+ =======
16
17
  categories, error_messages = @client.send_request(path, :get)
17
18
 
18
19
  logger.debug "##{__method__.to_s} => Completed"
20
+ >>>>>>> develop
19
21
  return categories, error_messages
20
22
  end
21
23
 
@@ -10,8 +10,6 @@ module FinApps
10
10
  # @param [Hash] options
11
11
  # @return [FinApps::REST::Client]
12
12
  def initialize(company_identifier, company_token, options = {})
13
- logger.debug "##{__method__.to_s} => Started"
14
-
15
13
  @config = DEFAULTS.merge! options
16
14
  logger_config @config
17
15
 
@@ -21,6 +19,10 @@ module FinApps
21
19
  logger.debug "##{__method__.to_s} => Completed"
22
20
  end
23
21
 
22
+ <<<<<<< HEAD
23
+ set_up_resources
24
+ logger.debug "##{__method__.to_s} => All resources initialized"
25
+ =======
24
26
  def connection
25
27
  @connection ||= set_up_connection(@company_credentials, @config)
26
28
  end
@@ -79,6 +81,7 @@ module FinApps
79
81
 
80
82
  def rule_sets
81
83
  @rule_sets ||= FinApps::REST::Relevance::Rulesets.new self
84
+ >>>>>>> develop
82
85
  end
83
86
 
84
87
  # Performs HTTP GET, POST, UPDATE and DELETE requests.
@@ -89,8 +92,14 @@ module FinApps
89
92
  # @param [String] method
90
93
  # @param [Proc] proc
91
94
  # @return [Hash,Array<String>]
95
+ <<<<<<< HEAD
96
+ def send(path, method, params = {}, &proc)
97
+ raise MissingArgumentsError.new 'Missing argument: method.' if method.blank?
98
+ result, error_messages = nil, nil
99
+ =======
92
100
  def send_request(path, method, params = {}, &proc)
93
101
  logger.debug "##{__method__.to_s} => Started"
102
+ >>>>>>> develop
94
103
 
95
104
  raise FinApps::REST::MissingArgumentsError.new 'Missing argument: path.' if path.blank?
96
105
  raise FinApps::REST::MissingArgumentsError.new 'Missing argument: method.' if method.blank?
@@ -131,24 +140,18 @@ module FinApps
131
140
  ensure
132
141
  logger.debug "##{__method__.to_s} => Failed, error_messages: #{error_messages.pretty_inspect}" if error_messages.present?
133
142
  end
134
-
135
- logger.debug "##{__method__.to_s} => Completed"
136
143
  return result, error_messages
137
144
  end
138
145
 
139
146
  # @param [String] user_identifier
140
147
  # @param [String] user_token
141
148
  def user_credentials!(user_identifier, user_token)
142
- logger.debug "##{__method__.to_s} => Started"
143
-
144
149
  {:user_identifier => user_identifier, :user_token => user_token}.validate_required_strings!
145
150
  logger.debug "##{__method__.to_s} => Credentials passed validation. Attempting to set user credentials on current connection."
146
151
 
147
152
  @config[:user_identifier] = user_identifier
148
153
  @config[:user_token] = user_token
149
154
  @connection = set_up_connection(@company_credentials, @config)
150
-
151
- logger.debug "##{__method__.to_s} => Completed"
152
155
  end
153
156
 
154
157
  private
@@ -160,16 +163,19 @@ module FinApps
160
163
  # @param [String] path
161
164
  # @return [Hash,Array<String>]
162
165
  def get(path)
163
- logger.debug "##{__method__.to_s} => Started"
164
166
  raise MissingArgumentsError.new 'Missing argument: path.' if path.blank?
165
167
 
166
168
  logger.debug "##{__method__.to_s} => GET path:#{path}"
169
+ <<<<<<< HEAD
170
+ @connection.get { |req| req.url path }
171
+ =======
167
172
  response = connection.get do |req|
168
173
  req.url path
169
174
  end
170
175
 
171
176
  logger.debug "##{__method__.to_s} => Completed"
172
177
  response
178
+ >>>>>>> develop
173
179
  end
174
180
 
175
181
  # Performs an HTTP POST request.
@@ -180,17 +186,17 @@ module FinApps
180
186
  # @param [Hash] params
181
187
  # @return [Hash,Array<String>]
182
188
  def post(path, params = {})
183
- logger.debug "##{__method__.to_s} => Started"
184
189
  raise MissingArgumentsError.new 'Missing argument: path.' if path.blank?
185
190
 
186
191
  logger.debug "##{__method__.to_s} => POST path:#{path} params:#{skip_sensitive_data params }"
192
+ <<<<<<< HEAD
193
+ @connection.post do |req|
194
+ =======
187
195
  response = connection.post do |req|
196
+ >>>>>>> develop
188
197
  req.url path
189
198
  req.body = params
190
199
  end
191
-
192
- logger.debug "##{__method__.to_s} => Completed"
193
- response
194
200
  end
195
201
 
196
202
  # Performs an HTTP PUT request.
@@ -201,17 +207,17 @@ module FinApps
201
207
  # @param [Hash] params
202
208
  # @return [Hash,Array<String>]
203
209
  def put(path, params = {})
204
- logger.debug "##{__method__.to_s} => Started"
205
210
  raise MissingArgumentsError.new 'Missing argument: path.' if path.blank?
206
211
 
207
212
  logger.debug "##{__method__.to_s} => PUT path:#{path} params:#{skip_sensitive_data(params)}"
213
+ <<<<<<< HEAD
214
+ @connection.put do |req|
215
+ =======
208
216
  response = connection.put do |req|
217
+ >>>>>>> develop
209
218
  req.url path
210
219
  req.body = params
211
220
  end
212
-
213
- logger.debug "##{__method__.to_s} => Completed"
214
- response
215
221
  end
216
222
 
217
223
  # Performs an HTTP DELETE request.
@@ -222,19 +228,41 @@ module FinApps
222
228
  # @param [Hash] params
223
229
  # @return [Hash,Array<String>]
224
230
  def delete(path, params = {})
225
- logger.debug "##{__method__.to_s} => Started"
226
231
  raise MissingArgumentsError.new 'Missing argument: path.' if path.blank?
227
232
 
228
233
  logger.debug "##{__method__.to_s} => DELETE path:#{path} params:#{skip_sensitive_data(params)}"
234
+ <<<<<<< HEAD
235
+ @connection.delete do |req|
236
+ =======
229
237
  response = connection.delete do |req|
238
+ >>>>>>> develop
230
239
  req.url path
231
240
  req.body = params
232
241
  end
242
+ end
233
243
 
234
- logger.debug "##{__method__.to_s} => Completed"
235
- response
244
+ <<<<<<< HEAD
245
+ # Initialize resources.
246
+ #
247
+ def set_up_resources
248
+ @users ||= FinApps::REST::Users.new self
249
+ @institutions ||= FinApps::REST::Institutions.new self
250
+ @user_institutions ||= FinApps::REST::UserInstitutions.new self
251
+ @transactions ||= FinApps::REST::Transactions.new self
252
+ @categories ||= FinApps::REST::Categories.new self
253
+ @budget_models ||= FinApps::REST::BudgetModels.new self
254
+ @budget_calculation ||= FinApps::REST::BudgetCalculation.new self
255
+ @budgets ||= FinApps::REST::Budgets.new self
256
+ @cashflows ||= FinApps::REST::Cashflows.new self
257
+ @alert ||= FinApps::REST::Alert.new self
258
+ @alert_definition ||= FinApps::REST::AlertDefinition.new self
259
+ @alert_settings ||= FinApps::REST::AlertSettings.new self
260
+ @alert_preferences ||= FinApps::REST::AlertPreferences.new self
261
+ @rule_sets ||= FinApps::REST::Relevance::Rulesets.new self
236
262
  end
237
263
 
264
+ =======
265
+ >>>>>>> develop
238
266
  end
239
267
  end
240
268
  end
@@ -47,4 +47,4 @@ module FinApps
47
47
 
48
48
  end
49
49
  end
50
- end
50
+ end
@@ -11,7 +11,7 @@ module FinApps
11
11
 
12
12
  # noinspection SpellCheckingInspection
13
13
  DEFAULTS = {
14
- :host => 'https://www.financialapps.com',
14
+ :host => 'https://api.financialapps.com',
15
15
  :timeout => 30,
16
16
  :proxy_addr => nil,
17
17
  :proxy_port => nil,
@@ -27,6 +27,7 @@ module FinApps
27
27
  :users_update => 'user',
28
28
  :users_update_password => 'user/password',
29
29
  :users_delete => 'users/:public_id',
30
+ :users_show => 'users/:public_id',
30
31
  :users_login => 'users/login',
31
32
 
32
33
  :relevance_rulesets_list => 'relevance/ruleset/names',
@@ -9,8 +9,6 @@ module FinApps
9
9
  # @param [String] term
10
10
  # @return [Array<FinApps::REST::Institution>, Array<String>]
11
11
  def search(term)
12
- logger.debug "##{__method__.to_s} => Started"
13
-
14
12
  raise MissingArgumentsError.new 'Missing argument: term.' if term.blank?
15
13
  logger.debug "##{__method__.to_s} => term: #{term}"
16
14
 
@@ -20,16 +18,18 @@ module FinApps
20
18
  path = end_point.sub ':search_term', ERB::Util.url_encode(term)
21
19
  logger.debug "##{__method__.to_s} => path: #{path}"
22
20
 
21
+ <<<<<<< HEAD
22
+ institutions, error_messages = @client.send(path, :get)
23
+ =======
23
24
  institutions, error_messages = @client.send_request(path, :get)
24
25
 
25
26
  logger.debug "##{__method__.to_s} => Completed"
27
+ >>>>>>> develop
26
28
  return institutions, error_messages
27
29
  end
28
30
 
29
31
  # @param [Integer] site_id
30
32
  def form(site_id)
31
- logger.debug "##{__method__.to_s} => Started"
32
-
33
33
  raise MissingArgumentsError.new 'Missing argument: site_id.' if site_id.blank?
34
34
  logger.debug "##{__method__.to_s} => site_id: #{site_id}"
35
35
 
@@ -39,9 +39,13 @@ module FinApps
39
39
  path = end_point.sub ':site_id', ERB::Util.url_encode(site_id)
40
40
  logger.debug "##{__method__.to_s} => path: #{path}"
41
41
 
42
+ <<<<<<< HEAD
43
+ institution, error_messages = @client.send(path, :get) { |r| Institution.new(r.body) }
44
+ =======
42
45
  institution, error_messages = @client.send_request(path, :get) { |r| Institution.new(r.body) }
43
46
 
44
47
  logger.debug "##{__method__.to_s} => Completed"
48
+ >>>>>>> develop
45
49
  return institution, error_messages
46
50
  end
47
51
 
@@ -7,7 +7,7 @@ module FinApps
7
7
  class Rulesets < FinApps::REST::Resources
8
8
 
9
9
  def list
10
- logger.debug "##{__method__.to_s} => Started"
10
+
11
11
 
12
12
  end_point = Defaults::END_POINTS[:relevance_rulesets_list]
13
13
  logger.debug "##{__method__.to_s} => end_point: #{end_point}"
@@ -17,12 +17,12 @@ module FinApps
17
17
 
18
18
  results, error_messages = @client.send_request(path, :get)
19
19
 
20
- logger.debug "##{__method__.to_s} => Completed"
20
+
21
21
  return results, error_messages
22
22
  end
23
23
 
24
24
  def show(ruleset_name)
25
- logger.debug "##{__method__.to_s} => Started"
25
+
26
26
 
27
27
  raise MissingArgumentsError.new 'Missing argument: ruleset_name.' if ruleset_name.blank?
28
28
  logger.debug "##{__method__.to_s} => ruleset_name: #{ruleset_name}"
@@ -35,12 +35,12 @@ module FinApps
35
35
 
36
36
  results, error_messages = @client.send_request(path, :get)
37
37
 
38
- logger.debug "##{__method__.to_s} => Completed"
38
+
39
39
  return results, error_messages
40
40
  end
41
41
 
42
42
  def run(params = {})
43
- logger.debug "##{__method__.to_s} => Started"
43
+
44
44
 
45
45
  raise MissingArgumentsError.new 'Missing argument: params.' if params.blank?
46
46
  logger.debug "##{__method__.to_s} => params: #{params.inspect}"
@@ -53,7 +53,7 @@ module FinApps
53
53
 
54
54
  results, error_messages = @client.send_request(path, :post, params)
55
55
 
56
- logger.debug "##{__method__.to_s} => Completed"
56
+
57
57
  return results, error_messages
58
58
  end
59
59
 
@@ -7,45 +7,51 @@ module FinApps
7
7
  # @transaction_id [String]
8
8
  # # @return [Hash, Array<String>]
9
9
  def show(transaction_id)
10
- logger.debug "##{__method__.to_s} => Started"
11
-
12
10
  end_point = Defaults::END_POINTS[:transactions_show]
13
11
  logger.debug "##{__method__.to_s} => end_point: #{end_point}"
14
12
 
15
13
  path = end_point.sub ':transaction_id', ERB::Util.url_encode(transaction_id)
16
14
  logger.debug "##{__method__.to_s} => path: #{path}"
17
15
 
16
+ <<<<<<< HEAD
17
+ transaction, error_messages = @client.send(path, :get)
18
+ =======
18
19
  transaction, error_messages = @client.send_request(path, :get)
19
20
 
20
21
  logger.debug "##{__method__.to_s} => Completed"
22
+ >>>>>>> develop
21
23
  return transaction, error_messages
22
24
  end
23
25
 
24
26
  # @param [Hash] params
25
27
  # @return [Array<Hash>, Array<String>]
26
28
  def search(params={})
27
- logger.debug "##{__method__.to_s} => Started"
28
-
29
29
  path = Defaults::END_POINTS[:transactions_list]
30
30
  logger.debug "##{__method__.to_s} => path: #{path}"
31
31
 
32
+ <<<<<<< HEAD
33
+ transactions, error_messages = @client.send(path, :post, params.compact)
34
+ =======
32
35
  transactions, error_messages = @client.send_request(path, :post, params.compact)
33
36
 
34
37
  logger.debug "##{__method__.to_s} => Completed"
38
+ >>>>>>> develop
35
39
  return transactions, error_messages
36
40
  end
37
41
 
38
42
  # @param [Hash] params
39
43
  # @return [Array<Hash>, Array<String>]
40
44
  def update(params={})
41
- logger.debug "##{__method__.to_s} => Started"
42
-
43
45
  path = Defaults::END_POINTS[:transactions_update]
44
46
  logger.debug "##{__method__.to_s} => path: #{path}"
45
47
 
48
+ <<<<<<< HEAD
49
+ _, error_messages = @client.send(path, :put, params.compact)
50
+ =======
46
51
  _, error_messages = @client.send_request(path, :put, params.compact)
47
52
 
48
53
  logger.debug "##{__method__.to_s} => Completed"
54
+ >>>>>>> develop
49
55
  error_messages
50
56
  end
51
57
 
@@ -7,19 +7,15 @@ module FinApps
7
7
  include FinApps::REST::Defaults
8
8
 
9
9
  def list
10
- logger.debug "##{__method__.to_s} => Started"
11
-
12
10
  path = Defaults::END_POINTS[:user_institutions_list]
13
11
  logger.debug "##{__method__.to_s} => path: #{path}"
14
12
 
15
13
  user_institutions, error_messages = @client.send_request(path, :get)
16
14
 
17
- logger.debug "##{__method__.to_s} => Completed"
18
15
  return user_institutions, error_messages
19
16
  end
20
17
 
21
18
  def add(site_id, parameters)
22
- logger.debug "##{__method__.to_s} => Started"
23
19
 
24
20
  raise MissingArgumentsError.new 'Missing argument: site_id.' if site_id.blank?
25
21
  logger.debug "##{__method__.to_s} => site_id: #{site_id}"
@@ -35,12 +31,10 @@ module FinApps
35
31
 
36
32
  user_institution, error_messages = @client.send_request(path, :post, :parameters => parameters)
37
33
 
38
- logger.debug "##{__method__.to_s} => Completed"
39
34
  return user_institution, error_messages
40
35
  end
41
36
 
42
37
  def show(user_institution_id)
43
- logger.debug "##{__method__.to_s} => Started"
44
38
 
45
39
  raise MissingArgumentsError.new 'Missing argument: user_institution_id.' if user_institution_id.blank?
46
40
  logger.debug "##{__method__.to_s} => user_institution_id: #{user_institution_id}"
@@ -53,13 +47,10 @@ module FinApps
53
47
 
54
48
  user_institution, error_messages = @client.send_request(path, :get)
55
49
 
56
- logger.debug "##{__method__.to_s} => Completed"
57
50
  return user_institution, error_messages
58
51
  end
59
52
 
60
53
  def form(user_institution_id)
61
- logger.debug "##{__method__.to_s} => Started"
62
-
63
54
  raise MissingArgumentsError.new 'Missing argument: user_institution_id.' if user_institution_id.blank?
64
55
  logger.debug "##{__method__.to_s} => user_institution_id: #{user_institution_id}"
65
56
 
@@ -71,13 +62,10 @@ module FinApps
71
62
 
72
63
  user_institution, error_messages = @client.send_request(path, :get)
73
64
 
74
- logger.debug "##{__method__.to_s} => Completed"
75
65
  return user_institution, error_messages
76
66
  end
77
67
 
78
68
  def status(user_institution_id)
79
- logger.debug "##{__method__.to_s} => Started"
80
-
81
69
  raise MissingArgumentsError.new 'Missing argument: user_institution_id.' if user_institution_id.blank?
82
70
  logger.debug "##{__method__.to_s} => user_institution_id: #{user_institution_id}"
83
71
 
@@ -89,13 +77,10 @@ module FinApps
89
77
 
90
78
  user_institution, error_messages = @client.send_request(path, :get)
91
79
 
92
- logger.debug "##{__method__.to_s} => Completed"
93
80
  return user_institution, error_messages
94
81
  end
95
82
 
96
83
  def mfa(user_institution_id, parameters)
97
- logger.debug "##{__method__.to_s} => Started"
98
-
99
84
  raise MissingArgumentsError.new 'Missing argument: user_institution_id.' if user_institution_id.blank?
100
85
  logger.debug "##{__method__.to_s} => user_institution_id: #{user_institution_id}"
101
86
 
@@ -110,13 +95,10 @@ module FinApps
110
95
 
111
96
  user_institution, error_messages = @client.send_request(path, :put, :parameters => parameters)
112
97
 
113
- logger.debug "##{__method__.to_s} => Completed"
114
98
  return user_institution, error_messages
115
99
  end
116
100
 
117
101
  def update(user_institution_id, parameters)
118
- logger.debug "##{__method__.to_s} => Started"
119
-
120
102
  raise MissingArgumentsError.new 'Missing argument: user_institution_id.' if user_institution_id.blank?
121
103
  logger.debug "##{__method__.to_s} => user_institution_id: #{user_institution_id}"
122
104
 
@@ -131,26 +113,20 @@ module FinApps
131
113
 
132
114
  user_institution, error_messages = @client.send_request(path, :put, :parameters => parameters)
133
115
 
134
- logger.debug "##{__method__.to_s} => Completed"
135
116
  return user_institution, error_messages
136
117
  end
137
118
 
138
119
  def refresh
139
- logger.debug "##{__method__.to_s} => Started"
140
-
141
120
  path = Defaults::END_POINTS[:user_institutions_refresh]
142
121
  logger.debug "##{__method__.to_s} => path: #{path}"
143
122
 
144
123
  user_institutions, error_messages = @client.send_request(path, :get)
145
124
 
146
- logger.debug "##{__method__.to_s} => Completed"
147
125
  return user_institutions, error_messages
148
126
  end
149
127
 
150
128
  # @return [Hash, Array<String>]
151
129
  def delete(user_institution_id)
152
- logger.debug "##{__method__.to_s} => Started"
153
-
154
130
  raise MissingArgumentsError.new 'Missing argument: user_institution_id.' if user_institution_id.blank?
155
131
  logger.debug "##{__method__.to_s} => user_institution_id: #{user_institution_id.inspect}"
156
132
 
@@ -162,7 +138,6 @@ module FinApps
162
138
 
163
139
  _, error_messages = @client.send_request(path, :delete)
164
140
 
165
- logger.debug "##{__method__.to_s} => Completed"
166
141
  error_messages
167
142
  end
168
143
 
@@ -7,6 +7,23 @@ module FinApps
7
7
  include FinApps::Logging
8
8
  include FinApps::REST::Defaults
9
9
 
10
+ # @param [String] public_id
11
+ # @return [FinApps::REST::User, Array<String>]
12
+ def show(public_id)
13
+ raise MissingArgumentsError.new 'Missing argument: public_id.' if public_id.blank?
14
+ logger.debug "##{__method__.to_s} => public_id: #{public_id}"
15
+
16
+ end_point = Defaults::END_POINTS[:users_show]
17
+ logger.debug "##{__method__.to_s} => end_point: #{end_point}"
18
+
19
+ path = end_point.sub ':public_id', ERB::Util.url_encode(public_id)
20
+ logger.debug "##{__method__.to_s} => path: #{path}"
21
+
22
+ user, error_messages = @client.send_request(path, :get) { |r| User.new(r.body) }
23
+
24
+ return user, error_messages
25
+ end
26
+
10
27
  # @param [Hash] params
11
28
  # @return [FinApps::REST::User, Array<String>]
12
29
  def create(params = {})
@@ -24,6 +41,8 @@ module FinApps
24
41
  return user, error_messages
25
42
  end
26
43
 
44
+ # @param [Hash] params
45
+ # @return [Array<String>]
27
46
  def update(params = {})
28
47
  logger.debug "##{__method__.to_s} => Started"
29
48
 
@@ -38,6 +57,8 @@ module FinApps
38
57
  error_messages
39
58
  end
40
59
 
60
+ # @param [Hash] params
61
+ # @return [FinApps::REST::User, Array<String>]
41
62
  def update_password(params = {})
42
63
  logger.debug "##{__method__.to_s} => Started"
43
64
 
@@ -96,4 +117,4 @@ module FinApps
96
117
  end
97
118
 
98
119
  end
99
- end
120
+ end
@@ -35,9 +35,17 @@ module FinApps
35
35
 
36
36
  end
37
37
 
38
+ <<<<<<< HEAD
39
+ def set_up_logger_level(logger_level)
40
+ unless logger_level.blank? || logger.level == logger_level
41
+ logger.info "##{__method__.to_s} => Setting logger level to #{SEVERITY_LABEL[logger_level]}"
42
+ logger.level = logger_level
43
+ end
44
+ =======
38
45
  def logger_config(config)
39
46
  Logging.tag= config[:logger_tag] if config[:logger_tag].present?
40
47
  Logging.level = config[:log_level] if config[:log_level].present?
48
+ >>>>>>> develop
41
49
  end
42
50
 
43
51
  # noinspection SpellCheckingInspection
@@ -1,3 +1,3 @@
1
1
  module FinApps
2
- VERSION = '1.0.1'
2
+ VERSION = '1.0.2'
3
3
  end
@@ -22,6 +22,15 @@ RSpec.describe FinApps::REST::Client do
22
22
  it { expect { FinApps::REST::Client.new :company_identifier, :company_token }.not_to raise_error }
23
23
  end
24
24
 
25
+ <<<<<<< HEAD
26
+ it 'responds to public api methods' do
27
+ [:alert, :alert_definition, :alert_settings, :alert_preferences,
28
+ :budgets, :budget_calculation, :budget_models, :cashflows,
29
+ :categories, :institutions, :transactions,
30
+ :user_institutions, :users,
31
+ :rule_sets].each do |method|
32
+ expect(@client).to respond_to(method)
33
+ =======
25
34
  end
26
35
 
27
36
  context 'after initialized' do
@@ -33,6 +42,7 @@ RSpec.describe FinApps::REST::Client do
33
42
  :alert_definition, :alert_preferences, :alert_settings, :rule_sets, :user_credentials!].each do |method|
34
43
  it "responds to #{method}" do
35
44
  expect(client).to respond_to(method)
45
+ >>>>>>> develop
36
46
  end
37
47
  end
38
48
 
@@ -0,0 +1,24 @@
1
+ RSpec.describe FinApps::REST::Users do
2
+
3
+ context 'after initialized' do
4
+ let(:users) { FinApps::REST::Users.new(FinApps::REST::Client.new(:id, :token)) }
5
+
6
+ [:show, :create, :update, :update_password, :login, :delete].each do |method|
7
+ it "responds to #{method}" do
8
+ expect(users).to respond_to(method)
9
+ end
10
+ end
11
+
12
+ describe '#show' do
13
+
14
+ context 'when public_id is NOT provided' do
15
+ it { expect { users.show(nil) }.to raise_error(FinApps::REST::MissingArgumentsError) }
16
+ end
17
+
18
+ it { expect(users.show(1)[0]).to be_an_instance_of(FinApps::REST::User) }
19
+
20
+ end
21
+
22
+ end
23
+
24
+ end
data/spec/spec_helper.rb CHANGED
@@ -2,22 +2,9 @@ require 'bundler/setup'
2
2
  Bundler.setup
3
3
 
4
4
  require 'finapps'
5
- # This file was generated by the `rspec --init` command. Conventionally, all
6
- # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
7
- # The generated `.rspec` file contains `--require spec_helper` which will cause this
8
- # file to always be loaded, without a need to explicitly require it in any files.
9
- #
10
- # Given that it is always loaded, you are encouraged to keep this file as
11
- # light-weight as possible. Requiring heavyweight dependencies from this file
12
- # will add to the boot time of your test suite on EVERY test run, even for an
13
- # individual file that may not need all of that loaded. Instead, make a
14
- # separate helper file that requires this one and then use it only in the specs
15
- # that actually need it.
16
- #
17
- # The `.rspec` file also contains a few flags that are not defaults but that
18
- # users commonly want.
19
- #
20
- # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
5
+ require 'webmock/rspec'
6
+ require File.join(File.dirname(__dir__), 'spec/support/fake_api')
7
+
21
8
  RSpec.configure do |config|
22
9
  config.expect_with(:rspec) do |expectations|
23
10
  expectations.include_chain_clauses_in_custom_matcher_descriptions = true
@@ -33,6 +20,8 @@ RSpec.configure do |config|
33
20
  config.warnings = true
34
21
  config.profile_examples = 5
35
22
  Kernel.srand config.seed
36
- end
37
23
 
38
- require 'webmock/rspec'
24
+ config.before(:each) do
25
+ stub_request(:any, /api.financialapps.com/).to_rack(::FakeApi )
26
+ end
27
+ end
@@ -0,0 +1,14 @@
1
+ require 'sinatra/base'
2
+
3
+ class FakeApi < Sinatra::Base
4
+ # users
5
+ get('/v1/users/:id') { json_response 200, 'user.json' }
6
+
7
+ private
8
+
9
+ def json_response(response_code, file_name)
10
+ content_type :json
11
+ status response_code
12
+ File.open(File.dirname(__FILE__) + '/fixtures/' + file_name, 'rb').read
13
+ end
14
+ end
@@ -0,0 +1,8 @@
1
+ {
2
+ "public_id":"83e6c55a-9883-40bb-45f9-fc70d70731c9",
3
+ "first_name":"Erich",
4
+ "last_name":"{\"phone_number\":\"3052224444\", \"first_name\":\"John\", \"last_name\":\"Smith\", \"savings_plan_id\":1}",
5
+ "email":"erich.1440775160085@example.com",
6
+ "postal_code":"00000",
7
+ "token":"XkI8MORAlR5m2DvF+QuSkrWGsVrBfZUI3mRToYzZ494="
8
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: finapps
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erich Quintero
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-19 00:00:00.000000000 Z
11
+ date: 2016-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -190,6 +190,26 @@ dependencies:
190
190
  - - ">="
191
191
  - !ruby/object:Gem::Version
192
192
  version: 1.24.2
193
+ - !ruby/object:Gem::Dependency
194
+ name: sinatra
195
+ requirement: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - "~>"
198
+ - !ruby/object:Gem::Version
199
+ version: '1.4'
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: 1.4.7
203
+ type: :development
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - "~>"
208
+ - !ruby/object:Gem::Version
209
+ version: '1.4'
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: 1.4.7
193
213
  description: A simple library for communicating with the FinApps REST API.
194
214
  email:
195
215
  - erich@financialapps.com
@@ -238,7 +258,10 @@ files:
238
258
  - spec/middleware/api_token_spec.rb
239
259
  - spec/rest/client_spec.rb
240
260
  - spec/rest/connection_spec.rb
261
+ - spec/rest/users_spec.rb
241
262
  - spec/spec_helper.rb
263
+ - spec/support/fake_api.rb
264
+ - spec/support/fixtures/user.json
242
265
  - spec/utils/logging_spec.rb
243
266
  homepage: http://github.com/finapps/finapps-ruby
244
267
  licenses:
@@ -266,13 +289,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
266
289
  version: '0'
267
290
  requirements: []
268
291
  rubyforge_project:
269
- rubygems_version: 2.6.2
292
+ rubygems_version: 2.4.8
270
293
  signing_key:
271
294
  specification_version: 4
272
295
  summary: FinApps REST API ruby client.
273
296
  test_files:
274
297
  - spec/spec_helper.rb
275
- - spec/rest/connection_spec.rb
276
- - spec/rest/client_spec.rb
298
+ - spec/support/fake_api.rb
277
299
  - spec/utils/logging_spec.rb
278
300
  - spec/middleware/api_token_spec.rb
301
+ - spec/rest/connection_spec.rb
302
+ - spec/rest/client_spec.rb
303
+ - spec/rest/users_spec.rb