solana-ruby-kit 7.1.1 → 7.1.1.1

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: 1e606f70ed09eacc4ad7ec919804b52657d9d2caaf72ae433060cb8bf3b35a2e
4
- data.tar.gz: d7256752b6cdae6e59a69e310718f9a3c242881a6aa5856ed8a81cae92f28c35
3
+ metadata.gz: fa006377351feaf52ae4b75a9979f21065d0ac039f0c5dd4d18a6dc9a916921b
4
+ data.tar.gz: 4802bb1454ed72fdca55b226f9fef75f4e766b183be91d69480a5ceddc6d3d66
5
5
  SHA512:
6
- metadata.gz: 7a4df93245a990edae1fd4548baa5c967cd7540c91ecc5366a8a9055f994d43243e33c7747bd4b2227f6fce548330d42061af1371ba3a84aaea25676d7d22f07
7
- data.tar.gz: 9bdbc5b7f93872b9bf7524f51d48a3868bc9439e598a5f6adc8847f0f9797e06a6747bd2e01c78b0998ab198967135e14d6f945124437b27997340aee466591d
6
+ metadata.gz: 345cfd37b9188dde96eb86dced69885c8de18290e97126ff4e8d328842d44a044d19a5c5e9e9d63124ad792b85b81b892f106b31fccc091dade697f298c91b0e
7
+ data.tar.gz: 1b8591236759f984c22122b810ee92796ff9542e6d4c1cba30837a5696e057fb0c065486463223812c0f8c41331389b4604833ebbcef69b53a377229dd5ce153
@@ -8,7 +8,11 @@ module Solana::Ruby::Kit
8
8
  module Bytes
9
9
  extend T::Sig
10
10
 
11
- module_function
11
+ # `extend self`, not `module_function`: both expose these as module
12
+ # methods, but module_function also marks the instance methods PRIVATE,
13
+ # and `Codecs extend Bytes` then inherits that privacy - which silently
14
+ # defeated the "directly available as Codecs.x" intent in codecs.rb.
15
+ extend self
12
16
 
13
17
  # Concatenate multiple binary strings into one.
14
18
  sig { params(byte_strings: String).returns(String) }
@@ -7,7 +7,11 @@ module Solana::Ruby::Kit
7
7
  module DataStructures
8
8
  extend T::Sig
9
9
 
10
- module_function
10
+ # `extend self`, not `module_function`: both expose these as module
11
+ # methods, but module_function also marks the instance methods PRIVATE,
12
+ # and `Codecs extend DataStructures` then inherits that privacy - which silently
13
+ # defeated the "directly available as Codecs.x" intent in codecs.rb.
14
+ extend self
11
15
 
12
16
  # Encode/decode a fixed ordered list of named fields.
13
17
  # +fields+ is an Array of [name, codec] pairs (name can be String or Symbol).
@@ -13,7 +13,11 @@ module Solana::Ruby::Kit
13
13
  module Numbers
14
14
  extend T::Sig
15
15
 
16
- module_function
16
+ # `extend self`, not `module_function`: both expose these as module
17
+ # methods, but module_function also marks the instance methods PRIVATE,
18
+ # and `Codecs extend Numbers` then inherits that privacy - which silently
19
+ # defeated the "directly available as Codecs.x" intent in codecs.rb.
20
+ extend self
17
21
 
18
22
  # ── Unsigned integers ────────────────────────────────────────────────────
19
23
 
@@ -9,7 +9,11 @@ module Solana::Ruby::Kit
9
9
  module Strings
10
10
  extend T::Sig
11
11
 
12
- module_function
12
+ # `extend self`, not `module_function`: both expose these as module
13
+ # methods, but module_function also marks the instance methods PRIVATE,
14
+ # and `Codecs extend Strings` then inherits that privacy - which silently
15
+ # defeated the "directly available as Codecs.x" intent in codecs.rb.
16
+ extend self
13
17
 
14
18
  # UTF-8 string codec.
15
19
  # When +size+ is given the encoded bytes are fixed to that length
@@ -16,7 +16,9 @@ require_relative 'codecs/data_structures'
16
16
 
17
17
  module Solana::Ruby::Kit
18
18
  module Codecs
19
- # Make number helpers directly available as Codecs.u8_codec etc.
19
+ # Makes the whole helper surface available as Codecs.u8_codec etc. This
20
+ # relies on each module using `extend self` rather than `module_function`
21
+ # - see the note in numbers.rb for why the distinction matters here.
20
22
  extend Numbers
21
23
  extend Strings
22
24
  extend DataStructures
@@ -4,7 +4,7 @@
4
4
  module Solana
5
5
  module Ruby
6
6
  module Kit
7
- VERSION = '7.1.1'
7
+ VERSION = '7.1.1.1'
8
8
  end
9
9
  end
10
10
  end
@@ -23,6 +23,12 @@ Gem::Specification.new do |spec|
23
23
  spec.files = Dir['lib/**/*.rb', 'lib/**/*.tt'] + ['LICENSE', 'README.md', 'solana-ruby-kit.gemspec']
24
24
  spec.extra_rdoc_files = ['LICENSE', 'README.md']
25
25
 
26
+ # `rpc_types/sol.rb` requires bigdecimal, which stopped being a default gem
27
+ # in Ruby 3.4. Without this the gem does not load at all on 3.4+; it went
28
+ # unnoticed because webmock -> crack pulls bigdecimal into development.
29
+ # Bounded rather than `~> 3.1` because 4.x is current and the only API used
30
+ # here is the Kernel#BigDecimal conversion, unchanged across both majors.
31
+ spec.add_dependency 'bigdecimal', '>= 3.1', '< 5'
26
32
  spec.add_dependency 'openssl', '~> 3.3'
27
33
  # Sorbet does not follow semver — the patch component is a build number, and the
28
34
  # runtime must track the compiler's series — so these are bounded at the minor level.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solana-ruby-kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.1
4
+ version: 7.1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Zupan, Idhra Inc.
@@ -9,6 +9,26 @@ bindir: bin
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: bigdecimal
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '3.1'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '5'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ version: '3.1'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '5'
12
32
  - !ruby/object:Gem::Dependency
13
33
  name: openssl
14
34
  requirement: !ruby/object:Gem::Requirement