diskman 1.0.4 → 1.0.8

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: 9e3133484bdca2c1e75cfbff21426dfc7e1c53c239c8f531dfdd1540caeea021
4
- data.tar.gz: bbcb215cc6e8513113d28e8107dc9b7c589e0b1dd25b6625b6ac475713539918
3
+ metadata.gz: 6b601bff2adbe81099f2b8c279a9757a99d0afc8b62fbec38a8cff8140fb7b1f
4
+ data.tar.gz: 12579cdae49bf6a812e0a415ab7bc273f0106dee52880e2a2850c4f1ea9ad680
5
5
  SHA512:
6
- metadata.gz: 8d461a2f550f7e69a43e90d186be47a4b4609301031c1800ad8128275cf8a942dc82b1258e717bec95c06619a6f238367a2c9fc4bace2ce6d06783dddd7968e5
7
- data.tar.gz: 9f80ea8cae6cd60ed31b0bc742230342dc17ff7321985c85ad657d9a283fa5cef8534e4c240ecc1dc704d4b1ff417d5c18878674d1e4fdaa6ca20c5e704024f5
6
+ metadata.gz: 99c8eeb4df39180d09418c9b8707df8bb1413aaa4c6ec55a2f058a66ce017e1a2a51b12254a7461dbfc2215aa0138995fdcd7b179f7987116eed8826bd938ab5
7
+ data.tar.gz: 05051535ce5c6007a5e6372e7c779b73b48e6ea920a16e7876533063b0d9ed754a21f2a1e1f5ace6b015eb01654230f78ec18e8e2684c4d13237f3790aa7947b
data/bin/diskman CHANGED
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env ruby
2
2
  require_relative '../lib/diskman'
3
- include Diskman
4
-
5
3
  require 'docopt'
6
4
 
5
+ include Diskman # rubocop:disable Style/MixinUsage
6
+
7
7
  class Main
8
8
  def initialize(opts)
9
9
  @opts = opts
@@ -16,7 +16,6 @@ class Main
16
16
  def params
17
17
  @params ||= OpenStruct.new({
18
18
  version: @opts['--version'],
19
- help: @opts['--help'],
20
19
  list: @opts['--list'],
21
20
  write: @opts['write'],
22
21
  fdisk: @opts['fdisk'],
@@ -25,19 +24,11 @@ class Main
25
24
  })
26
25
  end
27
26
 
28
- def exit_usage
29
- puts DOCS
30
- exit 0
31
- end
32
-
33
- def exit_version
34
- puts Diskman::VERSION
35
- exit 0
36
- end
37
-
38
27
  def run
39
- exit_version if params.version
40
- exit_usage if params.help
28
+ if params.version
29
+ puts VERSION
30
+ exit
31
+ end
41
32
 
42
33
  if params.mkfs
43
34
  Command::Mkfs.new.run(list: params.list)
@@ -46,25 +37,25 @@ class Main
46
37
  elsif params.fdisk
47
38
  Command::Fdisk.new.run
48
39
  end
49
- rescue Interrupt => e
40
+ rescue Interrupt # rubocop:disable Lint/SuppressedException
50
41
  end
51
42
  end
52
43
 
53
- docs = <<~EOF
54
- #{'Usage:'.bold}
44
+ usage = <<~EOF
45
+ Usage:
55
46
  #{File.basename($0)} write <file>
56
47
  #{File.basename($0)} fdisk
57
- #{File.basename($0)} mkfs [ --list ]
48
+ #{File.basename($0)} mkfs [--list]
58
49
  #{File.basename($0)} ( --version | --help )
59
50
 
60
- #{'Options:'.bold}
61
- -v, --version Show version
62
- -h, --help Show this help
51
+ Options:
52
+ -v, --version Show version
53
+ -h, --help Show this help
63
54
  EOF
64
55
 
65
56
  begin
66
- Main.run(Docopt::docopt(docs, version: VERSION))
67
- rescue Docopt::Exit => e
68
- puts e.message
69
- exit 1
57
+ Main.run(Docopt.docopt(usage))
58
+ rescue Docopt::Exit
59
+ puts usage
60
+ exit 2
70
61
  end
@@ -30,13 +30,13 @@ module Diskman
30
30
  puts
31
31
 
32
32
  @items.each_with_index do |device, i|
33
- puts "%6d. %s" % [i + 1, device]
33
+ puts '%6d. %s' % [i + 1, device]
34
34
  end
35
35
 
36
36
  puts
37
37
 
38
38
  if @items.length == 1
39
- puts 'Press any key to select it.'
39
+ puts 'Press enter to select it.'
40
40
  $stdin.gets
41
41
  return @items.first
42
42
  end
@@ -3,7 +3,7 @@ module Command
3
3
  def run
4
4
  root_device = RootDevice.choose
5
5
  cmd = root_device.get_fdisk_command
6
- System.exec! cmd, safe: false
6
+ System.exec!(cmd, safe: false)
7
7
  end
8
8
  end
9
9
  end
@@ -22,7 +22,7 @@ module Command
22
22
  puts "Device: #{device.to_s.yellow}"
23
23
  puts "Command: #{cmd.yellow}"
24
24
 
25
- System.exec! cmd
25
+ System.exec!(cmd)
26
26
  end
27
27
  end
28
28
  end
@@ -1,7 +1,7 @@
1
1
  module Command
2
2
  class Write
3
3
  def run(file:)
4
- if !File.exists?(file)
4
+ if !File.exist?(file)
5
5
  puts ('Unable to read ' + file).red
6
6
  raise Interrupt
7
7
  end
@@ -10,13 +10,13 @@ module Command
10
10
  device = device.choose_with_partitions
11
11
 
12
12
  size = File.size(file)
13
- cmd = device.get_write_command(file, size)
13
+ cmd = device.get_write_command(file)
14
14
 
15
15
  puts "File: #{file.yellow} (#{System.bytes2human(size)})"
16
16
  puts "Device: #{device.to_s.yellow}"
17
17
  puts "Command: #{cmd.yellow}"
18
18
 
19
- System.exec! cmd
19
+ System.exec!(cmd)
20
20
  end
21
21
  end
22
22
  end
@@ -1,7 +1,7 @@
1
1
  module Diskman
2
2
  # Confirms whether the user wants to do something destructive.
3
3
  class Confirmer
4
- YES = 'YES'
4
+ YES = 'yes'
5
5
 
6
6
  def self.check!
7
7
  new.check!
@@ -9,7 +9,7 @@ module Diskman
9
9
 
10
10
  def check!
11
11
  puts
12
- puts 'Are you sure? Type "%s" if so.' % YES
12
+ puts 'Are you sure? Type "%s"' % YES
13
13
  puts
14
14
 
15
15
  print '> '
@@ -16,7 +16,7 @@ module Diskman
16
16
  'sudo mkfs.%s %s' % [fs, @path]
17
17
  end
18
18
 
19
- def get_write_command(path, bytes)
19
+ def get_write_command(path)
20
20
  dd = 'sudo dd if="%s" of="%s" bs=%dK status=progress'
21
21
  dd % [path, @path, 4096]
22
22
  end
@@ -27,8 +27,8 @@ module Diskman
27
27
 
28
28
  private
29
29
 
30
- def <=>(o)
31
- @path <=> o.path
30
+ def <=>(other)
31
+ @path <=> other.path
32
32
  end
33
33
  end
34
34
  end
@@ -35,7 +35,7 @@ module Diskman
35
35
  private
36
36
 
37
37
  def get_with_partitions
38
- Dir[@path + '*'].sort.map do |file|
38
+ Dir[@path + '*'].map do |file|
39
39
  file =~ %r[/dev/(.*)] && Device.new($1)
40
40
  end.sort
41
41
  end
@@ -45,7 +45,7 @@ module Diskman
45
45
  end
46
46
 
47
47
  def get_prop(name)
48
- file = "/sys/class/block/%s/%s" % [@name, name]
48
+ file = '/sys/class/block/%s/%s' % [@name, name]
49
49
  File.read(file).strip.gsub(/\s+/, ' ')
50
50
  end
51
51
 
@@ -15,7 +15,7 @@ module Diskman
15
15
  Confirmer.check! if safe
16
16
  prepare_sudo_session! if sudo
17
17
  puts
18
- exec cmd
18
+ exec(cmd)
19
19
  end
20
20
 
21
21
  # Convert bytes into a human-friendly representation.
@@ -26,7 +26,7 @@ module Diskman
26
26
  # advertised.
27
27
  k = 1000
28
28
 
29
- suffixes = ['T', 'G', 'M', 'K', 'B']
29
+ suffixes = %w[T G M K B]
30
30
 
31
31
  suffixes.each_with_index do |suffix, i|
32
32
  threshold = k ** (suffixes.length - i - 1)
@@ -1,3 +1,3 @@
1
1
  module Diskman
2
- VERSION = "1.0.4"
2
+ VERSION = '1.0.8'
3
3
  end
data/lib/diskman.rb CHANGED
@@ -5,7 +5,7 @@ require 'ostruct'
5
5
 
6
6
  module Diskman
7
7
  def self.root_dir
8
- File.expand_path('../..', __FILE__)
8
+ File.expand_path('..', __dir__)
9
9
  end
10
10
  end
11
11
 
metadata CHANGED
@@ -1,71 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: diskman
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - crdx
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-26 00:00:00.000000000 Z
11
+ date: 2021-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: require_all
14
+ name: colorize
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.0'
19
+ version: 0.8.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.0'
26
+ version: 0.8.1
27
27
  - !ruby/object:Gem::Dependency
28
- name: colorize
28
+ name: docopt
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.8.1
33
+ version: 0.6.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.8.1
40
+ version: 0.6.1
41
41
  - !ruby/object:Gem::Dependency
42
- name: docopt
42
+ name: require_all
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.6.1
47
+ version: '3.0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.6.1
54
+ version: '3.0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: simplecov
56
+ name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.17.0
61
+ version: '13.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.17.0
68
+ version: '13.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -81,21 +81,21 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '3.8'
83
83
  - !ruby/object:Gem::Dependency
84
- name: rake
84
+ name: simplecov
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '12.3'
89
+ version: 0.21.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '12.3'
97
- description:
98
- email:
96
+ version: 0.21.0
97
+ description:
98
+ email:
99
99
  executables:
100
100
  - diskman
101
101
  extensions: []
@@ -117,7 +117,7 @@ homepage: https://github.com/crdx/diskman
117
117
  licenses:
118
118
  - MIT
119
119
  metadata: {}
120
- post_install_message:
120
+ post_install_message:
121
121
  rdoc_options: []
122
122
  require_paths:
123
123
  - lib
@@ -125,15 +125,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
125
125
  requirements:
126
126
  - - ">="
127
127
  - !ruby/object:Gem::Version
128
- version: '0'
128
+ version: '3.0'
129
129
  required_rubygems_version: !ruby/object:Gem::Requirement
130
130
  requirements:
131
131
  - - ">="
132
132
  - !ruby/object:Gem::Version
133
133
  version: '0'
134
134
  requirements: []
135
- rubygems_version: 3.0.6
136
- signing_key:
135
+ rubygems_version: 3.2.21
136
+ signing_key:
137
137
  specification_version: 4
138
138
  summary: Interactive command line interface for safely managing disks
139
139
  test_files: []