netbox-client-ruby 0.11.0 → 0.12.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 51796bd57860f9ae7ece4e00038eabad84f459e56edbac865bf0ba172e69cdac
4
- data.tar.gz: 5193306d916083f05422dfd3f58d6bebab1af0ff2c017dd37ec7d617e15467a3
3
+ metadata.gz: f0ec3f9f7eeecdfbf0ea27be99fcdc749b371e176836b33827768777ec1860e0
4
+ data.tar.gz: b3cf23880550f48e8d2e5c3bf84f1d882a99a45d4e0eafafeed8e6a64130a59a
5
5
  SHA512:
6
- metadata.gz: 5f69cd56f421393a687f5f932a95423c8f86a113721af5e0496242f1feb3681a4a92cb0c3c2b52c92477c5c9d7e9e68d4d55f0bfefce6b102cbe062cc1ec654f
7
- data.tar.gz: 7e605bb816aed40ce7303392ade1cb224f5676796690d6fb70d09166bfed18f56a5d71ec4643cde45cffeeabc37406d1272ae2f41903a828cbdf910c60eb0d7d
6
+ metadata.gz: d2ca9232342a5442b2560a9b1d13c1cd6c1405966d93756d6ff13acc44bad289bc0c910996fbeb520cd2abf49b212a9f10a1f305d787e35961a1155d10669965
7
+ data.tar.gz: 19cf2457e0c1abdfc787fdb199dbcdf041264fb59e5cb6381d54e626c07937ca367862681396dedc25863f23e14c07fb51e75df07d3eb9fe0ca2636d3f53b2e6
data/README.md CHANGED
@@ -194,6 +194,8 @@ Not all objects which the Netbox API exposes are currently implemented. Implemen
194
194
  * Tenancy:
195
195
  * Tenant: `NetboxClientRuby.tenancy.tenants`
196
196
  * Tenant Groups: `NetboxClientRuby.tenancy.tenant_groups`
197
+ * Contact: `NetboxClientRuby.tenancy.contacts`
198
+ * Contact Groups: `NetboxClientRuby.tenancy.contact_groups`
197
199
  * Virtualization:
198
200
  * Cluster Types: `NetboxClientRuby.virtualization.cluster_types`
199
201
  * Cluster Groups: `NetboxClientRuby.virtualization.cluster_groups`
@@ -243,7 +245,7 @@ Before opening a PR, please
243
245
  * extend the existing specs
244
246
  * run rspec
245
247
  * run rubocop and fix your warnings
246
- * check if this README.md file needs adjustments
248
+ * check if this `README.md` file needs adjustments
247
249
 
248
250
  ## License
249
251
 
@@ -19,6 +19,7 @@ module NetboxClientRuby
19
19
  path 'dcim/sites/:id/'
20
20
  creation_path 'dcim/sites/'
21
21
  object_fields(
22
+ tenant: proc { |raw_region| Tenancy::Tenant.new raw_region['id'] },
22
23
  region: proc { |raw_region| DCIM::Region.new raw_region['id'] },
23
24
  status: proc do |raw_status|
24
25
  STATUS_VALUES.key(raw_status['value']) || raw_status['value']
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NetboxClientRuby
4
+ module Tenancy
5
+ class Contact
6
+ include Entity
7
+
8
+ id id: :id
9
+ deletable true
10
+ path 'tenancy/contacts/:id/'
11
+ creation_path 'tenancy/contacts/'
12
+ object_fields group: proc { |raw_data| ContactGroup.new raw_data['id'] }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NetboxClientRuby
4
+ module Tenancy
5
+ class ContactGroup
6
+ include Entity
7
+
8
+ id id: :id
9
+ deletable true
10
+ path 'tenancy/contact-groups/:id/'
11
+ creation_path 'tenancy/contact-groups/'
12
+ object_fields parent: proc { |raw_data| ContactGroup.new raw_data['id'] }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NetboxClientRuby
4
+ module Tenancy
5
+ class ContactGroups
6
+ include Entities
7
+
8
+ path 'tenancy/contact-groups/'
9
+ data_key 'results'
10
+ count_key 'count'
11
+ entity_creator :entity_creator
12
+
13
+ private
14
+
15
+ def entity_creator(raw_entity)
16
+ ContactGroup.new raw_entity['id']
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NetboxClientRuby
4
+ module Tenancy
5
+ class Contacts
6
+ include Entities
7
+
8
+ path 'tenancy/contacts/'
9
+ data_key 'results'
10
+ count_key 'count'
11
+ entity_creator :entity_creator
12
+
13
+ private
14
+
15
+ def entity_creator(raw_entity)
16
+ Contact.new raw_entity['id']
17
+ end
18
+ end
19
+ end
20
+ end
@@ -4,7 +4,9 @@ module NetboxClientRuby
4
4
  module Tenancy
5
5
  {
6
6
  tenants: Tenants,
7
- tenant_groups: TenantGroups
7
+ tenant_groups: TenantGroups,
8
+ contacts: Contacts,
9
+ contact_groups: ContactGroups
8
10
  }.each_pair do |method_name, class_name|
9
11
  define_method(method_name) { class_name.new }
10
12
  module_function(method_name)
@@ -12,7 +14,9 @@ module NetboxClientRuby
12
14
 
13
15
  {
14
16
  tenant: Tenant,
15
- tenant_group: TenantGroup
17
+ tenant_group: TenantGroup,
18
+ contact: Contact,
19
+ contact_group: ContactGroup
16
20
  }.each_pair do |method_name, class_name|
17
21
  define_method(method_name) { |id| class_name.new id }
18
22
  module_function(method_name)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: netbox-client-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nine Internet Solutions AG
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-20 00:00:00.000000000 Z
11
+ date: 2025-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-configurable
@@ -225,6 +225,10 @@ files:
225
225
  - lib/netbox_client_ruby/api/secrets/secrets.rb
226
226
  - lib/netbox_client_ruby/api/secrets/session_key.rb
227
227
  - lib/netbox_client_ruby/api/tenancy.rb
228
+ - lib/netbox_client_ruby/api/tenancy/contact.rb
229
+ - lib/netbox_client_ruby/api/tenancy/contact_group.rb
230
+ - lib/netbox_client_ruby/api/tenancy/contact_groups.rb
231
+ - lib/netbox_client_ruby/api/tenancy/contacts.rb
228
232
  - lib/netbox_client_ruby/api/tenancy/tenant.rb
229
233
  - lib/netbox_client_ruby/api/tenancy/tenant_group.rb
230
234
  - lib/netbox_client_ruby/api/tenancy/tenant_groups.rb