immoscout 1.7.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
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'