cbor-diag 0.5.2 → 0.5.8

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: cae376f67f107a4ed6bb608651c4bec9cb0cfcd5c1358b550de3526f8f0074b4
4
- data.tar.gz: f8bb4444a580def29def96821f5bf6b66df06a7952a408b519f53d4588671b1a
3
+ metadata.gz: f7ce2154bebe9237e19250a539bbd30ef39834545bfd2a6e3300f21b1fab9d96
4
+ data.tar.gz: 5986f189ccf5d06fc90fda46890cbbc97768929355b039d823cb6046768c5cca
5
5
  SHA512:
6
- metadata.gz: 4959ea26cad2ed447d866a2c10ef7dac25e43719c5b79056fdfa6162277904798fa95be5029b6ba9eca51e707487c97fe9a9647cb4257e685eebf7ae5d3fa2b0
7
- data.tar.gz: ddf871f586e7d120bb0395a6c52eba584116640edf9f88eee85e7ac289543c346f244cd7dac01e466d169327672004a36a3a20fae14753fe4594ba59ef8209aa
6
+ metadata.gz: cdc1056ab81a9eb943ddcf1e63025634d51d61a3bd2f06bc98f10aa220b322fb5d0742e1511c8c144df9c0d1ce63be2d810e16395e15e2c48418c6bad9242950
7
+ data.tar.gz: 3e9e5ec91bce71170dae957881de0453b3d4841bfe3e5936f6600e8fc299190038cf6be591e3b3cfca186a93bd9170bf0ef15ae0bee4b425b213a9becec32910
@@ -1,7 +1,13 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'cbor-diagnostic'
3
3
 
4
+
5
+ if ARGV[0] == "-e"
6
+ embcbor = true
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: !!embcbor)
@@ -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,10 @@
1
+ #!/usr/bin/env ruby
2
+ require 'json'
3
+ require 'cbor-pure'
4
+
5
+ ARGF.binmode
6
+ i = ARGF.read
7
+ while i != ''
8
+ o, i = CBOR.decode_with_rest(i)
9
+ puts JSON.pretty_generate(o)
10
+ end
@@ -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
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env ruby
2
+ require 'psych.rb' # WTF
3
+ require 'yaml'
4
+ require 'cbor-pure'
5
+
6
+ class Array
7
+ def to_yaml_style()
8
+ all? {|x| Integer === x } && length < 20 ? :inline : super
9
+ end
10
+ end
11
+
12
+ ARGF.binmode
13
+ i = ARGF.read
14
+ while i != ''
15
+ o, i = CBOR.decode_with_rest(i)
16
+ puts YAML.dump(o)
17
+ end
18
+
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cbor-diag"
3
- s.version = "0.5.2"
3
+ s.version = "0.5.8"
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.2
4
+ version: 0.5.8
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-01-17 00:00:00.000000000 Z
11
+ date: 2020-12-23 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,6 +73,10 @@ executables:
59
73
  - cbor2json.rb
60
74
  - cbor2pretty.rb
61
75
  - cbor2yaml.rb
76
+ - cborleader2diag.rb
77
+ - cborseq2json.rb
78
+ - cborseq2neatjson.rb
79
+ - cborseq2yaml.rb
62
80
  - diag2cbor.rb
63
81
  - diag2pretty.rb
64
82
  - json2cbor.rb
@@ -73,6 +91,10 @@ files:
73
91
  - bin/cbor2json.rb
74
92
  - bin/cbor2pretty.rb
75
93
  - bin/cbor2yaml.rb
94
+ - bin/cborleader2diag.rb
95
+ - bin/cborseq2json.rb
96
+ - bin/cborseq2neatjson.rb
97
+ - bin/cborseq2yaml.rb
76
98
  - bin/diag2cbor.rb
77
99
  - bin/diag2pretty.rb
78
100
  - bin/json2cbor.rb
@@ -90,7 +112,7 @@ homepage: http://cbor.io/
90
112
  licenses:
91
113
  - Apache-2.0
92
114
  metadata: {}
93
- post_install_message:
115
+ post_install_message:
94
116
  rdoc_options: []
95
117
  require_paths:
96
118
  - lib
@@ -105,9 +127,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
105
127
  - !ruby/object:Gem::Version
106
128
  version: '0'
107
129
  requirements: []
108
- rubyforge_project:
109
- rubygems_version: 2.7.4
110
- signing_key:
130
+ rubygems_version: 3.1.4
131
+ signing_key:
111
132
  specification_version: 4
112
133
  summary: CBOR (Concise Binary Object Representation) diagnostic notation
113
134
  test_files: []