runfile 0.11.1 → 0.11.2

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: 74c9de556322b0b955c4f7e2130253d3201f726c30d111fd04ebbac04552463d
4
- data.tar.gz: 8aace481e65512a3dd9b8be468d8dd02adfb4811597d50ec9b57c1f296088da7
3
+ metadata.gz: f1e4e930d902a8bb8db9d283e1cf7c33fb26c5e1dfdf77b03d5be0a3acc01609
4
+ data.tar.gz: cf2bf1976c2dee358a8bbd2b9465b871bc6c9630c0ca7f091000b2464615370c
5
5
  SHA512:
6
- metadata.gz: 3f17e81d22aa4916c9d83490b9cc8e45a7f81f60308ab166683e0929e051f17d2f546a5d3188e2a41877c94798c4f533b0813b6e0f1de16d40b6efec97e3f557
7
- data.tar.gz: 281b1656caf9f2abaf49fcc03ac831fd8e6f4af41dde1c2b1fd641729cc97c08390fdf686535ec208e717bdf05abe5a8e614d26d178ed04da56fc81db9873ba1
6
+ metadata.gz: 9eaadbedb085b6a8ef13078327b2260c82fc86baebf2292868eb7d37c166206e8b529a82a67e39fbe3a1087271308d5f750ff07bea8c515e9b065d7e413cdf65
7
+ data.tar.gz: f837dd093b39741dabc2e67813bcd21f9ff7bdac3b52cb90990fe9b568f90801e5c344e697224ddce095af478fc7e92ace4d5be8867c97827b4627f93dd7535e
@@ -23,6 +23,7 @@ module Runfile
23
23
  @actions = options.actions
24
24
  @options = options.options
25
25
  @params = options.params
26
+ @env_vars = options.env_vars
26
27
  @examples = options.examples
27
28
  end
28
29
 
@@ -37,6 +38,7 @@ module Runfile
37
38
  doc += docopt_commands width
38
39
  doc += docopt_options width
39
40
  doc += docopt_params width
41
+ doc += docopt_env_vars width
40
42
  doc += docopt_examples width
41
43
  doc.join "\n"
42
44
  end
@@ -84,6 +86,11 @@ module Runfile
84
86
  section_block @params, width
85
87
  end
86
88
 
89
+ # Return all docopt params for 'Environment Variables' section
90
+ def docopt_env_vars(width)
91
+ section_block @env_vars, width
92
+ end
93
+
87
94
  # Return all docopt lines for the 'Examples' section
88
95
  def docopt_examples(width)
89
96
  return [] if @examples.empty?
@@ -49,6 +49,12 @@ module Runfile
49
49
  Runner.instance.add_param name, text, scope
50
50
  end
51
51
 
52
+ # Set an environment variable (can be called multiple times)
53
+ # env_var 'USER', 'Set the user (same as --user)'
54
+ def env_var(name, text, scope = nil)
55
+ Runner.instance.add_env_var name, text, scope
56
+ end
57
+
52
58
  # Set an example command (can be called multiple times)
53
59
  # example 'server --background'
54
60
  def example(text)
@@ -14,7 +14,7 @@ module Runfile
14
14
 
15
15
  attr_accessor :last_usage, :last_help, :name, :version,
16
16
  :summary, :namespace, :superspace, :actions, :examples, :options,
17
- :params
17
+ :params, :env_vars
18
18
 
19
19
  # Initialize all variables to sensible defaults.
20
20
  def initialize
@@ -26,6 +26,7 @@ module Runfile
26
26
  @options = {} # dsl: option
27
27
  @params = {} # dsl: param
28
28
  @examples = [] # dsl: example
29
+ @env_vars = {} # dsl: env_var
29
30
  @name = "Runfile" # dsl: name
30
31
  @version = false # dsl: version
31
32
  @summary = false # dsl: summary
@@ -48,7 +49,7 @@ module Runfile
48
49
 
49
50
  # Add an action to the @actions array, and use the last known
50
51
  # usage and help messages sent by the DSL.
51
- def add_action(name, altname=nil, &block)
52
+ def add_action(name, altname = nil, &block)
52
53
  if @last_usage.nil?
53
54
  @last_usage = altname ? "(#{name}|#{altname})" : name
54
55
  end
@@ -68,19 +69,26 @@ module Runfile
68
69
  end
69
70
 
70
71
  # Add an option flag and its help text.
71
- def add_option(flag, text, scope=nil)
72
- scope or scope = 'Options'
72
+ def add_option(flag, text, scope = nil)
73
+ scope ||= 'Options'
73
74
  @options[scope] ||= {}
74
75
  @options[scope][flag] = text
75
76
  end
76
77
 
77
78
  # Add a patameter and its help text.
78
- def add_param(name, text, scope=nil)
79
- scope or scope = 'Parameters'
79
+ def add_param(name, text, scope = nil)
80
+ scope ||= 'Parameters'
80
81
  @params[scope] ||= {}
81
82
  @params[scope][name] = text
82
83
  end
83
84
 
85
+ # Add env_var command.
86
+ def add_env_var(name, text, scope = nil)
87
+ scope ||= 'Environment Variables'
88
+ @env_vars[scope] ||= {}
89
+ @env_vars[scope][name] = text
90
+ end
91
+
84
92
  # Add example command.
85
93
  def add_example(command)
86
94
  @examples << (@namespace ? "#{@namespace} #{command}" : command)
@@ -1,3 +1,3 @@
1
1
  module Runfile
2
- VERSION = "0.11.1"
2
+ VERSION = "0.11.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: runfile
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.1
4
+ version: 0.11.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danny Ben Shitrit
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-07 00:00:00.000000000 Z
11
+ date: 2020-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colsole
@@ -84,7 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
84
  - !ruby/object:Gem::Version
85
85
  version: '0'
86
86
  requirements: []
87
- rubygems_version: 3.1.2
87
+ rubygems_version: 3.1.4
88
88
  signing_key:
89
89
  specification_version: 4
90
90
  summary: If Rake and Docopt had a baby