alula-ruby 2.37.0 → 2.39.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: 1450a63f49d8034e80111ba70f6c569e0310d42821d896efcc8da07399cb7095
4
- data.tar.gz: 00b419ad4db16844dcdcc3916de4359503cc6155f054560f79ac4528b23e762c
3
+ metadata.gz: 19ec0ce09640a4db206cbbf844b66a56cbc8399beed727f868c6facd80290cf2
4
+ data.tar.gz: 1a77f5ca22cdb649c0c85a69c17fa5d718cc44b5fb51edb19ea9a001b0a44725
5
5
  SHA512:
6
- metadata.gz: 658cf9fac3dd66c4b15e6afbf387405631444eadf5492fb60bfeb059d95d02ac3a5ffb309d696d4b0d087867869df97d4225f0597eb56ebec8f84b9343c4b1de
7
- data.tar.gz: 8bdf701cf35947de8ff682085ac1628275696a1ffbb13dab694e2a6a2b26500fd53f8636204a79cf020f76b77b3eb6a9a60c34519a96a46ade4b883510771d18
6
+ metadata.gz: d9b3b9c315bf42f202e1aa781d5dccec7b4a2e292fc759f4ad2cb58a79182d43b887801fb0b836e59d28efe88fbad07d57c0957a2551abce5d0ddeec7f7fcda9
7
+ data.tar.gz: 9b8333920078b2411b026ee297f5dd3b8bc1fc5f11c135946cd4b03a9f5d46ef4c7ce072a3ab69c2dd998d96f277b7c64a677941ddace735b1555baf47a5c588
data/.circleci/config.yml CHANGED
@@ -46,12 +46,12 @@ jobs:
46
46
  echo "--- ipdapi logs ---"
47
47
  $COMPOSE logs --no-color --tail=200 ipdapi || true
48
48
  - run:
49
- name: Install Ruby 3.4.10
49
+ name: Install Ruby 4.0.6
50
50
  command: |
51
51
  wget -O ruby-install-0.9.3.tar.gz https://github.com/postmodern/ruby-install/releases/download/v0.9.3/ruby-install-0.9.3.tar.gz
52
52
  tar -xzvf ruby-install-0.9.3.tar.gz
53
53
  cd ruby-install-0.9.3 && sudo make install
54
- sudo ruby-install --system ruby 3.4.10
54
+ sudo ruby-install --system ruby 4.0.6
55
55
  # rbenv's shims precede /usr/local/bin, so without this the job runs rbenv's
56
56
  # global Ruby instead of the one installed above. Keep $PATH single-quoted
57
57
  # (shellcheck SC2016) so it expands when later steps source BASH_ENV.
@@ -62,16 +62,20 @@ jobs:
62
62
  name: Verify the expected Ruby is active
63
63
  command: |
64
64
  ruby -v
65
- ruby -e 'exit(RUBY_VERSION == "3.4.10")' || {
66
- echo "ERROR: expected Ruby 3.4.10, got $(ruby -v). which ruby: $(which ruby)"
65
+ ruby -e 'exit(RUBY_VERSION == "4.0.6")' || {
66
+ echo "ERROR: expected Ruby 4.0.6, got $(ruby -v). which ruby: $(which ruby)"
67
67
  exit 1
68
68
  }
69
- # The system gem dir is root-owned, so gems go in the workspace instead.
69
+ # Ruby 4.0 ships Bundler 4 by default, so assert rather than install. The system
70
+ # gem dir is root-owned, so gems go in the workspace instead.
70
71
  - run:
71
- name: Install bundler and gems
72
+ name: Install gems
72
73
  command: |
73
- sudo gem install bundler -v 4.0.18
74
74
  bundle -v
75
+ ruby -e 'require "bundler"; exit(Bundler::VERSION.start_with?("4."))' || {
76
+ echo "ERROR: expected Bundler 4.x, got $(bundle -v)"
77
+ exit 1
78
+ }
75
79
  bundle config set --local path vendor/bundle
76
80
  bundle install
77
81
  - run:
@@ -14,10 +14,10 @@ jobs:
14
14
 
15
15
  steps:
16
16
  - uses: actions/checkout@v2
17
- - name: Set up Ruby 3.4
17
+ - name: Set up Ruby 4.0
18
18
  uses: ruby/setup-ruby@v1
19
19
  with:
20
- ruby-version: '3.4.10'
20
+ ruby-version: '4.0.6'
21
21
 
22
22
  - name: Publish to GPR
23
23
  run: |
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.4.10
1
+ 4.0.6
data/Dockerfile CHANGED
@@ -1,6 +1,4 @@
1
- FROM ruby:3.4.10-alpine
2
-
3
- RUN gem install bundler -v 4.0.18
1
+ FROM ruby:4.0.6-alpine
4
2
 
5
3
  RUN apk add bash git build-base jq curl
6
4
 
data/Gemfile CHANGED
@@ -5,8 +5,6 @@ gemspec
5
5
 
6
6
  group :development do
7
7
  platforms :mri do
8
- gem "byebug"
9
8
  gem "pry"
10
- gem "pry-byebug"
11
9
  end
12
10
  end
data/VERSION.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  | Version | Date | Description |
4
4
  | ------- | ------------| --------------------------------------------------------------------------- |
5
+ | v2.39.0 | 2026-08-14 | Add support for new admin.token.get RPC |
6
+ | v2.38.0 | 2026-08-10 | Upgrade Ruby to 4.0.6; require Ruby >= 4.0; declare logger and base64; move ostruct to a dev dependency; drop byebug |
5
7
  | v2.37.0 | 2026-08-06 | Upgrade Ruby to 3.4.10 and Bundler to 4.0.18; raise minimum Ruby to 3.4 |
6
8
  | v2.36.1 | 2026-06-16 | Eliminated the polynomial-ReDoS backtracking pattern flagged by CodeQL |
7
9
  | v2.36.0 | 2026-06-16 | Upgrade httparty gem to v0.24 |
data/alula.gemspec CHANGED
@@ -7,7 +7,7 @@ require "alula/version"
7
7
  Gem::Specification.new do |spec|
8
8
  spec.name = "alula-ruby"
9
9
  spec.version = Alula::VERSION
10
- spec.required_ruby_version = ">= 3.4.0"
10
+ spec.required_ruby_version = ">= 4.0.0"
11
11
  spec.summary = "Ruby bindings for the Alula API"
12
12
 
13
13
  spec.authors = ["Titus Johnson"]
@@ -25,7 +25,11 @@ Gem::Specification.new do |spec|
25
25
  spec.require_paths = ["lib"]
26
26
 
27
27
  spec.add_dependency 'httparty', '~> 0.24'
28
- spec.add_dependency 'ostruct'
28
+ # logger and base64 are required by lib/ but are no longer default gems (base64
29
+ # since Ruby 3.4, logger since 4.0), so they must be declared or a consumer whose
30
+ # bundle lacks them gets a LoadError on `require 'alula'`.
31
+ spec.add_dependency 'base64'
32
+ spec.add_dependency 'logger'
29
33
  spec.add_dependency 'request_store', '~> 1.0'
30
34
 
31
35
  spec.add_development_dependency "activesupport"
@@ -35,6 +39,8 @@ Gem::Specification.new do |spec|
35
39
  spec.add_development_dependency "guard-rspec"
36
40
  #spec.add_development_dependency "nokogiri", "~> 1.16.7"
37
41
  spec.add_development_dependency "nokogiri", ">= 1.19", "< 1.20"
42
+ # OpenStruct is used only by specs and bin/genresource, never by lib/.
43
+ spec.add_development_dependency "ostruct"
38
44
  spec.add_development_dependency "rake", "~> 13.2"
39
45
  spec.add_development_dependency "rspec", "~> 3.13"
40
46
  spec.add_development_dependency "simplecov", "~> 0.22.0"
data/bin/docparse CHANGED
@@ -1,7 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require "./lib/parser"
4
- require "byebug"
5
4
  require "nokogiri"
6
5
  require "yaml"
7
6
  require "json"
data/bin/genresource CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require "./lib/parser"
4
- require "byebug"
4
+ require "ostruct"
5
5
  require "yaml"
6
6
  require "json"
7
7
  require 'active_support/inflector'
data/bin/testauth CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  require "bundler/setup"
4
4
  require "alula"
5
- require 'byebug'
6
5
  require 'dotenv/load'
7
6
 
8
7
 
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'date'
4
+
3
5
  module Alula
4
6
  module Dcp
5
7
  module ResourceAttributes
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'date'
4
+
3
5
  module Alula
4
6
  module Dcp
5
7
  class ResourceState
@@ -1,3 +1,5 @@
1
+ require 'erb'
2
+
1
3
  module HTTParty
2
4
  module HashConversions
3
5
  # @param key<Object> The key for the param.
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Alula
4
+ class AdminTokenGetProc < Alula::RpcResource
5
+ class Response < Alula::RpcResponse
6
+ end
7
+
8
+ def self.call
9
+ request(
10
+ http_method: :post,
11
+ path: '/rpc/v1/admin/token/get',
12
+ handler: Response,
13
+ payload: {}
14
+ )
15
+ end
16
+ end
17
+ end
@@ -1,3 +1,5 @@
1
+ require 'date'
2
+
1
3
  # A mixin pulled into ImportedResources with which to define resource methods
2
4
  module Alula
3
5
  module ResourceAttributes
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'time'
4
+
3
5
  require_relative '../helpers/jwt_helper'
4
6
 
5
7
  module Alula
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.37.0'
4
+ VERSION = '2.39.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alula-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.37.0
4
+ version: 2.39.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Titus Johnson
@@ -24,7 +24,21 @@ dependencies:
24
24
  - !ruby/object:Gem::Version
25
25
  version: '0.24'
26
26
  - !ruby/object:Gem::Dependency
27
- name: ostruct
27
+ name: base64
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ - !ruby/object:Gem::Dependency
41
+ name: logger
28
42
  requirement: !ruby/object:Gem::Requirement
29
43
  requirements:
30
44
  - - ">="
@@ -133,6 +147,20 @@ dependencies:
133
147
  - - "<"
134
148
  - !ruby/object:Gem::Version
135
149
  version: '1.20'
150
+ - !ruby/object:Gem::Dependency
151
+ name: ostruct
152
+ requirement: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: '0'
157
+ type: :development
158
+ prerelease: false
159
+ version_requirements: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ version: '0'
136
164
  - !ruby/object:Gem::Dependency
137
165
  name: rake
138
166
  requirement: !ruby/object:Gem::Requirement
@@ -255,6 +283,7 @@ files:
255
283
  - lib/alula/monkey_patches.rb
256
284
  - lib/alula/oauth.rb
257
285
  - lib/alula/pagination.rb
286
+ - lib/alula/procedures/admin_token_get_proc.rb
258
287
  - lib/alula/procedures/camera_format_sd_card_proc.rb
259
288
  - lib/alula/procedures/camera_get_chime_info_proc.rb
260
289
  - lib/alula/procedures/camera_get_firmware_version_proc.rb
@@ -412,14 +441,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
412
441
  requirements:
413
442
  - - ">="
414
443
  - !ruby/object:Gem::Version
415
- version: 3.4.0
444
+ version: 4.0.0
416
445
  required_rubygems_version: !ruby/object:Gem::Requirement
417
446
  requirements:
418
447
  - - ">="
419
448
  - !ruby/object:Gem::Version
420
449
  version: '0'
421
450
  requirements: []
422
- rubygems_version: 3.6.9
451
+ rubygems_version: 4.0.16
423
452
  specification_version: 4
424
453
  summary: Ruby bindings for the Alula API
425
454
  test_files: []