immoscout 1.7.0 → 1.8.0

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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/immoscout.gemspec +1 -0
  4. data/lib/immoscout/api/client.rb +0 -4
  5. data/lib/immoscout/api/connection.rb +0 -3
  6. data/lib/immoscout/models/actions/attachment.rb +0 -3
  7. data/lib/immoscout/models/actions/contact.rb +0 -3
  8. data/lib/immoscout/models/actions/publish.rb +0 -3
  9. data/lib/immoscout/models/actions/real_estate.rb +0 -3
  10. data/lib/immoscout/models/apartment_buy.rb +0 -10
  11. data/lib/immoscout/models/concerns/modelable.rb +0 -2
  12. data/lib/immoscout/models/concerns/renderable.rb +0 -2
  13. data/lib/immoscout/models/contact.rb +0 -5
  14. data/lib/immoscout/models/document.rb +0 -4
  15. data/lib/immoscout/models/house_buy.rb +0 -12
  16. data/lib/immoscout/models/parts/address.rb +0 -7
  17. data/lib/immoscout/models/parts/api_search_data.rb +0 -4
  18. data/lib/immoscout/models/parts/contact.rb +0 -4
  19. data/lib/immoscout/models/parts/coordinate.rb +0 -4
  20. data/lib/immoscout/models/parts/courtage.rb +0 -4
  21. data/lib/immoscout/models/parts/energy_certificate.rb +0 -4
  22. data/lib/immoscout/models/parts/energy_source.rb +0 -4
  23. data/lib/immoscout/models/parts/firing_type.rb +0 -4
  24. data/lib/immoscout/models/parts/geo_code.rb +0 -4
  25. data/lib/immoscout/models/parts/geo_hierarchy.rb +0 -5
  26. data/lib/immoscout/models/parts/international_country_region.rb +0 -4
  27. data/lib/immoscout/models/parts/price.rb +0 -4
  28. data/lib/immoscout/models/parts/publish_channel.rb +0 -4
  29. data/lib/immoscout/models/parts/real_estate.rb +0 -4
  30. data/lib/immoscout/models/parts/url.rb +0 -4
  31. data/lib/immoscout/models/parts/urls.rb +0 -5
  32. data/lib/immoscout/models/picture.rb +0 -5
  33. data/lib/immoscout/models/publish.rb +0 -6
  34. data/lib/immoscout/version.rb +1 -1
  35. data/lib/immoscout.rb +23 -13
  36. metadata +16 -3
  37. data/lib/immoscout/models.rb +0 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 83a0f7313b483db941c67adc1d071e6dbc11ee721397cf54f60eda9b62f487cf
4
- data.tar.gz: 44bc2fd89d8026b845645aae4098e5c3c0cb198f09a85abbfaecaab54802ee49
3
+ metadata.gz: a85b9bb5e881e4722f1fbbf6b1e2d80253aa1521c8893e7426e2bf542a12e59d
4
+ data.tar.gz: edb78cdd6d64932dd8df1c333c39d05095fdd763738204f9caa0b627e1216991
5
5
  SHA512:
6
- metadata.gz: 9f3044c0f2364df9d95fddb85ed501034eab275e6af1f83ca6ec9d2da7d986adcbb1bf19e479f9da62ddf9fbc30fd215af0436f268fa68a349779d3b9d858936
7
- data.tar.gz: 6de7502f739d0a4c0157d2d94b76d810185fe3607c1b88e7dff96401931f91b4c37a217cf3d19be662b7a84cb3df301712f84a0ecb4333adb701d9a0022a2bf5
6
+ metadata.gz: a2940398bc19114e297666a978e46fbb3f8c77da3f1a330bd18ed657a542f38de69283ccdc2f7051e09998d5f5ee697d715b118f0badd6b25185c25105265c05
7
+ data.tar.gz: 016a658b8b420c92a80adb8074c4002578d7a24e17bc5cb65c0871be081a40d067c583eef423dc907bf3f588e0bc7dc80f2208138be2d13625555c55876af40a
data/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  * TODO: Replace this bullet point with an actual description of a change.
4
4
 
5
+ ### 1.8.0 (12 January 2025)
6
+
7
+ * Switched to Zeitwerk as autoloader (#15)
8
+
5
9
  ### 1.7.0 (3 January 2025)
6
10
 
7
11
  * Raised minimum supported Ruby/Rails version to 2.7/6.1 (#14)
data/immoscout.gemspec CHANGED
@@ -36,4 +36,5 @@ Gem::Specification.new do |spec|
36
36
  spec.add_dependency 'faraday', '~> 1.10'
37
37
  spec.add_dependency 'faraday_middleware', '~> 1.2'
38
38
  spec.add_dependency 'simple_oauth', '>= 0.3'
39
+ spec.add_dependency 'zeitwerk', '~> 2.6'
39
40
  end
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'singleton'
4
- require_relative 'connection'
5
- require_relative 'request'
6
-
7
3
  module Immoscout
8
4
  module Api
9
5
  # The immoscout API client object.
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'faraday'
4
- require 'faraday_middleware'
5
-
6
3
  module Immoscout
7
4
  module Api
8
5
  # A connection builder/handler for reusable connections.
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'json'
4
- require_relative '../concerns/modelable'
5
-
6
3
  # rubocop:disable Metrics/BlockLength because this is how an ActiveSupport
7
4
  # concern looks like
8
5
  module Immoscout
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'json'
4
- require_relative '../concerns/modelable'
5
-
6
3
  module Immoscout
7
4
  module Models
8
5
  module Actions
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'json'
4
- require_relative '../concerns/modelable'
5
-
6
3
  module Immoscout
7
4
  module Models
8
5
  module Actions
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'json'
4
- require_relative '../concerns/modelable'
5
-
6
3
  # rubocop:disable Metrics/BlockLength because this is how an ActiveSupport
7
4
  # concern looks like
8
5
  module Immoscout
@@ -1,15 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'concerns/renderable'
4
- require_relative 'concerns/propertiable'
5
- require_relative 'actions/real_estate'
6
- require_relative 'parts/api_search_data'
7
- require_relative 'parts/address'
8
- require_relative 'parts/contact'
9
- require_relative 'parts/price'
10
- require_relative 'parts/courtage'
11
- require_relative 'parts/energy_source'
12
-
13
3
  module Immoscout
14
4
  module Models
15
5
  # Real Estate. (selling an apartment)
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'json'
4
-
5
3
  module Immoscout
6
4
  module Models
7
5
  module Concerns
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'json'
4
-
5
3
  # rubocop:disable Metrics/BlockLength because this is how an ActiveSupport
6
4
  # concern looks like
7
5
  module Immoscout
@@ -1,10 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'concerns/renderable'
4
- require_relative 'concerns/propertiable'
5
- require_relative 'actions/contact'
6
- require_relative 'parts/address'
7
-
8
3
  module Immoscout
9
4
  module Models
10
5
  # A contact.
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'concerns/renderable'
4
- require_relative 'concerns/propertiable'
5
- require_relative 'actions/attachment'
6
-
7
3
  module Immoscout
8
4
  module Models
9
5
  # Attachment (document) of a Real Estate.
@@ -1,17 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'concerns/renderable'
4
- require_relative 'concerns/propertiable'
5
- require_relative 'actions/real_estate'
6
- require_relative 'parts/api_search_data'
7
- require_relative 'parts/address'
8
- require_relative 'parts/contact'
9
- require_relative 'parts/price'
10
- require_relative 'parts/courtage'
11
- require_relative 'parts/energy_source'
12
- require_relative 'parts/energy_certificate'
13
- require_relative 'parts/firing_type'
14
-
15
3
  module Immoscout
16
4
  module Models
17
5
  # Real Estate. (selling a house)
@@ -1,12 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../base'
4
- require_relative '../parts/coordinate'
5
- require_relative '../parts/geo_hierarchy'
6
- require_relative '../parts/international_country_region'
7
- require_relative '../concerns/propertiable'
8
- require_relative '../concerns/renderable'
9
-
10
3
  module Immoscout
11
4
  module Models
12
5
  module Parts
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../base'
4
- require_relative '../concerns/propertiable'
5
- require_relative '../concerns/renderable'
6
-
7
3
  module Immoscout
8
4
  module Models
9
5
  module Parts
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../base'
4
- require_relative '../concerns/propertiable'
5
- require_relative '../concerns/renderable'
6
-
7
3
  module Immoscout
8
4
  module Models
9
5
  module Parts
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../base'
4
- require_relative '../concerns/propertiable'
5
- require_relative '../concerns/renderable'
6
-
7
3
  module Immoscout
8
4
  module Models
9
5
  module Parts
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../base'
4
- require_relative '../concerns/propertiable'
5
- require_relative '../concerns/renderable'
6
-
7
3
  module Immoscout
8
4
  module Models
9
5
  module Parts
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../base'
4
- require_relative '../concerns/propertiable'
5
- require_relative '../concerns/renderable'
6
-
7
3
  module Immoscout
8
4
  module Models
9
5
  module Parts
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../base'
4
- require_relative '../concerns/propertiable'
5
- require_relative '../concerns/renderable'
6
-
7
3
  module Immoscout
8
4
  module Models
9
5
  module Parts
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../base'
4
- require_relative '../concerns/propertiable'
5
- require_relative '../concerns/renderable'
6
-
7
3
  module Immoscout
8
4
  module Models
9
5
  module Parts
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../base'
4
- require_relative '../concerns/propertiable'
5
- require_relative '../concerns/renderable'
6
-
7
3
  module Immoscout
8
4
  module Models
9
5
  module Parts
@@ -1,10 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../base'
4
- require_relative '../concerns/propertiable'
5
- require_relative '../concerns/renderable'
6
- require_relative 'geo_code'
7
-
8
3
  module Immoscout
9
4
  module Models
10
5
  module Parts
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../base'
4
- require_relative '../concerns/propertiable'
5
- require_relative '../concerns/renderable'
6
-
7
3
  module Immoscout
8
4
  module Models
9
5
  module Parts
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../base'
4
- require_relative '../concerns/propertiable'
5
- require_relative '../concerns/renderable'
6
-
7
3
  module Immoscout
8
4
  module Models
9
5
  module Parts
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../base'
4
- require_relative '../concerns/propertiable'
5
- require_relative '../concerns/renderable'
6
-
7
3
  module Immoscout
8
4
  module Models
9
5
  module Parts
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../base'
4
- require_relative '../concerns/propertiable'
5
- require_relative '../concerns/renderable'
6
-
7
3
  module Immoscout
8
4
  module Models
9
5
  module Parts
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../base'
4
- require_relative '../concerns/propertiable'
5
- require_relative '../concerns/renderable'
6
-
7
3
  module Immoscout
8
4
  module Models
9
5
  module Parts
@@ -1,10 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../base'
4
- require_relative '../concerns/propertiable'
5
- require_relative '../concerns/renderable'
6
- require_relative 'url'
7
-
8
3
  module Immoscout
9
4
  module Models
10
5
  module Parts
@@ -1,10 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'concerns/renderable'
4
- require_relative 'concerns/propertiable'
5
- require_relative 'parts/urls'
6
- require_relative 'actions/attachment'
7
-
8
3
  module Immoscout
9
4
  module Models
10
5
  # Attachment (picture) of a Real Estate.
@@ -1,11 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'concerns/renderable'
4
- require_relative 'concerns/propertiable'
5
- require_relative 'actions/publish'
6
- require_relative 'parts/real_estate'
7
- require_relative 'parts/publish_channel'
8
-
9
3
  module Immoscout
10
4
  module Models
11
5
  # The Publish (object) of a Real Estate.
@@ -3,7 +3,7 @@
3
3
  # The gem version details.
4
4
  module Immoscout
5
5
  # The version of the +immoscout+ gem
6
- VERSION = '1.7.0'
6
+ VERSION = '1.8.0'
7
7
 
8
8
  class << self
9
9
  # Returns the version of gem as a string.
data/lib/immoscout.rb CHANGED
@@ -1,29 +1,39 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'zeitwerk'
3
4
  require 'active_support/concern'
4
5
  require 'active_support/configurable'
5
6
  require 'active_support/core_ext/hash'
6
7
  require 'active_support/core_ext/module'
7
-
8
- require 'immoscout/version'
9
- require 'immoscout/configuration'
10
- require 'immoscout/models'
8
+ require 'singleton'
9
+ require 'faraday'
10
+ require 'faraday_middleware'
11
+ require 'json'
11
12
 
12
13
  # The top-namespace of the +immoscout+ gem.
13
14
  module Immoscout
15
+ # Setup a Zeitwerk autoloader instance and configure it
16
+ loader = Zeitwerk::Loader.for_gem
17
+
18
+ # Finish the auto loader configuration
19
+ loader.setup
20
+
21
+ # Make sure to eager load all constants
22
+ loader.eager_load
23
+
14
24
  class << self
15
25
  attr_writer :configuration
16
- end
17
26
 
18
- def self.configuration
19
- @configuration ||= Configuration.new
20
- end
27
+ def configuration
28
+ @configuration ||= Configuration.new
29
+ end
21
30
 
22
- def self.configure
23
- yield(configuration)
24
- end
31
+ def configure
32
+ yield(configuration)
33
+ end
25
34
 
26
- def self.reset_configuration!
27
- self.configuration = Configuration.new
35
+ def reset_configuration!
36
+ self.configuration = Configuration.new
37
+ end
28
38
  end
29
39
  end
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.7.0
4
+ version: 1.8.0
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-01-03 00:00:00.000000000 Z
11
+ date: 2025-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: zeitwerk
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '2.6'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '2.6'
69
83
  description:
70
84
  email:
71
85
  - marcus3006@gmail.com
@@ -109,7 +123,6 @@ files:
109
123
  - lib/immoscout/api/request.rb
110
124
  - lib/immoscout/configuration.rb
111
125
  - lib/immoscout/errors/failed.rb
112
- - lib/immoscout/models.rb
113
126
  - lib/immoscout/models/actions/attachment.rb
114
127
  - lib/immoscout/models/actions/contact.rb
115
128
  - lib/immoscout/models/actions/publish.rb
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'errors/failed'
4
- require_relative 'api/client'
5
- require_relative 'models/house_buy'
6
- require_relative 'models/apartment_buy'
7
- require_relative 'models/contact'
8
- require_relative 'models/publish'
9
- require_relative 'models/picture'
10
- require_relative 'models/document'