rasn1 0.9.0 → 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|