commentbox 0.3.3 → 0.3.4

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/bin/cbwiz +22 -7
  3. data/lib/commentbox.rb +4 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8d885fdd08fd18ac60202587ef33d6fc5dc34927c41b3b21b9e29b9c3ad5942b
4
- data.tar.gz: 437d8fc15c5e66942db4b88cab58df28b6659653a7748f4044bab06efb2625ec
3
+ metadata.gz: d6e6ad58ee774761f75736dfa59521066e1891734a2cbec74735934787bd217b
4
+ data.tar.gz: ed56c9fc4b444ad98d8efb8ff466b4febae04120f6fdec4de3f44a886e61b455
5
5
  SHA512:
6
- metadata.gz: cb9910ad5f48e6122c282e6fd8547516b285d820776ab98105f4b2c4220ad6ed03044229034c590997997cbdccef3d1af9d35e6efae4fecba3c836d1e76da618
7
- data.tar.gz: dd9301199657470d285fddca65d7b908904b965ec69e99d04e331efb1ecf634270d545919135d7f1d788ec32bd291ef1c8b814d338a4744bef77b565dee0b4e4
6
+ metadata.gz: a696f49cdbc12e075d0a02743bd7c7ac5ead6ee337f9849b9e9ae3070393f8b6f2609943c137ab8216d7a1a19555d34fc441ad8d60572ac5d12e1bb26a090a9b
7
+ data.tar.gz: 8b2a64f47c07f8784afb7fbb5b3ab7cde81083e158559dc3b41eabd37f1777dc58a445818e0a482b123626beac7679dc113c5f728b8ca383cf0133049cc7c6ad
data/bin/cbwiz CHANGED
@@ -1,11 +1,15 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
+ # cbwiz - an executable tool for the commentbox ruby gem by Lenny
4
+ # it's read: Comment Box WhIZzer
5
+ # github.com/lennyitb/commentbox
6
+
3
7
  require 'commentbox'
4
8
 
5
- $HELP_MSG = %q(Usage: cbwiz [options] [text]
9
+ $HELP_MSG = %q(Usage: cbwiz [-t] text [options]
6
10
  Options:
7
11
  -t, --text [text] Text to be commented. Optional flag for first argument
8
- -a, --align [l1, l2...] Alignment of text: left, center, right
12
+ -a, --align [l1 l2...] Alignment of text: left, center, right
9
13
  -s, --style [style] Style of comment box: stub, window, parallax, zigzag, or money
10
14
  -p, --padding [padding] Padding of comment box
11
15
  -o, --offset [offset] Offset of comment box
@@ -19,16 +23,22 @@ def help_and_exit
19
23
  puts $HELP_MSG
20
24
  exit
21
25
  end
22
-
23
26
  if ARGV.empty?
24
- help_and_exit
27
+ puts "/* cbwiz - no arguments given. for help, use: cbwiz -h */"
28
+ exit
25
29
  end
30
+
26
31
  # if the :text parameter is first, the -t flag is optional
27
32
  mode = :text
28
33
  options = {}
29
34
  # for each argument:
30
- # if it's a switch, set the `mode` symbol
31
- # if it's a value, set/append to the coresponding `mode` key in `options`
35
+ # - if it's a switch, set the `mode` symbol
36
+ # - if it's a value, set/append to the coresponding `mode` key in `options`
37
+
38
+ # usually this type of code wouldn't be the best practice, but not only does it work well here--
39
+ # it's also a situation where the order of the arguments is an important piece, that we can't
40
+ # really get away from by writitng unnecicarily declarative code. With each iterative pass,
41
+ # we're either updating the mode, or using the value of mode we set before.
32
42
  ARGV.each do |arg|
33
43
  case arg
34
44
  when '-h', '--help', 'help', '-?', '--?'
@@ -53,14 +63,19 @@ ARGV.each do |arg|
53
63
  # although it remains possible to explicitly specify true
54
64
  options[:spacelines] = false
55
65
  else
66
+ # every argv that gets here is not a switch
56
67
  if options[mode].nil?
57
68
  options[mode] = arg
58
69
  else
59
- # hacky line to make sure anything with multiple arguments comes out as a flat array
70
+ # hacky line to make sure any switch with multiple arguments comes out as a flat array like so:
71
+ # -a left center right
72
+ # >> { alignment: ['left', 'center', 'right'] }
60
73
  options[mode] = ([ options[mode] ] << arg).flatten
61
74
  end
62
75
  end
63
76
  end
77
+ # make sure the :text key is a string
78
+ if options[:text].is_a? Array then options[:text] = options[:text].join(' ') end
64
79
  # finally, unescape newlines in text
65
80
  options[:text] = options[:text].gsub('\n', "\n")
66
81
 
data/lib/commentbox.rb CHANGED
@@ -1,4 +1,7 @@
1
1
 
2
+ # commentbox: a ruby gem for generating C/C++ formatted comment boxes
3
+ # github.com/lennyitb/commentbox
4
+
2
5
  module CommentBoxStyles
3
6
  DefaultParams = {
4
7
  style: :stub,
@@ -7,7 +10,7 @@ module CommentBoxStyles
7
10
  offset: 2,
8
11
  min_width: 0,
9
12
  spacelines: true,
10
- alignment: :left
13
+ alignment: :left
11
14
  }
12
15
  Styles = {
13
16
  stub: {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: commentbox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leonard H. Phelan IV
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-13 00:00:00.000000000 Z
11
+ date: 2023-01-20 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A little gem for generating pretty multiline comment boxes in C/C++ templates
14
14
  email: lenny@lenny.beer