dcm 0.1.1 → 0.1.3

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: 14aa3349743e357647f3b9efafc6bdea27fff05b6cd6462641d84b07f1740465
4
+ data.tar.gz: a66d6ab49153fa77a67727a7ef09d79bc28a95b8152577c63591c87c69b4b2ad
5
5
  SHA512:
6
- metadata.gz: 1350a1f16577409915a3e9133b5c3423ca2ca5fe0ae12152f8b179ed8fa4e8e87b62adf8bdf526123aa5d17999c11d9ac09141a457798a2b34d7d21c5d1d7b1a
7
- data.tar.gz: a80746f80e153828639864963a4c2ad481e5670ec1befac94c81b5b3505acec21397c4b9eec99af388e23707e3bb6b4abddb9d87cf4caa41c4a6c6b4a3bc2aea
6
+ metadata.gz: 158fcbfe11485f82722f650b55e165586efd10e754323f7b4a7e45ad54fee55f0606a3fc2258d9ecb067b1962f9b3263f706e6541192e51b0418d17dcca3c11d
7
+ data.tar.gz: a6bf400e7e7089e92abd7730a0a153838f342d10cf108484bcde3b38ad27bbdd06fdc737a375d801e480754d8e6039ee30ddba9c152d15112218aac640b08d47
data/lib/cli.rb CHANGED
@@ -1,6 +1,8 @@
1
1
  require "rubygems"
2
2
  require "bundler"
3
3
 
4
+ $LOAD_PATH.unshift "../automotive-ecu/lib"
5
+
4
6
  require "ecu"
5
7
  require "thor"
6
8
  require "filesize"
@@ -23,7 +25,7 @@ module Dcm
23
25
 
24
26
  class CLI < Thor
25
27
 
26
- def help
28
+ def help(cmd)
27
29
  super
28
30
  puts <<~EOS
29
31
  Options:
@@ -38,6 +40,12 @@ module Dcm
38
40
  display_list(list: parse_file(file), detail: options[:oneline] ? :onelinefull : true)
39
41
  end
40
42
 
43
+ desc "json FILE", "Convert all labels in FILE to JSON"
44
+ option :pretty, type: :boolean, aliases: ["-p"]
45
+ def json(file=nil)
46
+ display_list(list: parse_file(file), format: :json, detail: options[:pretty])
47
+ end
48
+
41
49
  desc "new [SPEC]", "Create a new dcm from scratch"
42
50
  option :indented, aliases: ["-i"], type: :boolean, default: false
43
51
  def new(*spec)
@@ -51,7 +59,8 @@ module Dcm
51
59
  desc "liveview FILE", "Live search and view labels in FILE"
52
60
  def liveview(file=nil)
53
61
  list = parse_file(file)
54
- loop { LabelSelector.choose_from(list) }
62
+ selector = LabelSelector.new(list)
63
+ loop { selector.choose }
55
64
  end
56
65
 
57
66
  desc "creta2begu FILTER CODING FILE", "Convert a hierarchical DCM to a flat DCM"
@@ -88,7 +97,6 @@ module Dcm
88
97
  option :lab, type: :boolean, aliases: ["-l"]
89
98
  def list(file=nil)
90
99
  display_list(list: parse_file(file),
91
- detail: false,
92
100
  format: (options[:lab] ? :lab : :tty))
93
101
  end
94
102
 
@@ -280,14 +288,14 @@ module Dcm
280
288
  Ecu::LabelList.new([label])
281
289
  end
282
290
 
283
- def display_list(list:, detail:, format: :tty)
291
+ def display_list(list:, detail: false, format: :tty)
284
292
  case format
285
- when :tty
293
+ in :tty
286
294
  puts list.map { ListColorizer.call(_1.to_s(detail: detail)) }.join("\n")
287
- when :lab
295
+ in :lab
288
296
  puts list.to_lab
289
- else
290
- error "Unkown format #{format}"
297
+ in :json
298
+ puts list.to_json(detail)
291
299
  end
292
300
  end
293
301
 
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.3"
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.3
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.3
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.3
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: []