immoscout 1.9.0 → 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/.rubocop.yml +1 -1
- data/CHANGELOG.md +6 -0
- 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 +2 -2
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/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,12 @@
|
|
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
|
+
|
5
11
|
### 1.9.0 (30 January 2025)
|
6
12
|
|
7
13
|
* Added all versions up to Ruby 3.4 to the CI matrix ([#17](https://github.com/hausgold/immoscout/pull/17))
|
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.9.
|
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
|