rasn1 0.9.0 → 0.10.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 +4 -4
- data/lib/rasn1/types/sequence.rb +1 -1
- data/lib/rasn1/types/sequence_of.rb +17 -8
- data/lib/rasn1/version.rb +1 -1
- data/lib/rasn1.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0d38c6038ef58e60eb51d02fc20416188918a736386c4273a713f1be2d2535a1
|
4
|
+
data.tar.gz: fd3b045acdd39707540c3909f24aa8a2e2ae6ed11e46339f90903b7ef96da0df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f21443bccf45e549a1999bedcef1858ff175ab9e65bdb09f048ad4723d4ac64be80338cbff491ddaf31654aabaa1ad567af4925edf24297e757a42c901684ff2
|
7
|
+
data.tar.gz: ad0a89d6a6d634b83fe89f45f64f327f5740f68be8dfe6ca143bcfcf028e387c9859ec665da82e5f0f8d3576133ef74cf63b24d511da19e2589a53909bcf95ce
|
data/lib/rasn1/types/sequence.rb
CHANGED
@@ -13,7 +13,8 @@ module RASN1
|
|
13
13
|
# # Create a SEQUENCE OF INTEGER
|
14
14
|
# seqof = RASN1::Types::SequenceOf.new(RASN1::Types::Integer)
|
15
15
|
# # Set integer values
|
16
|
-
# seqof.value = [1, 2, 3, 4]
|
16
|
+
# seqof.value = [1, 2, 3, 4].map { |i| RASN1::Types::Integer.new(value: i) }
|
17
|
+
# seqof << 5 # infer a RASN1::Types::Integer with given value
|
17
18
|
#
|
18
19
|
# == Use with {Constructed} types
|
19
20
|
# SEQUENCE OF may be used to create sequence of composed types. For example:
|
@@ -79,9 +80,13 @@ module RASN1
|
|
79
80
|
end
|
80
81
|
|
81
82
|
# Add an item to SEQUENCE OF
|
82
|
-
# @param [
|
83
|
+
# @param [Object] obj
|
84
|
+
# @note
|
85
|
+
# * if a SEQUENCE OF primitive type, +obj+ is an instance of primitive type or equivalent Ruby type
|
86
|
+
# * if a SEQUENCE OF composed type, +obj+ is an array of ruby type instances
|
87
|
+
# * if a SEQUENCE OF model, +obj+ is either a Model or a Hash
|
83
88
|
def <<(obj)
|
84
|
-
return
|
89
|
+
return push_primitive(obj) if of_type_class < Primitive
|
85
90
|
return push_composed_array(obj) if composed_of_type?
|
86
91
|
|
87
92
|
push_model(obj)
|
@@ -112,7 +117,7 @@ module RASN1
|
|
112
117
|
str << item.inspect(level)
|
113
118
|
str << "\n" unless str.end_with?("\n")
|
114
119
|
else
|
115
|
-
str << ' ' * level
|
120
|
+
str << (' ' * level) << "#{item.inspect}\n"
|
116
121
|
end
|
117
122
|
end
|
118
123
|
str
|
@@ -151,10 +156,14 @@ module RASN1
|
|
151
156
|
self.class.new(self.of_type)
|
152
157
|
end
|
153
158
|
|
154
|
-
def
|
155
|
-
|
156
|
-
|
157
|
-
|
159
|
+
def push_primitive(obj)
|
160
|
+
@value <<
|
161
|
+
case obj
|
162
|
+
when Primitive
|
163
|
+
obj
|
164
|
+
else
|
165
|
+
of_type_class.new(value: obj)
|
166
|
+
end
|
158
167
|
end
|
159
168
|
|
160
169
|
def push_composed_array(obj)
|
data/lib/rasn1/version.rb
CHANGED
data/lib/rasn1.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rasn1
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sylvain Daubert
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-03-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|