cbor-diag 0.5.3 → 0.5.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 219440f7c8efe521712a5ff6e8d86f1e376500d79171dc9a4ddc35cfbbd29aaf
4
- data.tar.gz: 80abd4c1066b9043fe545f1eb2d1f114b0fd7b0ee3f91cbcbe9c773380be05c8
3
+ metadata.gz: c881af90822830a91b0437b51dcc4f321c4672adf94bacea8e22b756ff87474c
4
+ data.tar.gz: 1c35d18f9f7df6690f4930e26da43e1f50282e0b227a8da0e905b86d262e9866
5
5
  SHA512:
6
- metadata.gz: d99f7141a3869988774d483b28da6173e243e32d977f6a4d9bd1180efaf9d83aa199a27adc37a3dcb1d8fec01329cb4ef3d0be176d0ce4c7ce57d399cd42bee5
7
- data.tar.gz: 261c34436a23e04ac2e8831946914585ca46464f5fd00eae106a51ca5340fc301519456bab25f893c368108742a567a72a4dcbe1bc4c6a0bc0c37e0726b13b27
6
+ metadata.gz: 75f6d9bccbb3f122f8873b7614b52c93a597f21447a42c9961c289611e22d00644a954307323213a0ec74ad003321fac1541499a8d1d7a0b30a262b57d014628
7
+ data.tar.gz: 19b4d359e3e3d9702e7aae54347e018c74999f11af36c7a88525885114ba82e4e8631287d4ab32ae344580d772c59ffe41a6f6144558e4430e04ca85e4f35b7d
@@ -1,7 +1,13 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'cbor-diagnostic'
3
3
 
4
+ options = ''
5
+ while /\A-([et]+)\z/ === ARGV[0]
6
+ options << $1
7
+ ARGV.shift
8
+ end
9
+
4
10
  ARGF.binmode
5
11
  i = ARGF.read
6
12
  o = CBOR.decode(i)
7
- puts o.cbor_diagnostic
13
+ puts o.cbor_diagnostic(try_decode_embedded: /e/ === options, bytes_as_text: /t/ === options)
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+ require 'cbor-diagnostic'
3
+
4
+ ARGF.binmode
5
+ i = ARGF.read
6
+ o,r = CBOR.decode_with_rest(i)
7
+ if r != ''
8
+ warn "** ignoring rest of #{r.bytesize} bytes after first CBOR data item"
9
+ end
10
+ puts o.cbor_diagnostic
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env ruby
2
+ require 'json'
3
+ require 'cbor-pure'
4
+ require 'neatjson'
5
+
6
+ ARGF.binmode
7
+ i = ARGF.read
8
+ while i != ''
9
+ o, i = CBOR.decode_with_rest(i)
10
+ puts JSON.neat_generate(o, after_comma: 1, after_colon: 1)
11
+ end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cbor-diag"
3
- s.version = "0.5.3"
3
+ s.version = "0.5.9"
4
4
  s.summary = "CBOR (Concise Binary Object Representation) diagnostic notation"
5
5
  s.description = %q{cbor-diag implements diagnostic notation for CBOR, RFC 7049}
6
6
  s.author = "Carsten Bormann"
@@ -19,4 +19,5 @@ Gem::Specification.new do |s|
19
19
  s.add_development_dependency 'bundler', '~>1'
20
20
  s.add_dependency 'treetop', '~>1'
21
21
  s.add_dependency 'json'
22
+ s.add_dependency 'neatjson'
22
23
  end
@@ -2265,7 +2265,7 @@ module CBOR_DIAG
2265
2265
  module B64string2
2266
2266
  #"
2267
2267
  def to_rb;
2268
- t = s.text_value.chars.each_slice(4).map(&:join)
2268
+ t = s.text_value.gsub(/\s/, '').chars.each_slice(4).map(&:join)
2269
2269
  if last = t[-1]
2270
2270
  last << "=" * (4 - last.size)
2271
2271
  end
@@ -2297,11 +2297,11 @@ module CBOR_DIAG
2297
2297
  i2, s2 = index, []
2298
2298
  s3, i3 = [], index
2299
2299
  loop do
2300
- if has_terminal?(@regexps[gr = '\A[0-9a-zA-Z_\\-+/]'] ||= Regexp.new(gr), :regexp, index)
2300
+ if has_terminal?(@regexps[gr = '\A[0-9a-zA-Z_\\-+/\\s]'] ||= Regexp.new(gr), :regexp, index)
2301
2301
  r4 = true
2302
2302
  @index += 1
2303
2303
  else
2304
- terminal_parse_failure('[0-9a-zA-Z_\\-+/]')
2304
+ terminal_parse_failure('[0-9a-zA-Z_\\-+/\\s]')
2305
2305
  r4 = nil
2306
2306
  end
2307
2307
  if r4
@@ -2315,11 +2315,11 @@ module CBOR_DIAG
2315
2315
  if r3
2316
2316
  s5, i5 = [], index
2317
2317
  loop do
2318
- if has_terminal?(@regexps[gr = '\A[=]'] ||= Regexp.new(gr), :regexp, index)
2318
+ if has_terminal?(@regexps[gr = '\A[=\\s]'] ||= Regexp.new(gr), :regexp, index)
2319
2319
  r6 = true
2320
2320
  @index += 1
2321
2321
  else
2322
- terminal_parse_failure('[=]')
2322
+ terminal_parse_failure('[=\\s]')
2323
2323
  r6 = nil
2324
2324
  end
2325
2325
  if r6
@@ -46,6 +46,20 @@ class String
46
46
  "(_ #{lengths.map{|l| r = self[pos, l].cbor_diagnostic(options); pos += l; r}.join(", ")})"
47
47
  else
48
48
  if encoding == Encoding::BINARY
49
+ if options[:try_decode_embedded] && self != ''
50
+ begin
51
+ rest = self
52
+ result = []
53
+ while rest != ''
54
+ dv, rest = CBOR.decode_with_rest(rest)
55
+ result << dv
56
+ end
57
+ return "<< #{result.map{|x| x.cbor_diagnostic(options)}.join(", ")} >>"
58
+ rescue RuntimeError => e
59
+ # that didn't work out, so continue with other options
60
+ # puts e.backtrace
61
+ end
62
+ end
49
63
  if options[:bytes_as_text] && (u8 = dup.force_encoding(Encoding::UTF_8)).valid_encoding?
50
64
  "'#{u8.cbor_diagnostic(options)[1..-2].gsub("'", "\\\\'")}'" # \' is a backref, so needs \\'
51
65
  else
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cbor-diag
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.5.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carsten Bormann
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-19 00:00:00.000000000 Z
11
+ date: 2021-01-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: neatjson
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  description: cbor-diag implements diagnostic notation for CBOR, RFC 7049
56
70
  email: cabo@tzi.org
57
71
  executables:
@@ -59,7 +73,9 @@ executables:
59
73
  - cbor2json.rb
60
74
  - cbor2pretty.rb
61
75
  - cbor2yaml.rb
76
+ - cborleader2diag.rb
62
77
  - cborseq2json.rb
78
+ - cborseq2neatjson.rb
63
79
  - cborseq2yaml.rb
64
80
  - diag2cbor.rb
65
81
  - diag2pretty.rb
@@ -75,7 +91,9 @@ files:
75
91
  - bin/cbor2json.rb
76
92
  - bin/cbor2pretty.rb
77
93
  - bin/cbor2yaml.rb
94
+ - bin/cborleader2diag.rb
78
95
  - bin/cborseq2json.rb
96
+ - bin/cborseq2neatjson.rb
79
97
  - bin/cborseq2yaml.rb
80
98
  - bin/diag2cbor.rb
81
99
  - bin/diag2pretty.rb
@@ -94,7 +112,7 @@ homepage: http://cbor.io/
94
112
  licenses:
95
113
  - Apache-2.0
96
114
  metadata: {}
97
- post_install_message:
115
+ post_install_message:
98
116
  rdoc_options: []
99
117
  require_paths:
100
118
  - lib
@@ -109,9 +127,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
127
  - !ruby/object:Gem::Version
110
128
  version: '0'
111
129
  requirements: []
112
- rubyforge_project:
113
- rubygems_version: 2.7.6
114
- signing_key:
130
+ rubygems_version: 3.2.3
131
+ signing_key:
115
132
  specification_version: 4
116
133
  summary: CBOR (Concise Binary Object Representation) diagnostic notation
117
134
  test_files: []