Skip to content

Commit

Permalink
Switched to Zeitwerk as autoloader.
Browse files Browse the repository at this point in the history
Signed-off-by: Hermann Mayer <[email protected]>
  • Loading branch information
Jack12816 committed Jan 12, 2025
1 parent ee16f2d commit f47b05f
Show file tree
Hide file tree
Showing 34 changed files with 25 additions and 158 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### next

* TODO: Replace this bullet point with an actual description of a change.
* Switched to Zeitwerk as autoloader (#15)

### 1.7.0 (3 January 2025)

Expand Down
1 change: 1 addition & 0 deletions immoscout.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,5 @@ Gem::Specification.new do |spec|
spec.add_dependency 'faraday', '~> 1.10'
spec.add_dependency 'faraday_middleware', '~> 1.2'
spec.add_dependency 'simple_oauth', '>= 0.3'
spec.add_dependency 'zeitwerk', '~> 2.6'
end
36 changes: 23 additions & 13 deletions lib/immoscout.rb
Original file line number Diff line number Diff line change
@@ -1,29 +1,39 @@
# frozen_string_literal: true

require 'zeitwerk'
require 'active_support/concern'
require 'active_support/configurable'
require 'active_support/core_ext/hash'
require 'active_support/core_ext/module'

require 'immoscout/version'
require 'immoscout/configuration'
require 'immoscout/models'
require 'singleton'
require 'faraday'
require 'faraday_middleware'
require 'json'

# The top-namespace of the +immoscout+ gem.
module Immoscout
# Setup a Zeitwerk autoloader instance and configure it
loader = Zeitwerk::Loader.for_gem

# Finish the auto loader configuration
loader.setup

# Make sure to eager load all constants
loader.eager_load

class << self
attr_writer :configuration
end

def self.configuration
@configuration ||= Configuration.new
end
def configuration
@configuration ||= Configuration.new
end

def self.configure
yield(configuration)
end
def configure
yield(configuration)
end

def self.reset_configuration!
self.configuration = Configuration.new
def reset_configuration!
self.configuration = Configuration.new
end
end
end
4 changes: 0 additions & 4 deletions lib/immoscout/api/client.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# frozen_string_literal: true

require 'singleton'
require_relative 'connection'
require_relative 'request'

module Immoscout
module Api
# The immoscout API client object.
Expand Down
3 changes: 0 additions & 3 deletions lib/immoscout/api/connection.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
# frozen_string_literal: true

require 'faraday'
require 'faraday_middleware'

module Immoscout
module Api
# A connection builder/handler for reusable connections.
Expand Down
10 changes: 0 additions & 10 deletions lib/immoscout/models.rb

This file was deleted.

3 changes: 0 additions & 3 deletions lib/immoscout/models/actions/attachment.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
# frozen_string_literal: true

require 'json'
require_relative '../concerns/modelable'

# rubocop:disable Metrics/BlockLength because this is how an ActiveSupport
# concern looks like
module Immoscout
Expand Down
3 changes: 0 additions & 3 deletions lib/immoscout/models/actions/contact.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
# frozen_string_literal: true

require 'json'
require_relative '../concerns/modelable'

module Immoscout
module Models
module Actions
Expand Down
3 changes: 0 additions & 3 deletions lib/immoscout/models/actions/publish.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
# frozen_string_literal: true

require 'json'
require_relative '../concerns/modelable'

module Immoscout
module Models
module Actions
Expand Down
3 changes: 0 additions & 3 deletions lib/immoscout/models/actions/real_estate.rb
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
# frozen_string_literal: true

require 'json'
require_relative '../concerns/modelable'

# rubocop:disable Metrics/BlockLength because this is how an ActiveSupport
# concern looks like
module Immoscout
Expand Down
10 changes: 0 additions & 10 deletions lib/immoscout/models/apartment_buy.rb
Original file line number Diff line number Diff line change
@@ -1,15 +1,5 @@
# frozen_string_literal: true

require_relative 'concerns/renderable'
require_relative 'concerns/propertiable'
require_relative 'actions/real_estate'
require_relative 'parts/api_search_data'
require_relative 'parts/address'
require_relative 'parts/contact'
require_relative 'parts/price'
require_relative 'parts/courtage'
require_relative 'parts/energy_source'

module Immoscout
module Models
# Real Estate. (selling an apartment)
Expand Down
2 changes: 0 additions & 2 deletions lib/immoscout/models/concerns/modelable.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# frozen_string_literal: true

require 'json'

module Immoscout
module Models
module Concerns
Expand Down
2 changes: 0 additions & 2 deletions lib/immoscout/models/concerns/renderable.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# frozen_string_literal: true

require 'json'

# rubocop:disable Metrics/BlockLength because this is how an ActiveSupport
# concern looks like
module Immoscout
Expand Down
5 changes: 0 additions & 5 deletions lib/immoscout/models/contact.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
# frozen_string_literal: true

require_relative 'concerns/renderable'
require_relative 'concerns/propertiable'
require_relative 'actions/contact'
require_relative 'parts/address'

module Immoscout
module Models
# A contact.
Expand Down
4 changes: 0 additions & 4 deletions lib/immoscout/models/document.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# frozen_string_literal: true

require_relative 'concerns/renderable'
require_relative 'concerns/propertiable'
require_relative 'actions/attachment'

module Immoscout
module Models
# Attachment (document) of a Real Estate.
Expand Down
12 changes: 0 additions & 12 deletions lib/immoscout/models/house_buy.rb
Original file line number Diff line number Diff line change
@@ -1,17 +1,5 @@
# frozen_string_literal: true

require_relative 'concerns/renderable'
require_relative 'concerns/propertiable'
require_relative 'actions/real_estate'
require_relative 'parts/api_search_data'
require_relative 'parts/address'
require_relative 'parts/contact'
require_relative 'parts/price'
require_relative 'parts/courtage'
require_relative 'parts/energy_source'
require_relative 'parts/energy_certificate'
require_relative 'parts/firing_type'

module Immoscout
module Models
# Real Estate. (selling a house)
Expand Down
7 changes: 0 additions & 7 deletions lib/immoscout/models/parts/address.rb
Original file line number Diff line number Diff line change
@@ -1,12 +1,5 @@
# frozen_string_literal: true

require_relative '../base'
require_relative '../parts/coordinate'
require_relative '../parts/geo_hierarchy'
require_relative '../parts/international_country_region'
require_relative '../concerns/propertiable'
require_relative '../concerns/renderable'

module Immoscout
module Models
module Parts
Expand Down
4 changes: 0 additions & 4 deletions lib/immoscout/models/parts/api_search_data.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# frozen_string_literal: true

require_relative '../base'
require_relative '../concerns/propertiable'
require_relative '../concerns/renderable'

module Immoscout
module Models
module Parts
Expand Down
4 changes: 0 additions & 4 deletions lib/immoscout/models/parts/contact.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# frozen_string_literal: true

require_relative '../base'
require_relative '../concerns/propertiable'
require_relative '../concerns/renderable'

module Immoscout
module Models
module Parts
Expand Down
4 changes: 0 additions & 4 deletions lib/immoscout/models/parts/coordinate.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# frozen_string_literal: true

require_relative '../base'
require_relative '../concerns/propertiable'
require_relative '../concerns/renderable'

module Immoscout
module Models
module Parts
Expand Down
4 changes: 0 additions & 4 deletions lib/immoscout/models/parts/courtage.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# frozen_string_literal: true

require_relative '../base'
require_relative '../concerns/propertiable'
require_relative '../concerns/renderable'

module Immoscout
module Models
module Parts
Expand Down
4 changes: 0 additions & 4 deletions lib/immoscout/models/parts/energy_certificate.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# frozen_string_literal: true

require_relative '../base'
require_relative '../concerns/propertiable'
require_relative '../concerns/renderable'

module Immoscout
module Models
module Parts
Expand Down
4 changes: 0 additions & 4 deletions lib/immoscout/models/parts/energy_source.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# frozen_string_literal: true

require_relative '../base'
require_relative '../concerns/propertiable'
require_relative '../concerns/renderable'

module Immoscout
module Models
module Parts
Expand Down
4 changes: 0 additions & 4 deletions lib/immoscout/models/parts/firing_type.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# frozen_string_literal: true

require_relative '../base'
require_relative '../concerns/propertiable'
require_relative '../concerns/renderable'

module Immoscout
module Models
module Parts
Expand Down
4 changes: 0 additions & 4 deletions lib/immoscout/models/parts/geo_code.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# frozen_string_literal: true

require_relative '../base'
require_relative '../concerns/propertiable'
require_relative '../concerns/renderable'

module Immoscout
module Models
module Parts
Expand Down
5 changes: 0 additions & 5 deletions lib/immoscout/models/parts/geo_hierarchy.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
# frozen_string_literal: true

require_relative '../base'
require_relative '../concerns/propertiable'
require_relative '../concerns/renderable'
require_relative 'geo_code'

module Immoscout
module Models
module Parts
Expand Down
4 changes: 0 additions & 4 deletions lib/immoscout/models/parts/international_country_region.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# frozen_string_literal: true

require_relative '../base'
require_relative '../concerns/propertiable'
require_relative '../concerns/renderable'

module Immoscout
module Models
module Parts
Expand Down
4 changes: 0 additions & 4 deletions lib/immoscout/models/parts/price.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# frozen_string_literal: true

require_relative '../base'
require_relative '../concerns/propertiable'
require_relative '../concerns/renderable'

module Immoscout
module Models
module Parts
Expand Down
4 changes: 0 additions & 4 deletions lib/immoscout/models/parts/publish_channel.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# frozen_string_literal: true

require_relative '../base'
require_relative '../concerns/propertiable'
require_relative '../concerns/renderable'

module Immoscout
module Models
module Parts
Expand Down
4 changes: 0 additions & 4 deletions lib/immoscout/models/parts/real_estate.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# frozen_string_literal: true

require_relative '../base'
require_relative '../concerns/propertiable'
require_relative '../concerns/renderable'

module Immoscout
module Models
module Parts
Expand Down
4 changes: 0 additions & 4 deletions lib/immoscout/models/parts/url.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# frozen_string_literal: true

require_relative '../base'
require_relative '../concerns/propertiable'
require_relative '../concerns/renderable'

module Immoscout
module Models
module Parts
Expand Down
5 changes: 0 additions & 5 deletions lib/immoscout/models/parts/urls.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
# frozen_string_literal: true

require_relative '../base'
require_relative '../concerns/propertiable'
require_relative '../concerns/renderable'
require_relative 'url'

module Immoscout
module Models
module Parts
Expand Down
5 changes: 0 additions & 5 deletions lib/immoscout/models/picture.rb
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
# frozen_string_literal: true

require_relative 'concerns/renderable'
require_relative 'concerns/propertiable'
require_relative 'parts/urls'
require_relative 'actions/attachment'

module Immoscout
module Models
# Attachment (picture) of a Real Estate.
Expand Down
6 changes: 0 additions & 6 deletions lib/immoscout/models/publish.rb
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
# frozen_string_literal: true

require_relative 'concerns/renderable'
require_relative 'concerns/propertiable'
require_relative 'actions/publish'
require_relative 'parts/real_estate'
require_relative 'parts/publish_channel'

module Immoscout
module Models
# The Publish (object) of a Real Estate.
Expand Down

0 comments on commit f47b05f

Please sign in to comment.