alula-ruby 2.16.1 → 2.16.2

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: f3bf8e3477ce10c3045fe47f7bee7a445749338a08c22e49eec2ff49cb83e5b7
4
- data.tar.gz: de5f43338748af6a94922dcbb0eb9dd73bc3565cacbbce1a17f314906c9e97e0
3
+ metadata.gz: 476f5357c56b6b27930fb4fb2ac5018af21137c09cc38727cd6da09d791c827b
4
+ data.tar.gz: b5811b8a468f084e932d327989d5c470d2fcd0a49c205eaa7c1f32e044b8dfb3
5
5
  SHA512:
6
- metadata.gz: f6af1c562cce55dc4b361bb3ee2c36200b41e592302c50fbb935d5cd318c4db9aae3903631e8c48b4827016283b1497a437089aca4a17cc63756fc76a3f20402
7
- data.tar.gz: 5edda7ca58669ea7343659ffd21474841def738f544e04d3597c133c4409db33fb914aa79b0edd5e4bce7f2170bad8a8aa72ab80943f7cc32584e5d7ffbe0a1f
6
+ metadata.gz: 2d56635fc3bb86fb2e98642536293b55f1464beb6b777583fc10535d47536d043b69bc7aa2b6c49b4ec8dacc00d11b7fa3a8797efc3be353c534ca670c3a642c
7
+ data.tar.gz: 117a78e58825a0a2324f3af35f70f36a5bb8e888e113db8645e8e80015ba005c26ba29629c876a1f996ded186e1052adcae97fb10fe6c5112139543d06b886ad
data/VERSION.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  | Version | Date | Description |
4
4
  | ------- | ------------| --------------------------------------------------------------------------- |
5
+ | v2.16.2 | 2025-06-26 | Rename DCP fields, fix primitive arrays |
5
6
  | v2.16.1 | 2025-06-24 | Remove byebug usages |
6
7
  | v2.16.0 | 2025-06-18 | Add API config template and all DCP entities |
7
8
  | v2.15.1 | 2025-07-19 | Rename DCP-synchronizable fields to conform to the schema |
@@ -79,17 +79,26 @@ module Alula
79
79
  if opts[:use].superclass == Alula::Dcp::ObjectField
80
80
  opts[:use].new({}, field_name, value)
81
81
  elsif respond_to?(:device_id)
82
- opts[:use].new(device_id, value['index'], value)
82
+ opts[:use].new(device_id, value)
83
83
  else
84
- opts[:use].new(nil, nil, value)
84
+ opts[:use].new(nil, value)
85
85
  end
86
86
  elsif opts[:type] == :array && opts[:of]
87
- # Array of objects, each object is a new instance of the use class
88
- value.each_with_object([]) do |item, collector|
89
- if item.is_a?(Hash) && item['index']
90
- collector << opts[:of].new(device_id, item['index'], item)
91
- else
92
- collector << opts[:of].new(device_id, nil, item)
87
+ if primitive_use?(opts[:of])
88
+ # Array of primitives, e.g. :boolean, :number, :string
89
+ value.map do |item|
90
+ if opts[:of] == :boolean
91
+ [true, 'true', 1, '1'].include? item
92
+ elsif opts[:of] == :number
93
+ item.to_i
94
+ else
95
+ item
96
+ end
97
+ end
98
+ else
99
+ # Array of objects, each object is a new instance of the use class
100
+ value.each_with_object([]) do |item, collector|
101
+ collector << opts[:of].new(device_id, item)
93
102
  end
94
103
  end
95
104
  elsif opts[:type] == :boolean
@@ -136,6 +145,10 @@ module Alula
136
145
  def primitive?(resource)
137
146
  resource.class.get_fields[:primitive]
138
147
  end
148
+
149
+ def primitive_use?(opts_of)
150
+ %i[boolean number string].include?(opts_of)
151
+ end
139
152
  end
140
153
 
141
154
  class StagedState < ResourceState
@@ -19,9 +19,9 @@ module Alula
19
19
  type: :boolean
20
20
  field :restorals,
21
21
  type: :boolean
22
- field :zone_trouble_cr,
22
+ field :zone_trouble_c_r,
23
23
  type: :boolean
24
- field :partition_trouble_cr,
24
+ field :partition_trouble_c_r,
25
25
  type: :boolean
26
26
  field :opening_and_closing,
27
27
  type: :boolean
@@ -14,9 +14,9 @@ module Alula
14
14
 
15
15
  resource_name 'config/panelOptions/reportableEventTypesSystem'
16
16
 
17
- field :system_trouble_cr,
17
+ field :system_trouble_c_r,
18
18
  type: :boolean
19
- field :system_power_trouble_cr,
19
+ field :system_power_trouble_c_r,
20
20
  type: :boolean
21
21
  field :misc_events,
22
22
  type: :boolean
data/lib/alula/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Alula
4
- VERSION = '2.16.1'
4
+ VERSION = '2.16.2'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alula-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.16.1
4
+ version: 2.16.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Titus Johnson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-06-24 00:00:00.000000000 Z
11
+ date: 2025-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty