seam 2.26.0 → 2.28.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: ea67d88559248dbb0c49c7788b0f03584c52aabae4ef6afccdc3f281d0b4f4d1
4
- data.tar.gz: c46d44fad4d24523d8c9485e9ec58f68ded0fb2267c961d625d9979c6ab22c8c
3
+ metadata.gz: bc9358bb9e61db5e5ba23a3b988fbf0b8edc5382989d0d210ce01cb563eedd75
4
+ data.tar.gz: d5eed7ae691ffb03ad053f09bea1343a5609ca818e9751b13c118f53ee54f29b
5
5
  SHA512:
6
- metadata.gz: b3175f2f1065ff097a91239b581a9898365bff67f7faaa886549ae94b4849e0b66c5f23567f67661ab71836d949c6d7415ab56d279d6b9f9ca421dcd5d768390
7
- data.tar.gz: d033ed1fa21bc55f62bf3f50a917107828d68c4e9b01bda00aa6764ee41de0904e68754dce9dd2b0e3d6b59b54c73acd28c541dedc6af2f004c724bfa9a66663
6
+ metadata.gz: 45a345665fb5e092579662336621195e08d5647ba0519f4f2b7bf388af1a887f3187afea5c71134ffb72bc7923cd5d2251692f3f3db1373ffa71dc8887026315
7
+ data.tar.gz: 6b9b31f67b3dc01483b5d181316c008a17efa1bff81da1045b37dfc2420793d4ffaee84ef30c9ff49c7fda66514f7b250237d3c1162358214378a0ee3c13c35b
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- seam (2.26.0)
4
+ seam (2.28.0)
5
5
  faraday (~> 2.7)
6
6
  faraday-retry (~> 2.2)
7
7
  svix (~> 1.30)
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Seam
4
+ module Clients
5
+ class AccessGrants
6
+ def initialize(client:, defaults:)
7
+ @client = client
8
+ @defaults = defaults
9
+ end
10
+
11
+ def create(requested_access_methods:, user_identity_id: nil, user_identity: nil, acs_entrance_ids: nil, device_ids: nil, ends_at: nil, location: nil, location_ids: nil, space_ids: nil, starts_at: nil)
12
+ @client.post("/access_grants/create", {requested_access_methods: requested_access_methods, user_identity_id: user_identity_id, user_identity: user_identity, acs_entrance_ids: acs_entrance_ids, device_ids: device_ids, ends_at: ends_at, location: location, location_ids: location_ids, space_ids: space_ids, starts_at: starts_at}.compact)
13
+
14
+ nil
15
+ end
16
+
17
+ def delete(access_grant_id:)
18
+ @client.post("/access_grants/delete", {access_grant_id: access_grant_id}.compact)
19
+
20
+ nil
21
+ end
22
+
23
+ def get(access_grant_id:)
24
+ @client.post("/access_grants/get", {access_grant_id: access_grant_id}.compact)
25
+
26
+ nil
27
+ end
28
+
29
+ def list(acs_entrance_id: nil, acs_system_id: nil, location_id: nil, space_id: nil, user_identity_id: nil)
30
+ @client.post("/access_grants/list", {acs_entrance_id: acs_entrance_id, acs_system_id: acs_system_id, location_id: location_id, space_id: space_id, user_identity_id: user_identity_id}.compact)
31
+
32
+ nil
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Seam
4
+ module Clients
5
+ class AccessMethods
6
+ def initialize(client:, defaults:)
7
+ @client = client
8
+ @defaults = defaults
9
+ end
10
+
11
+ def delete(access_method_id:)
12
+ @client.post("/access_methods/delete", {access_method_id: access_method_id}.compact)
13
+
14
+ nil
15
+ end
16
+
17
+ def get(access_method_id:)
18
+ @client.post("/access_methods/get", {access_method_id: access_method_id}.compact)
19
+
20
+ nil
21
+ end
22
+
23
+ def list(access_grant_id:)
24
+ @client.post("/access_methods/list", {access_grant_id: access_grant_id}.compact)
25
+
26
+ nil
27
+ end
28
+ end
29
+ end
30
+ end
@@ -20,8 +20,8 @@ module Seam
20
20
  nil
21
21
  end
22
22
 
23
- def list(acs_credential_id: nil, acs_system_id: nil, location_id: nil)
24
- res = @client.post("/acs/entrances/list", {acs_credential_id: acs_credential_id, acs_system_id: acs_system_id, location_id: location_id}.compact)
23
+ def list(acs_credential_id: nil, acs_system_id: nil, location_id: nil, space_id: nil)
24
+ res = @client.post("/acs/entrances/list", {acs_credential_id: acs_credential_id, acs_system_id: acs_system_id, location_id: location_id, space_id: space_id}.compact)
25
25
 
26
26
  Seam::Resources::AcsEntrance.load_from_response(res.body["acs_entrances"])
27
27
  end
@@ -8,8 +8,8 @@ module Seam
8
8
  @defaults = defaults
9
9
  end
10
10
 
11
- def create(accepted_providers: nil, automatically_manage_new_devices: nil, custom_metadata: nil, custom_redirect_failure_url: nil, custom_redirect_url: nil, customer_id: nil, device_selection_mode: nil, provider_category: nil, wait_for_device_creation: nil)
12
- res = @client.post("/connect_webviews/create", {accepted_providers: accepted_providers, automatically_manage_new_devices: automatically_manage_new_devices, custom_metadata: custom_metadata, custom_redirect_failure_url: custom_redirect_failure_url, custom_redirect_url: custom_redirect_url, customer_id: customer_id, device_selection_mode: device_selection_mode, provider_category: provider_category, wait_for_device_creation: wait_for_device_creation}.compact)
11
+ def create(accepted_capabilities: nil, accepted_providers: nil, automatically_manage_new_devices: nil, custom_metadata: nil, custom_redirect_failure_url: nil, custom_redirect_url: nil, customer_id: nil, device_selection_mode: nil, provider_category: nil, wait_for_device_creation: nil)
12
+ res = @client.post("/connect_webviews/create", {accepted_capabilities: accepted_capabilities, accepted_providers: accepted_providers, automatically_manage_new_devices: automatically_manage_new_devices, custom_metadata: custom_metadata, custom_redirect_failure_url: custom_redirect_failure_url, custom_redirect_url: custom_redirect_url, customer_id: customer_id, device_selection_mode: device_selection_mode, provider_category: provider_category, wait_for_device_creation: wait_for_device_creation}.compact)
13
13
 
14
14
  Seam::Resources::ConnectWebview.load_from_response(res.body["connect_webview"])
15
15
  end
@@ -22,8 +22,8 @@ module Seam
22
22
  Seam::Resources::Device.load_from_response(res.body["device"])
23
23
  end
24
24
 
25
- def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_ids: nil, device_ids: nil, device_type: nil, device_types: nil, exclude_if: nil, include_if: nil, limit: nil, manufacturer: nil, page_cursor: nil, unstable_location_id: nil, user_identifier_key: nil)
26
- res = @client.post("/devices/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_ids: customer_ids, device_ids: device_ids, device_type: device_type, device_types: device_types, exclude_if: exclude_if, include_if: include_if, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
25
+ def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_ids: nil, device_ids: nil, device_type: nil, device_types: nil, exclude_if: nil, include_if: nil, limit: nil, manufacturer: nil, page_cursor: nil, space_id: nil, unstable_location_id: nil, user_identifier_key: nil)
26
+ res = @client.post("/devices/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_ids: customer_ids, device_ids: device_ids, device_type: device_type, device_types: device_types, exclude_if: exclude_if, include_if: include_if, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, space_id: space_id, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
27
27
 
28
28
  Seam::Resources::Device.load_from_response(res.body["devices"])
29
29
  end
@@ -14,8 +14,8 @@ module Seam
14
14
  Seam::Resources::UnmanagedDevice.load_from_response(res.body["device"])
15
15
  end
16
16
 
17
- def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_ids: nil, device_ids: nil, device_type: nil, device_types: nil, exclude_if: nil, include_if: nil, limit: nil, manufacturer: nil, page_cursor: nil, unstable_location_id: nil, user_identifier_key: nil)
18
- res = @client.post("/devices/unmanaged/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_ids: customer_ids, device_ids: device_ids, device_type: device_type, device_types: device_types, exclude_if: exclude_if, include_if: include_if, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
17
+ def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_ids: nil, device_ids: nil, device_type: nil, device_types: nil, exclude_if: nil, include_if: nil, limit: nil, manufacturer: nil, page_cursor: nil, space_id: nil, unstable_location_id: nil, user_identifier_key: nil)
18
+ res = @client.post("/devices/unmanaged/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_ids: customer_ids, device_ids: device_ids, device_type: device_type, device_types: device_types, exclude_if: exclude_if, include_if: include_if, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, space_id: space_id, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
19
19
 
20
20
  Seam::Resources::UnmanagedDevice.load_from_response(res.body["devices"])
21
21
  end
@@ -3,6 +3,8 @@
3
3
  require_relative "access_codes"
4
4
  require_relative "access_codes_simulate"
5
5
  require_relative "access_codes_unmanaged"
6
+ require_relative "access_grants"
7
+ require_relative "access_methods"
6
8
  require_relative "acs_access_groups"
7
9
  require_relative "acs"
8
10
  require_relative "acs_credentials"
@@ -25,6 +27,7 @@ require_relative "noise_sensors_noise_thresholds"
25
27
  require_relative "noise_sensors_simulate"
26
28
  require_relative "phones"
27
29
  require_relative "phones_simulate"
30
+ require_relative "spaces"
28
31
  require_relative "thermostats"
29
32
  require_relative "thermostats_daily_programs"
30
33
  require_relative "thermostats_schedules"
@@ -16,8 +16,8 @@ module Seam
16
16
  Seam::Resources::Device.load_from_response(res.body["device"])
17
17
  end
18
18
 
19
- def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_ids: nil, device_ids: nil, device_type: nil, device_types: nil, exclude_if: nil, include_if: nil, limit: nil, manufacturer: nil, page_cursor: nil, unstable_location_id: nil, user_identifier_key: nil)
20
- res = @client.post("/locks/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_ids: customer_ids, device_ids: device_ids, device_type: device_type, device_types: device_types, exclude_if: exclude_if, include_if: include_if, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
19
+ def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_ids: nil, device_ids: nil, device_type: nil, device_types: nil, exclude_if: nil, include_if: nil, limit: nil, manufacturer: nil, page_cursor: nil, space_id: nil, unstable_location_id: nil, user_identifier_key: nil)
20
+ res = @client.post("/locks/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_ids: customer_ids, device_ids: device_ids, device_type: device_type, device_types: device_types, exclude_if: exclude_if, include_if: include_if, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, space_id: space_id, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
21
21
 
22
22
  Seam::Resources::Device.load_from_response(res.body["devices"])
23
23
  end
@@ -16,8 +16,8 @@ module Seam
16
16
  @simulate ||= Seam::Clients::NoiseSensorsSimulate.new(client: @client, defaults: @defaults)
17
17
  end
18
18
 
19
- def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_ids: nil, device_ids: nil, device_type: nil, device_types: nil, exclude_if: nil, include_if: nil, limit: nil, manufacturer: nil, page_cursor: nil, unstable_location_id: nil, user_identifier_key: nil)
20
- res = @client.post("/noise_sensors/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_ids: customer_ids, device_ids: device_ids, device_type: device_type, device_types: device_types, exclude_if: exclude_if, include_if: include_if, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
19
+ def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_ids: nil, device_ids: nil, device_type: nil, device_types: nil, exclude_if: nil, include_if: nil, limit: nil, manufacturer: nil, page_cursor: nil, space_id: nil, unstable_location_id: nil, user_identifier_key: nil)
20
+ res = @client.post("/noise_sensors/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_ids: customer_ids, device_ids: device_ids, device_type: device_type, device_types: device_types, exclude_if: exclude_if, include_if: include_if, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, space_id: space_id, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
21
21
 
22
22
  Seam::Resources::Device.load_from_response(res.body["devices"])
23
23
  end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Seam
4
+ module Clients
5
+ class Spaces
6
+ def initialize(client:, defaults:)
7
+ @client = client
8
+ @defaults = defaults
9
+ end
10
+
11
+ def add_acs_entrances(acs_entrance_ids:, space_id:)
12
+ @client.post("/spaces/add_acs_entrances", {acs_entrance_ids: acs_entrance_ids, space_id: space_id}.compact)
13
+
14
+ nil
15
+ end
16
+
17
+ def add_devices(device_ids:, space_id:)
18
+ @client.post("/spaces/add_devices", {device_ids: device_ids, space_id: space_id}.compact)
19
+
20
+ nil
21
+ end
22
+
23
+ def create(name:, acs_entrance_ids: nil, device_ids: nil)
24
+ res = @client.post("/spaces/create", {name: name, acs_entrance_ids: acs_entrance_ids, device_ids: device_ids}.compact)
25
+
26
+ Seam::Resources::Space.load_from_response(res.body["space"])
27
+ end
28
+
29
+ def delete(space_id:)
30
+ @client.post("/spaces/delete", {space_id: space_id}.compact)
31
+
32
+ nil
33
+ end
34
+
35
+ def get(space_id:)
36
+ res = @client.post("/spaces/get", {space_id: space_id}.compact)
37
+
38
+ Seam::Resources::Space.load_from_response(res.body["space"])
39
+ end
40
+
41
+ def list
42
+ res = @client.post("/spaces/list")
43
+
44
+ Seam::Resources::Space.load_from_response(res.body["spaces"])
45
+ end
46
+
47
+ def remove_acs_entrances(acs_entrance_ids:, space_id:)
48
+ @client.post("/spaces/remove_acs_entrances", {acs_entrance_ids: acs_entrance_ids, space_id: space_id}.compact)
49
+
50
+ nil
51
+ end
52
+
53
+ def remove_devices(device_ids:, space_id:)
54
+ @client.post("/spaces/remove_devices", {device_ids: device_ids, space_id: space_id}.compact)
55
+
56
+ nil
57
+ end
58
+
59
+ def update(space_id:, name: nil)
60
+ res = @client.post("/spaces/update", {space_id: space_id, name: name}.compact)
61
+
62
+ Seam::Resources::Space.load_from_response(res.body["space"])
63
+ end
64
+ end
65
+ end
66
+ end
@@ -66,8 +66,8 @@ module Seam
66
66
  Helpers::ActionAttempt.decide_and_wait(Seam::Resources::ActionAttempt.load_from_response(res.body["action_attempt"]), @client, wait_for_action_attempt)
67
67
  end
68
68
 
69
- def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_ids: nil, device_ids: nil, device_type: nil, device_types: nil, exclude_if: nil, include_if: nil, limit: nil, manufacturer: nil, page_cursor: nil, unstable_location_id: nil, user_identifier_key: nil)
70
- res = @client.post("/thermostats/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_ids: customer_ids, device_ids: device_ids, device_type: device_type, device_types: device_types, exclude_if: exclude_if, include_if: include_if, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
69
+ def list(connect_webview_id: nil, connected_account_id: nil, connected_account_ids: nil, created_before: nil, custom_metadata_has: nil, customer_ids: nil, device_ids: nil, device_type: nil, device_types: nil, exclude_if: nil, include_if: nil, limit: nil, manufacturer: nil, page_cursor: nil, space_id: nil, unstable_location_id: nil, user_identifier_key: nil)
70
+ res = @client.post("/thermostats/list", {connect_webview_id: connect_webview_id, connected_account_id: connected_account_id, connected_account_ids: connected_account_ids, created_before: created_before, custom_metadata_has: custom_metadata_has, customer_ids: customer_ids, device_ids: device_ids, device_type: device_type, device_types: device_types, exclude_if: exclude_if, include_if: include_if, limit: limit, manufacturer: manufacturer, page_cursor: page_cursor, space_id: space_id, unstable_location_id: unstable_location_id, user_identifier_key: user_identifier_key}.compact)
71
71
 
72
72
  Seam::Resources::Device.load_from_response(res.body["devices"])
73
73
  end
@@ -108,8 +108,8 @@ module Seam
108
108
  nil
109
109
  end
110
110
 
111
- def update_climate_preset(climate_preset_key:, device_id:, manual_override_allowed:, cooling_set_point_celsius: nil, cooling_set_point_fahrenheit: nil, fan_mode_setting: nil, heating_set_point_celsius: nil, heating_set_point_fahrenheit: nil, hvac_mode_setting: nil, name: nil)
112
- @client.post("/thermostats/update_climate_preset", {climate_preset_key: climate_preset_key, device_id: device_id, manual_override_allowed: manual_override_allowed, cooling_set_point_celsius: cooling_set_point_celsius, cooling_set_point_fahrenheit: cooling_set_point_fahrenheit, fan_mode_setting: fan_mode_setting, heating_set_point_celsius: heating_set_point_celsius, heating_set_point_fahrenheit: heating_set_point_fahrenheit, hvac_mode_setting: hvac_mode_setting, name: name}.compact)
111
+ def update_climate_preset(climate_preset_key:, device_id:, cooling_set_point_celsius: nil, cooling_set_point_fahrenheit: nil, fan_mode_setting: nil, heating_set_point_celsius: nil, heating_set_point_fahrenheit: nil, hvac_mode_setting: nil, manual_override_allowed: nil, name: nil)
112
+ @client.post("/thermostats/update_climate_preset", {climate_preset_key: climate_preset_key, device_id: device_id, cooling_set_point_celsius: cooling_set_point_celsius, cooling_set_point_fahrenheit: cooling_set_point_fahrenheit, fan_mode_setting: fan_mode_setting, heating_set_point_celsius: heating_set_point_celsius, heating_set_point_fahrenheit: heating_set_point_fahrenheit, hvac_mode_setting: hvac_mode_setting, manual_override_allowed: manual_override_allowed, name: name}.compact)
113
113
 
114
114
  nil
115
115
  end
@@ -3,7 +3,7 @@
3
3
  module Seam
4
4
  module Resources
5
5
  class ConnectWebview < BaseResource
6
- attr_accessor :accepted_devices, :accepted_providers, :any_device_allowed, :any_provider_allowed, :automatically_manage_new_devices, :connect_webview_id, :connected_account_id, :custom_metadata, :custom_redirect_failure_url, :custom_redirect_url, :device_selection_mode, :login_successful, :selected_provider, :status, :url, :wait_for_device_creation, :workspace_id
6
+ attr_accessor :accepted_capabilities, :accepted_devices, :accepted_providers, :any_device_allowed, :any_provider_allowed, :automatically_manage_new_devices, :connect_webview_id, :connected_account_id, :custom_metadata, :custom_redirect_failure_url, :custom_redirect_url, :device_selection_mode, :login_successful, :selected_provider, :status, :url, :wait_for_device_creation, :workspace_id
7
7
 
8
8
  date_accessor :authorized_at, :created_at
9
9
  end
@@ -24,12 +24,12 @@ require_relative "enrollment_automation"
24
24
  require_relative "event"
25
25
  require_relative "instant_key"
26
26
  require_relative "magic_link"
27
- require_relative "network"
28
27
  require_relative "noise_threshold"
29
28
  require_relative "pagination"
30
29
  require_relative "phone"
31
30
  require_relative "phone_registration"
32
31
  require_relative "phone_session"
32
+ require_relative "space"
33
33
  require_relative "thermostat_schedule"
34
34
  require_relative "unmanaged_access_code"
35
35
  require_relative "unmanaged_acs_access_group"
@@ -2,8 +2,8 @@
2
2
 
3
3
  module Seam
4
4
  module Resources
5
- class Network < BaseResource
6
- attr_accessor :display_name, :network_id, :workspace_id
5
+ class Space < BaseResource
6
+ attr_accessor :display_name, :name, :space_id, :workspace_id
7
7
 
8
8
  date_accessor :created_at
9
9
  end
@@ -6,6 +6,14 @@ module Seam
6
6
  @access_codes ||= Seam::Clients::AccessCodes.new(client: @client, defaults: @defaults)
7
7
  end
8
8
 
9
+ def access_grants
10
+ @access_grants ||= Seam::Clients::AccessGrants.new(client: @client, defaults: @defaults)
11
+ end
12
+
13
+ def access_methods
14
+ @access_methods ||= Seam::Clients::AccessMethods.new(client: @client, defaults: @defaults)
15
+ end
16
+
9
17
  def acs
10
18
  @acs ||= Seam::Clients::Acs.new(client: @client, defaults: @defaults)
11
19
  end
@@ -46,6 +54,10 @@ module Seam
46
54
  @phones ||= Seam::Clients::Phones.new(client: @client, defaults: @defaults)
47
55
  end
48
56
 
57
+ def spaces
58
+ @spaces ||= Seam::Clients::Spaces.new(client: @client, defaults: @defaults)
59
+ end
60
+
49
61
  def thermostats
50
62
  @thermostats ||= Seam::Clients::Thermostats.new(client: @client, defaults: @defaults)
51
63
  end
data/lib/seam/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Seam
4
- VERSION = "2.26.0"
4
+ VERSION = "2.28.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seam
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.26.0
4
+ version: 2.28.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Seam Labs, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-06-06 00:00:00.000000000 Z
11
+ date: 2025-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -206,6 +206,8 @@ files:
206
206
  - lib/seam/routes/clients/access_codes.rb
207
207
  - lib/seam/routes/clients/access_codes_simulate.rb
208
208
  - lib/seam/routes/clients/access_codes_unmanaged.rb
209
+ - lib/seam/routes/clients/access_grants.rb
210
+ - lib/seam/routes/clients/access_methods.rb
209
211
  - lib/seam/routes/clients/acs.rb
210
212
  - lib/seam/routes/clients/acs_access_groups.rb
211
213
  - lib/seam/routes/clients/acs_credentials.rb
@@ -229,6 +231,7 @@ files:
229
231
  - lib/seam/routes/clients/noise_sensors_simulate.rb
230
232
  - lib/seam/routes/clients/phones.rb
231
233
  - lib/seam/routes/clients/phones_simulate.rb
234
+ - lib/seam/routes/clients/spaces.rb
232
235
  - lib/seam/routes/clients/thermostats.rb
233
236
  - lib/seam/routes/clients/thermostats_daily_programs.rb
234
237
  - lib/seam/routes/clients/thermostats_schedules.rb
@@ -257,7 +260,6 @@ files:
257
260
  - lib/seam/routes/resources/index.rb
258
261
  - lib/seam/routes/resources/instant_key.rb
259
262
  - lib/seam/routes/resources/magic_link.rb
260
- - lib/seam/routes/resources/network.rb
261
263
  - lib/seam/routes/resources/noise_threshold.rb
262
264
  - lib/seam/routes/resources/pagination.rb
263
265
  - lib/seam/routes/resources/phone.rb
@@ -267,6 +269,7 @@ files:
267
269
  - lib/seam/routes/resources/resource_errors_support.rb
268
270
  - lib/seam/routes/resources/resource_warning.rb
269
271
  - lib/seam/routes/resources/resource_warnings_support.rb
272
+ - lib/seam/routes/resources/space.rb
270
273
  - lib/seam/routes/resources/thermostat_schedule.rb
271
274
  - lib/seam/routes/resources/unmanaged_access_code.rb
272
275
  - lib/seam/routes/resources/unmanaged_acs_access_group.rb