Skip to content

Commit 89d6252

Browse files
n-rodriguezthde
authored andcommitted
Use zeitwerk to load gem files
1 parent ec84d59 commit 89d6252

110 files changed

Lines changed: 66 additions & 496 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

lib/netbox_client_ruby.rb

Lines changed: 65 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,43 @@
11
# frozen_string_literal: true
22

33
require 'dry-configurable'
4-
require 'netbox_client_ruby/error'
5-
require 'netbox_client_ruby/api'
4+
require 'ipaddress'
5+
require 'openssl'
6+
7+
require 'faraday'
8+
require 'faraday/detailed_logger'
9+
10+
if Faraday::VERSION < '2'
11+
begin
12+
require 'faraday_middleware'
13+
rescue LoadError => e
14+
message = <<~MSG
15+
For the current version of Faraday (#{Faraday::VERSION}), "faraday_middleware"
16+
is a required peer dependency of "netbox-client-ruby". Please install
17+
"faraday_middleware" separately OR upgrade to Faraday 2, in which case,
18+
"faraday_middleware" is not needed to work with "netbox-client-ruby".
19+
20+
#{e.message}
21+
MSG
22+
raise NetboxClientRuby::Error, message
23+
end
24+
end
25+
26+
require 'zeitwerk'
27+
28+
# load zeitwerk
29+
Zeitwerk::Loader.for_gem.tap do |loader|
30+
loader.ignore("#{__dir__}/netbox-client-ruby.rb")
31+
loader.collapse("#{__dir__}/netbox_client_ruby/api")
32+
loader.inflector.inflect('dcim' => 'DCIM')
33+
loader.inflector.inflect('ipam' => 'IPAM')
34+
loader.inflector.inflect('rsa_key_pair' => 'RSAKeyPair')
35+
# loader.log!
36+
loader.setup
37+
end
38+
39+
# load gem errors
40+
require_relative 'netbox_client_ruby/error'
641

742
module NetboxClientRuby
843
extend Dry::Configurable
@@ -31,4 +66,32 @@ module NetboxClientRuby
3166
setting :logger
3267
setting :request_options, default: { open_timeout: 1, timeout: 5 }
3368
end
69+
70+
def self.circuits
71+
NetboxClientRuby::Circuits
72+
end
73+
74+
def self.dcim
75+
NetboxClientRuby::DCIM
76+
end
77+
78+
def self.extras
79+
NetboxClientRuby::Extras
80+
end
81+
82+
def self.ipam
83+
NetboxClientRuby::IPAM
84+
end
85+
86+
def self.secrets
87+
NetboxClientRuby::Secrets
88+
end
89+
90+
def self.tenancy
91+
NetboxClientRuby::Tenancy
92+
end
93+
94+
def self.virtualization
95+
NetboxClientRuby::Virtualization
96+
end
3497
end

lib/netbox_client_ruby/api.rb

Lines changed: 0 additions & 40 deletions
This file was deleted.

lib/netbox_client_ruby/api/circuits.rb

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,5 @@
11
# frozen_string_literal: true
22

3-
require 'netbox_client_ruby/api/circuits/circuit'
4-
require 'netbox_client_ruby/api/circuits/circuits'
5-
require 'netbox_client_ruby/api/circuits/circuit_termination'
6-
require 'netbox_client_ruby/api/circuits/circuit_terminations'
7-
require 'netbox_client_ruby/api/circuits/circuit_type'
8-
require 'netbox_client_ruby/api/circuits/circuit_types'
9-
require 'netbox_client_ruby/api/circuits/provider'
10-
require 'netbox_client_ruby/api/circuits/providers'
11-
require 'netbox_client_ruby/communication'
12-
133
module NetboxClientRuby
144
module Circuits
155
{

lib/netbox_client_ruby/api/circuits/circuit.rb

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
# frozen_string_literal: true
22

3-
require 'netbox_client_ruby/entity'
4-
require 'netbox_client_ruby/api/circuits/circuit_type'
5-
require 'netbox_client_ruby/api/circuits/provider'
6-
require 'netbox_client_ruby/api/tenancy/tenant'
7-
83
module NetboxClientRuby
94
module Circuits
105
class Circuit

lib/netbox_client_ruby/api/circuits/circuit_termination.rb

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
# frozen_string_literal: true
22

3-
require 'netbox_client_ruby/entity'
4-
require 'netbox_client_ruby/api/circuits/circuit'
5-
require 'netbox_client_ruby/api/dcim/site'
6-
require 'netbox_client_ruby/api/dcim/interface'
7-
83
module NetboxClientRuby
94
module Circuits
105
class CircuitTermination

lib/netbox_client_ruby/api/circuits/circuit_terminations.rb

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
# frozen_string_literal: true
22

3-
require 'netbox_client_ruby/entities'
4-
require 'netbox_client_ruby/api/circuits/circuit_termination'
5-
63
module NetboxClientRuby
74
module Circuits
85
class CircuitTerminations

lib/netbox_client_ruby/api/circuits/circuit_type.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# frozen_string_literal: true
22

3-
require 'netbox_client_ruby/entity'
4-
53
module NetboxClientRuby
64
module Circuits
75
class CircuitType

lib/netbox_client_ruby/api/circuits/circuit_types.rb

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
# frozen_string_literal: true
22

3-
require 'netbox_client_ruby/entities'
4-
require 'netbox_client_ruby/api/circuits/circuit_type'
5-
63
module NetboxClientRuby
74
module Circuits
85
class CircuitTypes

lib/netbox_client_ruby/api/circuits/circuits.rb

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
# frozen_string_literal: true
22

3-
require 'netbox_client_ruby/entities'
4-
require 'netbox_client_ruby/api/circuits/circuit'
5-
63
module NetboxClientRuby
74
module Circuits
85
##

lib/netbox_client_ruby/api/circuits/provider.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# frozen_string_literal: true
22

3-
require 'netbox_client_ruby/entity'
4-
53
module NetboxClientRuby
64
module Circuits
75
class Provider

0 commit comments

Comments
 (0)