dcm 0.1.1 → 0.1.2

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: b613623728e572f05f4822b8e92b3d18e112fc584714a735157edbf6f29e5f5b
4
- data.tar.gz: bd431c15a15327e93a6f6895bda23bb57bc83e36d72d136ba16e265073064f86
3
+ metadata.gz: 6db7c49cb1da0de6bcd54718303b1e7336f07cc5745e08756e1e94b55046036b
4
+ data.tar.gz: 2278bcb9d4245fdfa89b999702e7c11b96bc3b8ef6028fbd2a7a275dabcc290d
5
5
  SHA512:
6
- metadata.gz: 1350a1f16577409915a3e9133b5c3423ca2ca5fe0ae12152f8b179ed8fa4e8e87b62adf8bdf526123aa5d17999c11d9ac09141a457798a2b34d7d21c5d1d7b1a
7
- data.tar.gz: a80746f80e153828639864963a4c2ad481e5670ec1befac94c81b5b3505acec21397c4b9eec99af388e23707e3bb6b4abddb9d87cf4caa41c4a6c6b4a3bc2aea
6
+ metadata.gz: d29a0eca7b6249f94e5cee2ac7c1806eb9278f80efcc40881801a9ccd55f2235b6070aa8ccb68b6fa451e998a87062094036717dc44eda2b99f78395945fd644
7
+ data.tar.gz: f45c51b8ad651ba05103c1870d660c4520e505a620e59f62941d68afaa4a58c91860cfbae344e8a128480e89a45d08e534c0ca93598115ae0a8b1e7dc4c050aa
data/lib/cli.rb CHANGED
@@ -23,7 +23,7 @@ module Dcm
23
23
 
24
24
  class CLI < Thor
25
25
 
26
- def help
26
+ def help(cmd)
27
27
  super
28
28
  puts <<~EOS
29
29
  Options:
@@ -38,6 +38,11 @@ module Dcm
38
38
  display_list(list: parse_file(file), detail: options[:oneline] ? :onelinefull : true)
39
39
  end
40
40
 
41
+ desc "json FILE", "Convert all labels in FILE to JSON"
42
+ def json(file=nil)
43
+ display_list(list: parse_file(file), format: :json)
44
+ end
45
+
41
46
  desc "new [SPEC]", "Create a new dcm from scratch"
42
47
  option :indented, aliases: ["-i"], type: :boolean, default: false
43
48
  def new(*spec)
@@ -51,7 +56,8 @@ module Dcm
51
56
  desc "liveview FILE", "Live search and view labels in FILE"
52
57
  def liveview(file=nil)
53
58
  list = parse_file(file)
54
- loop { LabelSelector.choose_from(list) }
59
+ selector = LabelSelector.new(list)
60
+ loop { selector.choose }
55
61
  end
56
62
 
57
63
  desc "creta2begu FILTER CODING FILE", "Convert a hierarchical DCM to a flat DCM"
@@ -88,7 +94,6 @@ module Dcm
88
94
  option :lab, type: :boolean, aliases: ["-l"]
89
95
  def list(file=nil)
90
96
  display_list(list: parse_file(file),
91
- detail: false,
92
97
  format: (options[:lab] ? :lab : :tty))
93
98
  end
94
99
 
@@ -280,14 +285,14 @@ module Dcm
280
285
  Ecu::LabelList.new([label])
281
286
  end
282
287
 
283
- def display_list(list:, detail:, format: :tty)
288
+ def display_list(list:, detail: false, format: :tty)
284
289
  case format
285
- when :tty
290
+ in :tty
286
291
  puts list.map { ListColorizer.call(_1.to_s(detail: detail)) }.join("\n")
287
- when :lab
292
+ in :lab
288
293
  puts list.to_lab
289
- else
290
- error "Unkown format #{format}"
294
+ in :json
295
+ puts list.to_json
291
296
  end
292
297
  end
293
298
 
data/lib/codinginfo.rb CHANGED
File without changes
data/lib/core_ext.rb CHANGED
File without changes
data/lib/diff_viewer.rb CHANGED
File without changes
data/lib/file_reader.rb CHANGED
File without changes
@@ -3,8 +3,13 @@ require_relative "selecta"
3
3
  require_relative "list_colorizer"
4
4
 
5
5
  class LabelSelector
6
- def self.choose_from(list)
7
- view = selecta(list)
6
+ def initialize(list)
7
+ @keys = list.map(&:name)
8
+ @values = list.map { |e| ListColorizer.call(e.to_s(detail: true)) }
9
+ end
10
+
11
+ def choose
12
+ view = selecta(@keys, @values)
8
13
  print view
9
14
  STDIN.gets
10
15
  rescue Interrupt => e
@@ -12,15 +17,12 @@ class LabelSelector
12
17
  exit 0
13
18
  end
14
19
 
15
- def self.selecta(list)
16
- clear_screen
17
- Selecta.new.main_api(keys: list.map(&:name),
18
- values: list.map { |e| ListColorizer.call(e.to_s(detail: true)) },
19
- options: { height: "full" })
20
+ def selecta(keys, values)
20
21
  clear_screen
22
+ Selecta.new.main_api(keys: keys, values: values, options: { height: "full" }).tap { clear_screen }
21
23
  end
22
24
 
23
- def self.clear_screen
25
+ def clear_screen
24
26
  print "\e[2J\e[H"
25
27
  end
26
28
  end
File without changes
File without changes
File without changes
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Dcm
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dcm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonas Mueller
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 2025-04-07 00:00:00.000000000 Z
11
+ date: 2025-04-30 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: automotive-ecu
@@ -15,14 +16,14 @@ dependencies:
15
16
  requirements:
16
17
  - - "~>"
17
18
  - !ruby/object:Gem::Version
18
- version: 0.2.0
19
+ version: 0.2.2
19
20
  type: :runtime
20
21
  prerelease: false
21
22
  version_requirements: !ruby/object:Gem::Requirement
22
23
  requirements:
23
24
  - - "~>"
24
25
  - !ruby/object:Gem::Version
25
- version: 0.2.0
26
+ version: 0.2.2
26
27
  - !ruby/object:Gem::Dependency
27
28
  name: thor
28
29
  requirement: !ruby/object:Gem::Requirement
@@ -187,6 +188,7 @@ homepage: https://sr.ht/~muellerj/dcm
187
188
  licenses:
188
189
  - MIT
189
190
  metadata: {}
191
+ post_install_message:
190
192
  rdoc_options: []
191
193
  require_paths:
192
194
  - lib
@@ -201,7 +203,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
201
203
  - !ruby/object:Gem::Version
202
204
  version: '0'
203
205
  requirements: []
204
- rubygems_version: 3.6.3
206
+ rubygems_version: 3.5.22
207
+ signing_key:
205
208
  specification_version: 4
206
209
  summary: A small wrapper around the automotive-ecu API handling DCM files
207
210
  test_files: []