immoscout 1.8.1 → 1.9.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 +4 -4
- data/.github/workflows/test.yml +1 -1
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +25 -15
- data/Dockerfile +1 -1
- data/Gemfile +3 -3
- data/doc/assets/project.svg +7 -68
- data/gemfiles/rails_6.1.gemfile +3 -3
- data/gemfiles/rails_7.1.gemfile +3 -3
- data/lib/immoscout/api/request.rb +1 -1
- data/lib/immoscout/models/actions/attachment.rb +4 -4
- data/lib/immoscout/models/actions/contact.rb +1 -2
- data/lib/immoscout/models/actions/real_estate.rb +4 -5
- data/lib/immoscout/models/concerns/modelable.rb +4 -11
- data/lib/immoscout/models/concerns/renderable.rb +5 -5
- data/lib/immoscout/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0c661228218b39f685c3696e53e5b560bdfc68ad3d130b383164cbf29d4dd97d
|
4
|
+
data.tar.gz: cd0f31117ab04fc7097609a89a35abc8305ffbaa1aa9c5ec23185815a6213ec9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2eecf8b99dcc5389f90fbcfba6df2e89142545f7e5fda16c0b2bbb99f78d79555132143c4e44b1b0ebcb4cd5f05fdae2a71258af3179a9b1ce264fc6e77d4166
|
7
|
+
data.tar.gz: 25a8e39da9ff73fb3daea654c7ce8f6621bda1f007dd581e30292be3bb3646a6316c42a911823b14e81a1447feb1bc904bd52ba8b062795c7fb59b2bbef9ac2e
|
data/.github/workflows/test.yml
CHANGED
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -2,17 +2,27 @@
|
|
2
2
|
|
3
3
|
* TODO: Replace this bullet point with an actual description of a change.
|
4
4
|
|
5
|
+
### 1.9.1 (21 May 2025)
|
6
|
+
|
7
|
+
* Corrected some RuboCop glitches ([#18](https://github.com/hausgold/immoscout/pull/18))
|
8
|
+
* Upgraded the rubocop dependencies ([#19](https://github.com/hausgold/immoscout/pull/19))
|
9
|
+
* Corrected some RuboCop glitches ([#20](https://github.com/hausgold/immoscout/pull/20))
|
10
|
+
|
11
|
+
### 1.9.0 (30 January 2025)
|
12
|
+
|
13
|
+
* Added all versions up to Ruby 3.4 to the CI matrix ([#17](https://github.com/hausgold/immoscout/pull/17))
|
14
|
+
|
5
15
|
### 1.8.1 (17 January 2025)
|
6
16
|
|
7
|
-
* Added the logger dependency (#16)
|
17
|
+
* Added the logger dependency ([#16](https://github.com/hausgold/immoscout/pull/16))
|
8
18
|
|
9
19
|
### 1.8.0 (12 January 2025)
|
10
20
|
|
11
|
-
* Switched to Zeitwerk as autoloader (#15)
|
21
|
+
* Switched to Zeitwerk as autoloader ([#15](https://github.com/hausgold/immoscout/pull/15))
|
12
22
|
|
13
23
|
### 1.7.0 (3 January 2025)
|
14
24
|
|
15
|
-
* Raised minimum supported Ruby/Rails version to 2.7/6.1 (#14)
|
25
|
+
* Raised minimum supported Ruby/Rails version to 2.7/6.1 ([#14](https://github.com/hausgold/immoscout/pull/14))
|
16
26
|
|
17
27
|
### 1.6.5 (15 August 2024)
|
18
28
|
|
@@ -32,12 +42,12 @@
|
|
32
42
|
|
33
43
|
### 1.6.1 (9 August 2024)
|
34
44
|
|
35
|
-
* Added API docs building to continuous integration (#13)
|
45
|
+
* Added API docs building to continuous integration ([#13](https://github.com/hausgold/immoscout/pull/13))
|
36
46
|
|
37
47
|
### 1.6.0 (8 July 2024)
|
38
48
|
|
39
|
-
* Moved the development dependencies from the gemspec to the Gemfile (#11)
|
40
|
-
* Dropped support for Ruby <2.7 (#12)
|
49
|
+
* Moved the development dependencies from the gemspec to the Gemfile ([#11](https://github.com/hausgold/immoscout/pull/11))
|
50
|
+
* Dropped support for Ruby <2.7 ([#12](https://github.com/hausgold/immoscout/pull/12))
|
41
51
|
|
42
52
|
### 1.5.0 (24 February 2023)
|
43
53
|
|
@@ -45,11 +55,11 @@
|
|
45
55
|
|
46
56
|
### 1.4.0 (18 January 2023)
|
47
57
|
|
48
|
-
* Bundler >= 2.3 is from now on required as minimal version (#10)
|
49
|
-
* Dropped support for Ruby < 2.5 (#10)
|
50
|
-
* Dropped support for Rails < 5.2 (#10)
|
58
|
+
* Bundler >= 2.3 is from now on required as minimal version ([#10](https://github.com/hausgold/immoscout/pull/10))
|
59
|
+
* Dropped support for Ruby < 2.5 ([#10](https://github.com/hausgold/immoscout/pull/10))
|
60
|
+
* Dropped support for Rails < 5.2 ([#10](https://github.com/hausgold/immoscout/pull/10))
|
51
61
|
* Updated all development/runtime gems to their latest
|
52
|
-
Ruby 2.5 compatible version (#10)
|
62
|
+
Ruby 2.5 compatible version ([#10](https://github.com/hausgold/immoscout/pull/10))
|
53
63
|
|
54
64
|
### 1.3.2 (15 October 2021)
|
55
65
|
|
@@ -63,16 +73,16 @@
|
|
63
73
|
|
64
74
|
### 1.3.0 (9 September 2020)
|
65
75
|
|
66
|
-
* Dropped support for Rails <5.2 (#9)
|
67
|
-
* Dropped support for Ruby <2.5 (#9)
|
68
|
-
* Updated the faraday gem spec to `~> 1.0` (#9)
|
76
|
+
* Dropped support for Rails <5.2 ([#9](https://github.com/hausgold/immoscout/pull/9))
|
77
|
+
* Dropped support for Ruby <2.5 ([#9](https://github.com/hausgold/immoscout/pull/9))
|
78
|
+
* Updated the faraday gem spec to `~> 1.0` ([#9](https://github.com/hausgold/immoscout/pull/9))
|
69
79
|
|
70
80
|
### 1.2.0 (6 March 2019)
|
71
81
|
|
72
82
|
* Added a changelog file to track changes for library users
|
73
|
-
* Allow newer version of faraday/faraday-middleware. (#7)
|
83
|
+
* Allow newer version of faraday/faraday-middleware. ([#7](https://github.com/hausgold/immoscout/pull/7))
|
74
84
|
* Set `HausgoldImmoscout/#{gem_version}` as user agent
|
75
|
-
* Set correct content type and filename for mixed multipart (#5)
|
85
|
+
* Set correct content type and filename for mixed multipart ([#5](https://github.com/hausgold/immoscout/pull/5))
|
76
86
|
* Dropped support for EOL Ruby 2.2
|
77
87
|
* Added support for Ruby 2.6
|
78
88
|
|
data/Dockerfile
CHANGED
data/Gemfile
CHANGED
@@ -18,9 +18,9 @@ gem 'rake', '~> 13.0'
|
|
18
18
|
gem 'redcarpet', '~> 3.5'
|
19
19
|
gem 'rspec', '~> 3.12'
|
20
20
|
gem 'rspec-json_expectations', '~> 2.2'
|
21
|
-
gem 'rubocop'
|
22
|
-
gem 'rubocop-rails'
|
23
|
-
gem 'rubocop-rspec'
|
21
|
+
gem 'rubocop'
|
22
|
+
gem 'rubocop-rails'
|
23
|
+
gem 'rubocop-rspec'
|
24
24
|
gem 'simplecov', '>= 0.22'
|
25
25
|
gem 'terminal-table', '~> 3.0'
|
26
26
|
gem 'timecop', '>= 0.9.6'
|
data/doc/assets/project.svg
CHANGED
@@ -1,68 +1,7 @@
|
|
1
|
-
|
2
|
-
<
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
version="1.1"
|
9
|
-
id="Ebene_1"
|
10
|
-
x="0px"
|
11
|
-
y="0px"
|
12
|
-
viewBox="0 0 800 200"
|
13
|
-
xml:space="preserve"
|
14
|
-
width="800"
|
15
|
-
height="200"><metadata
|
16
|
-
id="metadata33"><rdf:RDF><cc:Work
|
17
|
-
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
18
|
-
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
19
|
-
id="defs31" />
|
20
|
-
<style
|
21
|
-
type="text/css"
|
22
|
-
id="style2">
|
23
|
-
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#E73E11;}
|
24
|
-
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#0371B9;}
|
25
|
-
.st2{fill:#132E48;}
|
26
|
-
.st3{font-family:'OpenSans-Bold';}
|
27
|
-
.st4{font-size:29.5168px;}
|
28
|
-
.st5{fill-rule:evenodd;clip-rule:evenodd;fill:none;}
|
29
|
-
.st6{opacity:0.5;fill:#132E48;}
|
30
|
-
.st7{font-family:'OpenSans';}
|
31
|
-
.st8{font-size:12px;}
|
32
|
-
</style>
|
33
|
-
<g
|
34
|
-
transform="translate(0,1.53584)"
|
35
|
-
id="g828"><g
|
36
|
-
transform="translate(35.93985,35.66416)"
|
37
|
-
id="g8">
|
38
|
-
<path
|
39
|
-
style="clip-rule:evenodd;fill:#e73e11;fill-rule:evenodd"
|
40
|
-
id="path4"
|
41
|
-
d="m -0.1,124.4 c 0,0 33.7,-123.2 66.7,-123.2 12.8,0 26.9,21.9 38.8,47.2 -23.6,27.9 -66.6,59.7 -94,76 -7.1,0 -11.5,0 -11.5,0 z"
|
42
|
-
class="st0" />
|
43
|
-
<path
|
44
|
-
style="clip-rule:evenodd;fill:#0371b9;fill-rule:evenodd"
|
45
|
-
id="path6"
|
46
|
-
d="m 88.1,101.8 c 13.5,-10.4 18.4,-16.2 27.1,-25.4 10,25.7 16.7,48 16.7,48 0,0 -41.4,0 -78,0 14.6,-7.9 18.7,-10.7 34.2,-22.6 z"
|
47
|
-
class="st1" />
|
48
|
-
</g><text
|
49
|
-
y="106.40316"
|
50
|
-
x="192.43155"
|
51
|
-
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:29.51733398px;font-family:'Open Sans', sans-serif;-inkscape-font-specification:'OpenSans-Bold, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#132e48"
|
52
|
-
id="text10"
|
53
|
-
class="st2 st3 st4">Immoscout</text>
|
54
|
-
<rect
|
55
|
-
style="clip-rule:evenodd;fill:none;fill-rule:evenodd"
|
56
|
-
id="rect12"
|
57
|
-
height="24"
|
58
|
-
width="314.5"
|
59
|
-
class="st5"
|
60
|
-
y="118.06416"
|
61
|
-
x="194.23985" /><text
|
62
|
-
y="127.22146"
|
63
|
-
x="194.21715"
|
64
|
-
style="font-size:12px;font-family:'Open Sans', sans-serif;opacity:0.5;fill:#132e48;-inkscape-font-specification:'Open Sans, sans-serif, Normal';font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;text-anchor:start;text-align:start;writing-mode:lr;font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;"
|
65
|
-
id="text14"
|
66
|
-
class="st6 st7 st8">Ruby client for the Immobilienscout24 REST API</text>
|
67
|
-
</g>
|
68
|
-
</svg>
|
1
|
+
<svg id="hg-readme-banner-v2" viewBox="0 0 800 200" width="800" height="200" xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="a" x1="112.46" y1="309.13" x2="314.5" y2="309.13" gradientUnits="userSpaceOnUse" gradientTransform="translate(-33.985 -122.816)"><stop offset="0" stop-color="#1992f4" /><stop offset="1" stop-color="#2b8af6" /></linearGradient></defs><style>.st3{font-family:'OpenSans-Bold'}.st4{font-size:29.5168px}.st5{fill-rule:evenodd;clip-rule:evenodd;fill:none}.st7{font-family:'OpenSans'}.st8{font-size:12px}@media (prefers-color-scheme:dark){text{fill:#f0f6fc!important}}</style>
|
2
|
+
<text y="107.939" x="192.432" style="font-family:'Open Sans', sans-serif;-inkscape-font-specification:'OpenSans-Bold, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start" class="st3 st4" font-weight="700" font-size="29.517" font-family="'Open Sans',sans-serif" fill="#3f3e4b"
|
3
|
+
>Immoscout</text>
|
4
|
+
<path class="st5" clip-rule="evenodd" fill="none" fill-rule="evenodd" d="M194.24 119.6h314.5v24h-314.5z"/>
|
5
|
+
<text y="128.757" x="194.217" style="font-family:'Open Sans', sans-serif;-inkscape-font-specification:'Open Sans, sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start" class="st7 st8" font-weight="400" font-size="12" font-family="'Open Sans',sans-serif" opacity=".75" fill="#3f3e4b"
|
6
|
+
>Ruby client for the Immobilienscout24 REST API</text>
|
7
|
+
<g transform="translate(33.985 122.816)"><path d="M129.427 32.4q-7-20.71-14.09-41.44c-.33-1-.52-1.18-1.34-.25-3.1 3.48-6.25 6.92-9.49 10.26a180.23 180.23 0 0 1-18.54 16.15 193.7 193.7 0 0 1-21.95 15.43c-2.53 1.47-5.08 2.91-7.62 4.36l.11.27h73.05c1 .1 1.4-.13 1-1.22-.4-1.09-.73-2.38-1.13-3.56z" fill="url(#a)" /><path d="M89.077-63.87c-3.57-5.58-7.42-10.95-12.62-15.17-3.93-3.19-8.28-5-13.42-3.32a23 23 0 0 0-8.76 5.6 66.77 66.77 0 0 0-10.34 13.09c-8 12.68-14.06 26.28-19.28 40.25-4.6 12.33-8.82 24.8-12.95 37.29-2.45 7.41-4.39 15-6.61 22.49-.26.88 0 1 .79 1h7.4c1.23 0 2.44.14 3.6-.68 9.17-6.45 18.51-12.67 27.55-19.31a396.21 396.21 0 0 0 37.36-31.3 245.79 245.79 0 0 0 20.74-22 1.6 1.6 0 0 0 .26-2 224.45 224.45 0 0 0-13.72-25.94z" fill="#f2686d" /></g></svg>
|
data/gemfiles/rails_6.1.gemfile
CHANGED
@@ -12,9 +12,9 @@ gem "rake", "~> 13.0"
|
|
12
12
|
gem "redcarpet", "~> 3.5"
|
13
13
|
gem "rspec", "~> 3.12"
|
14
14
|
gem "rspec-json_expectations", "~> 2.2"
|
15
|
-
gem "rubocop"
|
16
|
-
gem "rubocop-rails"
|
17
|
-
gem "rubocop-rspec"
|
15
|
+
gem "rubocop"
|
16
|
+
gem "rubocop-rails"
|
17
|
+
gem "rubocop-rspec"
|
18
18
|
gem "simplecov", ">= 0.22"
|
19
19
|
gem "terminal-table", "~> 3.0"
|
20
20
|
gem "timecop", ">= 0.9.6"
|
data/gemfiles/rails_7.1.gemfile
CHANGED
@@ -12,9 +12,9 @@ gem "rake", "~> 13.0"
|
|
12
12
|
gem "redcarpet", "~> 3.5"
|
13
13
|
gem "rspec", "~> 3.12"
|
14
14
|
gem "rspec-json_expectations", "~> 2.2"
|
15
|
-
gem "rubocop"
|
16
|
-
gem "rubocop-rails"
|
17
|
-
gem "rubocop-rspec"
|
15
|
+
gem "rubocop"
|
16
|
+
gem "rubocop-rails"
|
17
|
+
gem "rubocop-rspec"
|
18
18
|
gem "simplecov", ">= 0.22"
|
19
19
|
gem "terminal-table", "~> 3.0"
|
20
20
|
gem "timecop", ">= 0.9.6"
|
@@ -20,7 +20,7 @@ module Immoscout
|
|
20
20
|
request(:delete, path, payload, multipart)
|
21
21
|
end
|
22
22
|
|
23
|
-
# rubocop:disable Metrics/MethodLength because of the header handling
|
23
|
+
# rubocop:disable Metrics/MethodLength -- because of the header handling
|
24
24
|
def request(method, path, payload = nil, multipart = nil)
|
25
25
|
connection.send(method, path, multipart) do |request|
|
26
26
|
if multipart
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# rubocop:disable Metrics/BlockLength because this is how an ActiveSupport
|
3
|
+
# rubocop:disable Metrics/BlockLength -- because this is how an ActiveSupport
|
4
4
|
# concern looks like
|
5
5
|
module Immoscout
|
6
6
|
module Models
|
@@ -19,9 +19,9 @@ module Immoscout
|
|
19
19
|
.fetch('attachment')
|
20
20
|
end
|
21
21
|
|
22
|
-
# rubocop:disable Metrics/AbcSize because this is the
|
23
|
-
#
|
24
|
-
# rubocop:disable Metrics/MethodLength
|
22
|
+
# rubocop:disable Metrics/AbcSize -- because this is the bare minimum
|
23
|
+
# logic
|
24
|
+
# rubocop:disable Metrics/MethodLength -- ditto
|
25
25
|
def save
|
26
26
|
attachable_id = attachable.try(:id) || attachable
|
27
27
|
response = api.post(
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# rubocop:disable Metrics/BlockLength because this is how an ActiveSupport
|
3
|
+
# rubocop:disable Metrics/BlockLength -- because this is how an ActiveSupport
|
4
4
|
# concern looks like
|
5
5
|
module Immoscout
|
6
6
|
module Models
|
@@ -13,10 +13,9 @@ module Immoscout
|
|
13
13
|
include Immoscout::Models::Concerns::Modelable
|
14
14
|
|
15
15
|
self.unpack_collection = proc do |hash|
|
16
|
-
hash
|
17
|
-
|
18
|
-
|
19
|
-
.fetch('realEstateElement', nil)
|
16
|
+
hash.dig('realestates.realEstates',
|
17
|
+
'realEstateList',
|
18
|
+
'realEstateElement')
|
20
19
|
end
|
21
20
|
|
22
21
|
def save
|
@@ -14,17 +14,11 @@ module Immoscout
|
|
14
14
|
Immoscout::Api::Client.instance
|
15
15
|
end
|
16
16
|
|
17
|
-
|
18
|
-
self.class.api
|
19
|
-
end
|
17
|
+
delegate :api, to: :class
|
20
18
|
|
21
|
-
|
22
|
-
self.class.handle_response(response)
|
23
|
-
end
|
19
|
+
delegate :handle_response, to: :class
|
24
20
|
|
25
|
-
|
26
|
-
self.class.id_from_response(response)
|
27
|
-
end
|
21
|
+
delegate :id_from_response, to: :class
|
28
22
|
end
|
29
23
|
|
30
24
|
class_methods do
|
@@ -48,8 +42,7 @@ module Immoscout
|
|
48
42
|
.body
|
49
43
|
.fetch('common.messages')
|
50
44
|
.first
|
51
|
-
.
|
52
|
-
.fetch('id', nil)
|
45
|
+
.dig('message', 'id')
|
53
46
|
end
|
54
47
|
end
|
55
48
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# rubocop:disable Metrics/BlockLength because this is how an ActiveSupport
|
3
|
+
# rubocop:disable Metrics/BlockLength -- because this is how an ActiveSupport
|
4
4
|
# concern looks like
|
5
5
|
module Immoscout
|
6
6
|
module Models
|
@@ -25,11 +25,11 @@ module Immoscout
|
|
25
25
|
self.class.try(:json_wrapper)
|
26
26
|
end
|
27
27
|
|
28
|
-
# rubocop:disable Metrics/PerceivedComplexity because this is the
|
28
|
+
# rubocop:disable Metrics/PerceivedComplexity -- because this is the
|
29
29
|
# bare minimum logic
|
30
|
-
# rubocop:disable Metrics/MethodLength
|
31
|
-
# rubocop:disable Metrics/CyclomaticComplexity
|
32
|
-
# rubocop:disable Metrics/AbcSize
|
30
|
+
# rubocop:disable Metrics/MethodLength -- ditto
|
31
|
+
# rubocop:disable Metrics/CyclomaticComplexity -- ditto
|
32
|
+
# rubocop:disable Metrics/AbcSize -- ditto
|
33
33
|
def to_h
|
34
34
|
self.class.properties.each_with_object({}) do |(key, value), memo|
|
35
35
|
# skip if it's readonly and should not be exposed in #as_json
|
data/lib/immoscout/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: immoscout
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marcus Geissler
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -178,7 +178,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
178
178
|
- !ruby/object:Gem::Version
|
179
179
|
version: '0'
|
180
180
|
requirements: []
|
181
|
-
rubygems_version: 3.
|
181
|
+
rubygems_version: 3.4.22
|
182
182
|
signing_key:
|
183
183
|
specification_version: 4
|
184
184
|
summary: Ruby client for the Immobilienscout24 REST API
|