hypofriend 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bbc94380468772f6cb37402d5b4d8d2c3c69d77238f48b465aa59e8243672b3a
4
- data.tar.gz: fa0ec3e923e15954b52d09bcad5e7bf6acde9a9a4be0551df5d1f6a5c1433214
3
+ metadata.gz: 5df82d50d297d1f56b351db64fa3294e37f5720cb4e704d5fe83bdad13a00a96
4
+ data.tar.gz: a98c4ca62bcec451c9c19787a28a7b8deecdf047a1f90c75f9a5b105d00a9ed0
5
5
  SHA512:
6
- metadata.gz: 5f797b60c74751a6d5ecaaa3667f3988f316d8fa1bc2c1eed009e8c73a144872da68b1e45478d79d470d7b3e16b38596f33a0d82e7f5aa6abcbed003e04a8f03
7
- data.tar.gz: 5f8ab382365dbd5b63c52a7b0974f7dbb8dc4d96d42e665f2280c7b7450adeec28a93d781583045ea0c9f43e5a77f2f4f792edd7cafbcc9e5acc6555ddb4b5e4
6
+ metadata.gz: 3533cf8ffd2d3da6ecd9d348968f4e57c52f9be3bd3ea43d14937d1bd779ea9b8602e5d95ed4e747275d20477cd7936d8af293dc0558a57ac2ceb16b8e529f8e
7
+ data.tar.gz: c508a537c9ed851d8acd388a4b8e93f0e52a21d9a2ece797675e88c824afa8adc537e9e17e2be11ed7b4f34c016f94294b11c0843d9407b2978946eced6842e1
data/lib/hypofriend.rb CHANGED
@@ -1,7 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class Hypofriend
4
- def self.hi
5
- puts 'hello'
3
+ require 'hypofriend/offer'
4
+ require 'hypofriend/client'
5
+
6
+ module Hypofriend
7
+ class FetchError < StandardError
8
+ end
9
+
10
+ def self.new
11
+ Client.new
6
12
  end
7
13
  end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'httparty'
4
+
5
+ module Hypofriend
6
+ class Client
7
+ BASE_URI = 'https://offer-v3.hypofriend.de'
8
+
9
+ include HTTParty
10
+ base_uri BASE_URI
11
+
12
+ def new_offer(loan_amount:, property_value:, repayment:, years_fixed:)
13
+ response = self.class.get(
14
+ '/api/v5/new-offers',
15
+ {
16
+ query: {
17
+ loan_amount: loan_amount,
18
+ property_value: property_value,
19
+ repayment: repayment,
20
+ years_fixed: years_fixed
21
+ }
22
+ }
23
+ )
24
+ raise FetchError.new(response.body) unless response.success?
25
+ JSON.parse(response.body).dig('data', 'offers')&.map do |offer|
26
+ Offer.new(
27
+ institution_name: offer['institution_name'],
28
+ borrowing_rate: offer['borrowing_rate']
29
+ )
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Hypofriend
4
+ class Offer
5
+ attr_reader :institution_name, :borrowing_rate
6
+
7
+ def initialize(institution_name:, borrowing_rate:)
8
+ @institution_name = institution_name
9
+ @borrowing_rate = borrowing_rate
10
+ end
11
+ end
12
+ end
metadata CHANGED
@@ -1,15 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hypofriend
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Duc Le
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2021-06-28 00:00:00.000000000 Z
12
- dependencies: []
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: httparty
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
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: webmock
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'
13
55
  description: Hypofriend
14
56
  email: mattbee90@gmail.com
15
57
  executables: []
@@ -17,11 +59,13 @@ extensions: []
17
59
  extra_rdoc_files: []
18
60
  files:
19
61
  - lib/hypofriend.rb
62
+ - lib/hypofriend/client.rb
63
+ - lib/hypofriend/offer.rb
20
64
  homepage: https://rubygems.org/gems/hypofriend
21
65
  licenses:
22
66
  - MIT
23
67
  metadata: {}
24
- post_install_message:
68
+ post_install_message:
25
69
  rdoc_options: []
26
70
  require_paths:
27
71
  - lib
@@ -37,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
37
81
  version: '0'
38
82
  requirements: []
39
83
  rubygems_version: 3.0.3
40
- signing_key:
84
+ signing_key:
41
85
  specification_version: 4
42
86
  summary: Hypofriend
43
87
  test_files: []