xdr 0.1.0 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +31 -0
  3. data/README.md +7 -2
  4. data/lib/xdr.rb +0 -1
  5. data/lib/xdr/concerns/converts_to_xdr.rb +47 -24
  6. data/lib/xdr/concerns/reads_bytes.rb +8 -0
  7. data/lib/xdr/dsl/enum.rb +1 -1
  8. data/lib/xdr/opaque.rb +1 -1
  9. data/lib/xdr/string.rb +1 -1
  10. data/lib/xdr/struct.rb +1 -1
  11. data/lib/xdr/union.rb +15 -6
  12. data/lib/xdr/var_opaque.rb +1 -1
  13. data/lib/xdr/version.rb +1 -1
  14. metadata +47 -133
  15. data/.gitignore +0 -15
  16. data/.travis.yml +0 -14
  17. data/.yardopts +0 -7
  18. data/Gemfile +0 -4
  19. data/Guardfile +0 -5
  20. data/Rakefile +0 -9
  21. data/examples/enum.rb +0 -30
  22. data/examples/struct.rb +0 -24
  23. data/examples/union.rb +0 -29
  24. data/spec/lib/xdr/array_spec.rb +0 -73
  25. data/spec/lib/xdr/bool_spec.rb +0 -43
  26. data/spec/lib/xdr/concerns/converts_to_xdr_spec.rb +0 -55
  27. data/spec/lib/xdr/concerns/reads_bytes_spec.rb +0 -31
  28. data/spec/lib/xdr/double_spec.rb +0 -38
  29. data/spec/lib/xdr/dsl/enum_spec.rb +0 -44
  30. data/spec/lib/xdr/dsl/struct_spec.rb +0 -29
  31. data/spec/lib/xdr/dsl/union_spec.rb +0 -69
  32. data/spec/lib/xdr/enum_spec.rb +0 -70
  33. data/spec/lib/xdr/float_spec.rb +0 -37
  34. data/spec/lib/xdr/hyper_spec.rb +0 -40
  35. data/spec/lib/xdr/int_spec.rb +0 -40
  36. data/spec/lib/xdr/opaque_spec.rb +0 -36
  37. data/spec/lib/xdr/option_spec.rb +0 -36
  38. data/spec/lib/xdr/quadruple_spec.rb +0 -14
  39. data/spec/lib/xdr/rpc/record_reader_spec.rb +0 -27
  40. data/spec/lib/xdr/string_spec.rb +0 -41
  41. data/spec/lib/xdr/struct_spec.rb +0 -101
  42. data/spec/lib/xdr/union_spec.rb +0 -248
  43. data/spec/lib/xdr/unsigned_hyper_spec.rb +0 -36
  44. data/spec/lib/xdr/unsigned_int_spec.rb +0 -36
  45. data/spec/lib/xdr/var_array_spec.rb +0 -71
  46. data/spec/lib/xdr/var_opaque_spec.rb +0 -43
  47. data/spec/lib/xdr/void_spec.rb +0 -46
  48. data/spec/spec_helper.rb +0 -15
  49. data/spec/support/matchers/eq_bytes.rb +0 -6
  50. data/xdr.gemspec +0 -29
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 567cdbd85c15a73c60ecfc68de35a015bf6cfb2d
4
- data.tar.gz: c2f57208097a04173a8785c6a77cb5a489afedf0
2
+ SHA256:
3
+ metadata.gz: 1f0a7d79379430aafb61eed9de69792863eae9f09d6879b9c45a6dfdf4899423
4
+ data.tar.gz: 4077d91ba3482d12749dfebfd8af588c8ed8a71ed0ffbc84328752f18bc6099c
5
5
  SHA512:
6
- metadata.gz: 646b2bb208e5b3edfc1ffa47425d4bde171e3745c9ce2a931da47861f41abc110862477baf62c205086f495eee61f27ec9a6053651aa7afc17152cfd6be742e0
7
- data.tar.gz: 46e9164a46f9a91d50b770986618c5ebf0796e5611b773a78c8706d24b9012aab09fe6e117bd583cb185484016d4d4a0186d57a2d57c7644745ebca13ec762a9
6
+ metadata.gz: '087033c3d5e43816556e6265b76892f64c193764af9342eec0e15e1ff615c2f1bed2ef1900d02fc6cd54afb3e158fe081b1a4b966fba019275d48e6c66cb14ac'
7
+ data.tar.gz: 01b99345355417827e4087075724186082f713c807612a4ac481a9d84bfefeb6bac31abc9819f0c807ce0d31296f2854dd055f03b4b17c1257c27feb0151e442
@@ -0,0 +1,31 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased](https://github.com/stellar/ruby-xdr/compare/v3.0.2...master)
9
+
10
+ ## [3.0.2](https://github.com/stellar/ruby-xdr/compare/v3.0.1...v3.0.2) - 2020-10-20
11
+ ### Changed
12
+ - Relax lower bound for ActiveSupport dependency to support usage in Rails 4.2 ((#12)[https://github.com/stellar/ruby-xdr/pull/12])
13
+
14
+ ### Fixed
15
+ - Fix non-bang arm accessors for XDR::Union ((#13)[https://github.com/stellar/ruby-xdr/pull/13])
16
+ - Fix .from_xdr encoding param to accept symbols ((#14)[https://github.com/stellar/ruby-xdr/pull/14])
17
+
18
+ ## [3.0.1](https://github.com/stellar/ruby-xdr/compare/v3.0.0...v3.0.1) - 2020-06-10
19
+ ### Added
20
+ - Add encoding parameter to Union#to_xdr ((#7)[https://github.com/stellar/ruby-xdr/pull/7]).
21
+
22
+ ### Fixed
23
+ - Padding bytes are now properly validated when reading xdr values. According to the XDR spec, padding must be zeros.
24
+
25
+ ## [1.0.0](https://github.com/stellar/ruby-xdr/compare/v0.1.0...v1.0.0) - 2015-10-02
26
+ ### Added
27
+ - the `to_xdr` helpers can take a second parameter that will encode the resulting output to hex or base64 when requested.
28
+ - the `from_xdr` helpers can take a second parameter that will trigger a decode from hex or base64 of the provided string before decoding from xdr.
29
+
30
+ ### Changed
31
+ - `from_xdr` raises an ArgumentError when the input data is not fully consumed
data/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # XDR, for Ruby
2
2
 
3
+ [![Build Status](https://travis-ci.org/stellar/ruby-xdr.svg?branch=master)](https://travis-ci.org/stellar/ruby-xdr)
4
+ [![Code Climate](https://codeclimate.com/github/stellar/ruby-xdr/badges/gpa.svg)](https://codeclimate.com/github/stellar/ruby-xdr)
5
+
3
6
  XDR is an open data format, specified in [RFC 4506](http://tools.ietf.org/html/rfc4506.html). This library provides a way to read and write XDR data from ruby. It can read/write all of the primitive XDR types and also provides facilities to define readers for the compound XDR types (enums, structs and unions)
4
7
 
5
8
  ## Installation
@@ -92,9 +95,11 @@ all of it's children by calling `load_all!` on the module.
92
95
 
93
96
  ## Code generation
94
97
 
95
- ruby-xdr by itself does not have any ability to parse XDR IDL files and produce a parser for your custom data types. Instead, that is the responsibility of [xdrgen](http://github.com/stellar/xdrgen). xdrgen will take your .x files and produce a set of ruby files that target this library to allow for your own custom types.
98
+ ruby-xdr by itself does not have any ability to parse XDR IDL files and produce a parser for your custom
99
+ data types. Instead, that is the responsibility of [xdrgen](http://github.com/stellar/xdrgen). `xdrgen` will
100
+ take your `.x` files and produce a set of ruby files that target this library to allow for your own custom types.
96
101
 
97
- See [ruby-stellar-base](http://github.com/stellar/ruby-stellar-base) for an example (check out the generated directory)
102
+ See [ruby-stellar-base](http://github.com/astroband/ruby-stellar-sdk/tree/master/base/generated) for an example.
98
103
 
99
104
  ## Contributing
100
105
 
data/lib/xdr.rb CHANGED
@@ -10,7 +10,6 @@ require "active_support/core_ext/hash/indifferent_access"
10
10
  require "active_support/core_ext/string/inflections"
11
11
  require "active_support/logger"
12
12
  require "active_support/ordered_hash"
13
- require "backports/2.1.0"
14
13
 
15
14
  module XDR
16
15
  extend ActiveSupport::Autoload
@@ -1,61 +1,84 @@
1
+ require 'base64'
2
+
1
3
  module XDR::Concerns::ConvertsToXDR
2
4
  include XDR::Concerns::ReadsBytes
3
5
 
4
6
  #
5
7
  # Serialized the provided `val` to xdr and writes it to `io`
6
- #
8
+ #
9
+ # @abstract
7
10
  # @param val [Object] The object to serialize
8
- # @param io [IO] an IO object to write to
9
- #
11
+ # @param io [#write] an IO object to write to
12
+ # @return [void]
10
13
  def write(val, io)
11
14
  raise NotImplementedError, "implement in including class"
12
15
  end
13
16
 
14
17
  #
15
18
  # Reads from the provided IO an instance of the implementing class
16
- # @param io [IO] the io to read from
17
- #
19
+ #
20
+ # @abstract
21
+ # @param io [#read] the io to read from
18
22
  # @return [Object] the deserialized value
19
23
  def read(io)
20
24
  raise NotImplementedError, "implement in including class"
21
25
  end
22
26
 
23
- #
24
27
  # Returns true if the value provided is compatible with this serializer class
25
- #
28
+ #
29
+ # @abstract
26
30
  # @param value [Object] the value to test
27
- #
28
31
  # @return [Boolean] true if valid, false otherwise
29
32
  def valid?(value)
30
33
  raise NotImplementedError, "implement in including class"
31
34
  end
32
-
33
- #
35
+
34
36
  # Serialized the provided val to xdr, returning a string
35
37
  # of the serialized data
36
38
  #
37
39
  # @param val [Object] the value to serialize
38
- #
40
+ # @param encoding [:raw|:hex|:base64] encode the result with specified codec
39
41
  # @return [String] the produced bytes
40
- def to_xdr(val)
41
- StringIO.
42
- new.
43
- tap{|io| write(val, io)}.
44
- string.force_encoding("ASCII-8BIT")
42
+ def to_xdr(val, encoding = "raw")
43
+ io = StringIO.new
44
+ write(val, io)
45
+ raw = io.string.force_encoding("ASCII-8BIT")
46
+
47
+ case String(encoding)
48
+ when "raw" then raw
49
+ when "hex" then raw.unpack("H*").first
50
+ when "base64" then Base64.strict_encode64(raw)
51
+ else
52
+ raise ArgumentError, "Invalid encoding #{encoding.inspect}: must be 'raw', 'base64', or 'hex'"
53
+ end
45
54
  end
46
-
47
- #
55
+
48
56
  # Deserializes an object from the provided string of bytes
49
- #
57
+ #
50
58
  # @param string [String] the bytes to read from
51
- #
59
+ # @param encoding [:raw|:hex|:base64] decode the input before deserialization
52
60
  # @return [Object] the deserialized value
53
- def from_xdr(string)
54
- io = StringIO.new(string)
55
- read(io)
61
+ def from_xdr(string, encoding = "raw")
62
+ raw = case String(encoding)
63
+ when "raw" then string
64
+ when "hex" then [string].pack("H*")
65
+ when "base64" then Base64.strict_decode64(string)
66
+ else
67
+ raise ArgumentError, "Invalid encoding #{encoding.inspect}: must be 'raw', 'base64', or 'hex'"
68
+ end
69
+
70
+ io = StringIO.new(raw)
71
+ result = read(io)
72
+
73
+ if io.pos != io.length
74
+ raise ArgumentError, "Input string not fully consumed! are you decoding the right xdr type?"
75
+ end
76
+
77
+ result
56
78
  end
57
79
 
58
80
  private
81
+
59
82
  def padding_for(length)
60
83
  case length % 4
61
84
  when 0 ; 0
@@ -64,4 +87,4 @@ module XDR::Concerns::ConvertsToXDR
64
87
  when 3 ; 1
65
88
  end
66
89
  end
67
- end
90
+ end
@@ -5,4 +5,12 @@ module XDR::Concerns::ReadsBytes
5
5
  raise EOFError if bytes.nil? || bytes.length != length
6
6
  end
7
7
  end
8
+
9
+ def read_zeros(io, length)
10
+ read_bytes(io, length).each_byte do |byte|
11
+ raise XDR::ReadError unless byte == 0
12
+ end
13
+
14
+ nil
15
+ end
8
16
  end
@@ -2,7 +2,7 @@ module XDR::DSL::Enum
2
2
 
3
3
  def member(name, value)
4
4
  raise ArgumentError, "#{self} is sealed" if self.sealed
5
- raise ArgumentError, "#{value} is not Fixnum" unless value.is_a?(Fixnum)
5
+ raise ArgumentError, "#{value} is not Integer" unless value.is_a?(Integer)
6
6
  raise ArgumentError, "#{value} is already used" unless
7
7
 
8
8
  name = name.to_s.underscore
@@ -12,7 +12,7 @@ class XDR::Opaque
12
12
  def read(io)
13
13
  # read and return @length bytes
14
14
  # throw away @padding bytes
15
- read_bytes(io, @length).tap{ read_bytes(io, @padding) }
15
+ read_bytes(io, @length).tap{ read_zeros(io, @padding) }
16
16
  end
17
17
 
18
18
  def write(val,io)
@@ -31,6 +31,6 @@ class XDR::String
31
31
 
32
32
  # read and return length bytes
33
33
  # throw away padding bytes
34
- read_bytes(io, length).tap{ read_bytes(io, padding) }
34
+ read_bytes(io, length).tap{ read_zeros(io, padding) }
35
35
  end
36
36
  end
@@ -74,7 +74,7 @@ class XDR::Struct
74
74
  end
75
75
 
76
76
  def hash
77
- [self.class, self.attribues].hash
77
+ [self.class, self.attributes].hash
78
78
  end
79
79
 
80
80
  def read_attribute(attr)
@@ -75,8 +75,14 @@ class XDR::Union
75
75
  set(switch, value) unless switch == :__unset__
76
76
  end
77
77
 
78
- def to_xdr
79
- self.class.to_xdr self
78
+ #
79
+ # Serializes struct to xdr, return a string of bytes
80
+ #
81
+ # @param format=:raw [Symbol] The encoding used for the bytes produces, one of (:raw, :hex, :base64)
82
+ #
83
+ # @return [String] The encoded bytes of this struct
84
+ def to_xdr(format=:raw)
85
+ self.class.to_xdr(self, format)
80
86
  end
81
87
 
82
88
  def set(switch, value=:void)
@@ -96,14 +102,17 @@ class XDR::Union
96
102
 
97
103
  alias get value
98
104
 
99
- def attribute!(attr)
100
- if @arm.to_s != attr
101
- raise XDR::ArmNotSetError, "#{attr} is not the set arm"
102
- end
105
+ def attribute(attr)
106
+ return nil unless @arm.to_s == attr
103
107
 
104
108
  get
105
109
  end
106
110
 
111
+ def attribute!(attr)
112
+ raise XDR::ArmNotSetError, "#{attr} is not the set arm" unless @arm.to_s == attr
113
+
114
+ get
115
+ end
107
116
 
108
117
  #
109
118
  # Compares two unions for equality
@@ -31,6 +31,6 @@ class XDR::VarOpaque
31
31
 
32
32
  # read and return length bytes
33
33
  # throw away padding bytes
34
- read_bytes(io, length).tap{ read_bytes(io, padding) }
34
+ read_bytes(io, length).tap{ read_zeros(io, padding) }
35
35
  end
36
36
  end
@@ -1,3 +1,3 @@
1
1
  module XDR
2
- VERSION = "0.1.0"
2
+ VERSION = "3.0.2"
3
3
  end
metadata CHANGED
@@ -1,145 +1,110 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xdr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 3.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Fleckenstein
8
- autorequire:
9
- bindir: bin
8
+ autorequire:
9
+ bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-24 00:00:00.000000000 Z
11
+ date: 2020-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '4.2'
20
+ - - "<"
18
21
  - !ruby/object:Gem::Version
19
- version: '4'
22
+ version: '7.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '4.2'
30
+ - - "<"
25
31
  - !ruby/object:Gem::Version
26
- version: '4'
32
+ version: '7.0'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: activemodel
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '4'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
37
+ - - ">="
39
38
  - !ruby/object:Gem::Version
40
- version: '4'
41
- - !ruby/object:Gem::Dependency
42
- name: backports
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
39
+ version: '4.2'
40
+ - - "<"
46
41
  - !ruby/object:Gem::Version
47
- version: '3.6'
42
+ version: '7.0'
48
43
  type: :runtime
49
44
  prerelease: false
50
45
  version_requirements: !ruby/object:Gem::Requirement
51
46
  requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '3.6'
55
- - !ruby/object:Gem::Dependency
56
- name: bundler
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
47
+ - - ">="
60
48
  - !ruby/object:Gem::Version
61
- version: '1.7'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
49
+ version: '4.2'
50
+ - - "<"
67
51
  - !ruby/object:Gem::Version
68
- version: '1.7'
52
+ version: '7.0'
69
53
  - !ruby/object:Gem::Dependency
70
54
  name: rake
71
55
  requirement: !ruby/object:Gem::Requirement
72
56
  requirements:
73
57
  - - "~>"
74
58
  - !ruby/object:Gem::Version
75
- version: '10.0'
59
+ version: '13.0'
76
60
  type: :development
77
61
  prerelease: false
78
62
  version_requirements: !ruby/object:Gem::Requirement
79
63
  requirements:
80
64
  - - "~>"
81
65
  - !ruby/object:Gem::Version
82
- version: '10.0'
66
+ version: '13.0'
83
67
  - !ruby/object:Gem::Dependency
84
68
  name: rspec
85
69
  requirement: !ruby/object:Gem::Requirement
86
70
  requirements:
87
71
  - - "~>"
88
72
  - !ruby/object:Gem::Version
89
- version: '3.1'
73
+ version: '3.0'
90
74
  type: :development
91
75
  prerelease: false
92
76
  version_requirements: !ruby/object:Gem::Requirement
93
77
  requirements:
94
78
  - - "~>"
95
79
  - !ruby/object:Gem::Version
96
- version: '3.1'
97
- - !ruby/object:Gem::Dependency
98
- name: guard-rspec
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
80
+ version: '3.0'
111
81
  - !ruby/object:Gem::Dependency
112
82
  name: simplecov
113
83
  requirement: !ruby/object:Gem::Requirement
114
84
  requirements:
115
- - - ">="
85
+ - - "~>"
116
86
  - !ruby/object:Gem::Version
117
- version: '0'
87
+ version: '0.19'
118
88
  type: :development
119
89
  prerelease: false
120
90
  version_requirements: !ruby/object:Gem::Requirement
121
91
  requirements:
122
- - - ">="
92
+ - - "~>"
123
93
  - !ruby/object:Gem::Version
124
- version: '0'
125
- description:
94
+ version: '0.19'
95
+ description:
126
96
  email:
127
97
  - scott@stellar.org
128
98
  executables: []
129
99
  extensions: []
130
- extra_rdoc_files: []
100
+ extra_rdoc_files:
101
+ - README.md
102
+ - LICENSE.txt
103
+ - CHANGELOG.md
131
104
  files:
132
- - ".gitignore"
133
- - ".travis.yml"
134
- - ".yardopts"
135
- - Gemfile
136
- - Guardfile
105
+ - CHANGELOG.md
137
106
  - LICENSE.txt
138
107
  - README.md
139
- - Rakefile
140
- - examples/enum.rb
141
- - examples/struct.rb
142
- - examples/union.rb
143
108
  - lib/xdr.rb
144
109
  - lib/xdr/array.rb
145
110
  - lib/xdr/bool.rb
@@ -176,38 +141,15 @@ files:
176
141
  - lib/xdr/var_opaque.rb
177
142
  - lib/xdr/version.rb
178
143
  - lib/xdr/void.rb
179
- - spec/lib/xdr/array_spec.rb
180
- - spec/lib/xdr/bool_spec.rb
181
- - spec/lib/xdr/concerns/converts_to_xdr_spec.rb
182
- - spec/lib/xdr/concerns/reads_bytes_spec.rb
183
- - spec/lib/xdr/double_spec.rb
184
- - spec/lib/xdr/dsl/enum_spec.rb
185
- - spec/lib/xdr/dsl/struct_spec.rb
186
- - spec/lib/xdr/dsl/union_spec.rb
187
- - spec/lib/xdr/enum_spec.rb
188
- - spec/lib/xdr/float_spec.rb
189
- - spec/lib/xdr/hyper_spec.rb
190
- - spec/lib/xdr/int_spec.rb
191
- - spec/lib/xdr/opaque_spec.rb
192
- - spec/lib/xdr/option_spec.rb
193
- - spec/lib/xdr/quadruple_spec.rb
194
- - spec/lib/xdr/rpc/record_reader_spec.rb
195
- - spec/lib/xdr/string_spec.rb
196
- - spec/lib/xdr/struct_spec.rb
197
- - spec/lib/xdr/union_spec.rb
198
- - spec/lib/xdr/unsigned_hyper_spec.rb
199
- - spec/lib/xdr/unsigned_int_spec.rb
200
- - spec/lib/xdr/var_array_spec.rb
201
- - spec/lib/xdr/var_opaque_spec.rb
202
- - spec/lib/xdr/void_spec.rb
203
- - spec/spec_helper.rb
204
- - spec/support/matchers/eq_bytes.rb
205
- - xdr.gemspec
206
144
  homepage: https://github.com/stellar/ruby-xdr
207
145
  licenses:
208
- - Apache 2.0
209
- metadata: {}
210
- post_install_message:
146
+ - Apache-2.0
147
+ metadata:
148
+ bug_tracker_uri: https://github.com/stellar/ruby-xdr/issues
149
+ changelog_uri: https://github.com/stellar/ruby-xdr/blob/v3.0.2/CHANGELOG.md
150
+ documentation_uri: https://rubydoc.info/gems/xdr/3.0.2/
151
+ source_code_uri: https://github.com/stellar/ruby-xdr/tree/v3.0.2
152
+ post_install_message:
211
153
  rdoc_options: []
212
154
  require_paths:
213
155
  - lib
@@ -215,43 +157,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
215
157
  requirements:
216
158
  - - ">="
217
159
  - !ruby/object:Gem::Version
218
- version: '0'
160
+ version: 2.4.0
219
161
  required_rubygems_version: !ruby/object:Gem::Requirement
220
162
  requirements:
221
163
  - - ">="
222
164
  - !ruby/object:Gem::Version
223
165
  version: '0'
224
166
  requirements: []
225
- rubyforge_project:
226
- rubygems_version: 2.2.2
227
- signing_key:
167
+ rubygems_version: 3.1.4
168
+ signing_key:
228
169
  specification_version: 4
229
170
  summary: XDR Helper Library
230
- test_files:
231
- - spec/lib/xdr/array_spec.rb
232
- - spec/lib/xdr/bool_spec.rb
233
- - spec/lib/xdr/concerns/converts_to_xdr_spec.rb
234
- - spec/lib/xdr/concerns/reads_bytes_spec.rb
235
- - spec/lib/xdr/double_spec.rb
236
- - spec/lib/xdr/dsl/enum_spec.rb
237
- - spec/lib/xdr/dsl/struct_spec.rb
238
- - spec/lib/xdr/dsl/union_spec.rb
239
- - spec/lib/xdr/enum_spec.rb
240
- - spec/lib/xdr/float_spec.rb
241
- - spec/lib/xdr/hyper_spec.rb
242
- - spec/lib/xdr/int_spec.rb
243
- - spec/lib/xdr/opaque_spec.rb
244
- - spec/lib/xdr/option_spec.rb
245
- - spec/lib/xdr/quadruple_spec.rb
246
- - spec/lib/xdr/rpc/record_reader_spec.rb
247
- - spec/lib/xdr/string_spec.rb
248
- - spec/lib/xdr/struct_spec.rb
249
- - spec/lib/xdr/union_spec.rb
250
- - spec/lib/xdr/unsigned_hyper_spec.rb
251
- - spec/lib/xdr/unsigned_int_spec.rb
252
- - spec/lib/xdr/var_array_spec.rb
253
- - spec/lib/xdr/var_opaque_spec.rb
254
- - spec/lib/xdr/void_spec.rb
255
- - spec/spec_helper.rb
256
- - spec/support/matchers/eq_bytes.rb
257
- has_rdoc:
171
+ test_files: []