libclimate-ruby 0.12.0 → 0.12.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
- SHA1:
3
- metadata.gz: 60fb29259bdb557a306c02a204cf7b801695aea7
4
- data.tar.gz: 599e221a43e094f0a88ddea9d99a4a87812c78db
2
+ SHA256:
3
+ metadata.gz: 4b097608f416fda5a16bf34588903e669cd37abc259c8e971c65087de88dbd1e
4
+ data.tar.gz: 3dd3938b2ea4fc8f8b2d632787b048d8c8a75fd575a1df4262c60007fea989fb
5
5
  SHA512:
6
- metadata.gz: b537e1f71fb463e8f60197e0e3174607fdcaa49afcd9f4beb1cd7c86f04ff6b72e61cea87e27725bc3dce9803906872345a293aea2ac704348195dfcc4b2b6b6
7
- data.tar.gz: a62dbfe4a7bc2fef06ab0dee37c6351c04118170432e2109a828d3515ada0e19910b88e8f2d9b93d38e18867685b34e8e8e80f3cdb901ade0f9089456e325ad7
6
+ metadata.gz: 23fa6d636ea3bc4bae684ab3adaae3abb12ea3c6dc634c48fd69098016f7fad816b87e07c50291a136e0ea4e9bb4ec41d816f7a155428ae6a213db184cd45705
7
+ data.tar.gz: 17ae81db2053520808553a12cabf97c96369ffbf027039bc53c689ea05c1933ec4aff888b957f262432209cd980f6da3c28557c24874cb759d29c31a5a8a3c8d
@@ -5,7 +5,7 @@
5
5
  # Purpose: Definition of the ::LibCLImate::Climate class
6
6
  #
7
7
  # Created: 13th July 2015
8
- # Updated: 10th April 2019
8
+ # Updated: 13th April 2019
9
9
  #
10
10
  # Home: http://github.com/synesissoftware/libCLImate.Ruby
11
11
  #
@@ -47,7 +47,9 @@ require 'xqsr3/quality/parameter_checking'
47
47
  =begin
48
48
  =end
49
49
 
50
- if !defined? Colcon
50
+ #:stopdoc:
51
+
52
+ if !defined? Colcon # :nodoc:
51
53
 
52
54
  begin
53
55
 
@@ -58,17 +60,16 @@ if !defined? Colcon
58
60
  end
59
61
  end
60
62
 
61
- #:stopdoc:
62
-
63
63
  # We monkey-patch CLASP module's Flag and Option generator methods by
64
- # added in a 'action' attribute (but only if it does not exist)
64
+ # added in an +action+ attribute (but only if it does not exist)
65
65
  # and attaching the given block
66
66
 
67
67
  class << CLASP
68
68
 
69
- alias_method :Flag_old, :Flag
70
- alias_method :Option_old, :Option
69
+ alias_method :Flag_old, :Flag # :nodoc:
70
+ alias_method :Option_old, :Option # :nodoc:
71
71
 
72
+ # Defines a flag, attaching the given block
72
73
  def Flag(name, options={}, &blk)
73
74
 
74
75
  f = self.Flag_old(name, options)
@@ -96,6 +97,7 @@ class << CLASP
96
97
  f
97
98
  end
98
99
 
100
+ # Defines an option, attaching the given block
99
101
  def Option(name, options={}, &blk)
100
102
 
101
103
  o = self.Option_old(name, options)
@@ -147,6 +149,7 @@ module LibCLImate
147
149
  # end
148
150
  #
149
151
  # cl.usage_values = '<value-1> [ ... <value-N> ]'
152
+ # cl.constrain_values = 1..100000
150
153
  #
151
154
  # cl.info_lines = [
152
155
  #
@@ -267,22 +270,17 @@ class Climate
267
270
  #
268
271
  # === Signature
269
272
  #
270
- # * *Parameters*:
271
- # - +options:+:: An options hash, containing any of the following options.
272
- #
273
- # * *Options*:
274
- # - +:no_help_flag+:: (boolean) Prevents the use of the
275
- # +CLASP::Flag.Help+ flag-specification
276
- # - +:no_version_flag+:: (boolean) Prevents the use of the
277
- # +CLASP::Flag.Version+ flag-specification
278
- # - +:program_name+:: (::String) An explicit program-name, which is
279
- # inferred from +$0+ if this is +nil+
280
- # - +:version+:: A version specification. If not specified, this is
281
- # inferred
282
- # - +:version_context+:: Object or class that defines a context for
283
- # searching the version. Ignored if +:version+ is specified
284
- #
285
- # * *Block*:: An optional block which receives the constructing instance, allowing the user to modify the attributes.
273
+ # * *Parameters:*
274
+ # - +options:+ (Hash) An options hash, containing any of the following options.
275
+ #
276
+ # * *Options:*
277
+ # - +:no_help_flag+ (boolean) Prevents the use of the +CLASP::Flag.Help+ flag-specification
278
+ # - +:no_version_flag+ (boolean) Prevents the use of the +CLASP::Flag.Version+ flag-specification
279
+ # - +:program_name+ (::String) An explicit program-name, which is inferred from +$0+ if this is +nil+
280
+ # - +:version+ (String, [Integer], [String]) A version specification. If not specified, this is inferred
281
+ # - +:version_context+ Object or class that defines a context for searching the version. Ignored if +:version+ is specified
282
+ #
283
+ # * *Block* An optional block which receives the constructing instance, allowing the user to modify the attributes.
286
284
  def initialize(options={}) # :yields: climate
287
285
 
288
286
  check_parameter options, 'options', allow_nil: true, type: ::Hash
@@ -323,39 +321,27 @@ class Climate
323
321
  yield self if block_given?
324
322
  end
325
323
 
326
- # [DEPRECATED] This method is now deprecated. Instead use
327
- # +program_name=+
328
- #
329
- # @deprecated
324
+ # [DEPRECATED] This method is now deprecated. Instead use +program_name=+
330
325
  def set_program_name name
331
326
 
332
327
  @program_name = name
333
328
  end
334
329
 
335
- # An array of specifications attached to the climate instance, whose contents should be modified by adding (or removing) CLASP specifications
336
- # @return (::Array) The specifications
330
+ # ([CLASP::Specification]) An array of specifications attached to the climate instance, whose contents should be modified by adding (or removing) CLASP specifications
337
331
  attr_reader :specifications
338
332
  # [DEPRECATED] Instead, use +specifications+
339
333
  def aliases; specifications; end
340
- # Indicates whether exit will be called (with non-zero exit code) when a
341
- # required command-line option is missing
342
- # @return (boolean)
343
- # @return *true* exit(1) will be called
344
- # @return *false* exit will not be called
334
+ # (boolean) Indicates whether exit will be called (with non-zero exit code) when a required command-line option is missing. Defaults to +true+
345
335
  attr_accessor :exit_on_missing
346
- # Indicates whether unknown flags or options will be ignored. This
347
- # overrides +:exit_on_unknown+
336
+ # (boolean) Indicates whether unknown flags or options will be ignored. This overrides +:exit_on_unknown+. Defaults to +false+
348
337
  attr_accessor :ignore_unknown
349
- # Indicates whether exit will be called (with non-zero exit code) when an unknown command-line flag or option is encountered
350
- # @return (boolean)
351
- # @return *true* exit(1) will be called
352
- # @return *false* exit will not be called
338
+ # (boolean) Indicates whether exit will be called (with non-zero exit code) when an unknown command-line flag or option is encountered. Defaults to +true+
353
339
  attr_accessor :exit_on_unknown
354
- # @return (boolean) Indicates whether exit will be called (with zero exit code) when usage/version is requested on the command-line
340
+ # (boolean) Indicates whether exit will be called (with zero exit code) when usage/version is requested on the command-line. Defaults to +true+
355
341
  attr_accessor :exit_on_usage
356
- # @return (::Array) Optional array of string of program-information that will be written before the rest of the usage block when usage is requested on the command-line
342
+ # ([String]) Optional array of string of program-information that will be written before the rest of the usage block when usage is requested on the command-line
357
343
  attr_accessor :info_lines
358
- # @return (::String) A program name; defaults to the name of the executing script
344
+ # (String) A program name; defaults to the name of the executing script
359
345
  def program_name
360
346
 
361
347
  name = @program_name
@@ -367,38 +353,35 @@ class Climate
367
353
 
368
354
  name
369
355
  end
356
+ # Sets the +program_name+ attribute
370
357
  attr_writer :program_name
371
358
  # @return (::IO) The output stream for normative output; defaults to $stdout
372
359
  attr_accessor :stdout
373
360
  # @return (::IO) The output stream for contingent output; defaults to $stderr
374
361
  attr_accessor :stderr
375
- # @return (::Integer, ::Range) Optional constraint on the values that
376
- # must be provided to the program
362
+ # (Integer, Range) Optional constraint on the values that must be provided to the program
377
363
  attr_accessor :constrain_values
378
- # @return (::String) Optional string to describe the flags and options
379
- # section
364
+ # (String) Optional string to describe the flags and options section. Defaults to "[ +...+ +flags+ +and+ +options+ +...+ ]"
380
365
  attr_accessor :flags_and_options
381
366
  # @return (::String) Optional string to describe the program values, eg \<xyz "[ { <<directory> | &lt;file> } ]"
382
367
  attr_accessor :usage_values
383
- # @return (::Array) Zero-based array of names for values to be used when
384
- # that value is not present (according to the +:constrain_values+
385
- # attribute)
368
+ # ([String]) Zero-based array of names for values to be used when that value is not present (according to the +:constrain_values+ attribute)
386
369
  attr_accessor :value_names
387
- # @return (::String, ::Array) A version string or an array of integers representing the version component(s)
370
+ # (String, [String], [Integer]) A version string or an array of integers/strings representing the version component(s)
388
371
  attr_accessor :version
389
372
 
390
373
  # Executes the prepared Climate instance
391
374
  #
392
- # == Signature
375
+ # === Signature
393
376
  #
394
- # * *Parameters*:
395
- # - +argv+:: The array of arguments; defaults to <tt>ARGV</tt>
377
+ # * *Parameters:*
378
+ # - +argv+ ([String]) The array of arguments; defaults to <tt>ARGV</tt>
396
379
  #
397
- # * *Returns*:
398
- # an instance of a type derived from +::Hash+ with the additional
399
- # attributes +flags+, +options+, +values+, and +argv+.
380
+ # === Returns
381
+ # an instance of a type derived from +::Hash+ with the additional
382
+ # attributes +flags+, +options+, +values+, and +argv+.
400
383
  #
401
- def run argv = ARGV
384
+ def run argv = ARGV # :yields: customised +::Hash+
402
385
 
403
386
  raise ArgumentError, "argv may not be nil" if argv.nil?
404
387
 
@@ -683,17 +666,17 @@ class Climate
683
666
  #
684
667
  # === Signature
685
668
  #
686
- # * *Parameters*:
687
- # - +message+:: The message string
688
- # - +options+:: An option hash, containing any of the following options
669
+ # * *Parameters:*
670
+ # - +message+ (String) The message string
671
+ # - +options+ (Hash) An option hash, containing any of the following options
689
672
  #
690
- # * *Options*:
691
- # - +:stream+:: {optional} The output stream to use. Defaults to the value of the attribute +stderr+.
692
- # - +:program_name+:: {optional} Uses the given value rather than the +program_name+ attribute; does not prefix if the empty string
693
- # - +:exit+:: {optional} The exit code. Defaults to 1. Does not exit if +nil+ specified.
673
+ # * *Options:*
674
+ # - +:stream+ {optional} The output stream to use. Defaults to the value of the attribute +stderr+
675
+ # - +:program_name+ (String) {optional} Uses the given value rather than the +program_name+ attribute; does not prefix if the empty string
676
+ # - +:exit+ {optional} The exit code. Defaults to 1. Does not exit if +nil+ specified explicitly
694
677
  #
695
- # * *Return*:
696
- # The combined message string, if <tt>exit()</tt> not called.
678
+ # === Returns
679
+ # The combined message string, if <tt>exit()</tt> not called.
697
680
  def abort message, options={}
698
681
 
699
682
  prog_name = options[:program_name]
@@ -726,15 +709,20 @@ class Climate
726
709
  #
727
710
  # === Signature
728
711
  #
729
- # * *Parameters*
730
- # - +name_or_flag+:: The flag name or instance of CLASP::Flag
731
- # - +options+:: An options hash, containing any of the following options.
712
+ # * *Parameters:*
713
+ # - +name_or_flag+ (String, ::CLASP::FlagSpecification) The flag name or instance of CLASP::FlagSpecification
714
+ # - +options+ (Hash) An options hash, containing any of the following options
715
+ #
716
+ # * *Options:*
717
+ # - +:alias+ (String) A single alias
718
+ # - +:aliases+ ([String]) An array of aliases
719
+ # - +:help+ (String) Description string used when writing response to "+--help+" flag
720
+ # - +:required+ (boolean) Indicates whether the flag is required, causing #run to fail with appropriate message if the flag is not specified in the command-line arguments
721
+ #
722
+ # === Examples
723
+ #
724
+ # ==== Specification(s) of a flag (single statement)
732
725
  #
733
- # * *Options*
734
- # - +:help+::
735
- # - +:alias+::
736
- # - +:specifications+::
737
- # - +:extras+::
738
726
  def add_flag(name_or_flag, options={}, &block)
739
727
 
740
728
  check_parameter name_or_flag, 'name_or_flag', allow_nil: false, types: [ ::String, ::Symbol, ::CLASP::Flag ]
@@ -752,17 +740,16 @@ class Climate
752
740
  #
753
741
  # === Signature
754
742
  #
755
- # * *Parameters*
756
- # - +name_or_option+:: The option name or instance of CLASP::Option
757
- # - +options+:: An options hash, containing any of the following options.
758
- #
759
- # * *Options*
760
- # - +:alias+::
761
- # - +:specifications+::
762
- # - +:help+::
763
- # - +:values_range+::
764
- # - +:default_value+::
765
- # - +:extras+::
743
+ # * *Parameters:*
744
+ # - +name_or_option+ (String, CLASP::OptionSpecification) The option name or instance of CLASP::OptionSpecification
745
+ # - +options+ (Hash) An options hash, containing any of the following options
746
+ #
747
+ # * *Options:*
748
+ # - +:alias+ (String) A single alias
749
+ # - +:aliases+ ([String]) An array of aliases
750
+ # - +:help+ (String) Description string used when writing response to "+--help+" flag
751
+ # - +:values_range+ ([String]) An array of strings representing the valid/expected values used when writing response to "+--help+" flag. NOTE: the current version does not validate against these values, but a future version may do so
752
+ # - +:default_value+ (String) The default version used when, say, for the option +--my-opt+ the command-line contain the argument "+--my-opt=+"
766
753
  def add_option(name_or_option, options={}, &block)
767
754
 
768
755
  check_parameter name_or_option, 'name_or_option', allow_nil: false, types: [ ::String, ::Symbol, ::CLASP::Option ]
@@ -780,40 +767,40 @@ class Climate
780
767
  #
781
768
  # === Signature
782
769
  #
783
- # * *Parameters*
784
- # - +name_or_specification+:: The flag/option name or the valued option
785
- # - +aliases+:: One or more aliases
770
+ # * *Parameters:*
771
+ # - +name_or_specification+ (String) The flag/option name or the valued option
772
+ # - +aliases+ (*[String]) One or more aliases
786
773
  #
787
774
  # === Examples
788
775
  #
789
776
  # ==== Specification(s) of a flag (single statement)
790
777
  #
791
- # +climate.add_flag('--mark-missing', alias: '-x')+
778
+ # climate.add_flag('--mark-missing', alias: '-x')
792
779
  #
793
- # +climate.add_flag('--absolute-path', aliases: [ '-abs', '-p' ])+
780
+ # climate.add_flag('--absolute-path', aliases: [ '-abs', '-p' ])
794
781
  #
795
782
  # ==== Specification(s) of a flag (multiple statements)
796
783
  #
797
- # +climate.add_flag('--mark-missing')+
798
- # +climate.add_alias('--mark-missing', '-x')+
784
+ # climate.add_flag('--mark-missing')
785
+ # climate.add_alias('--mark-missing', '-x')
799
786
  #
800
- # +climate.add_flag('--absolute-path')+
801
- # +climate.add_alias('--absolute-path', '-abs', '-p')+
787
+ # climate.add_flag('--absolute-path')
788
+ # climate.add_alias('--absolute-path', '-abs', '-p')
802
789
  #
803
790
  # ==== Specification(s) of an option (single statement)
804
791
  #
805
- # +climate.add_option('--add-patterns', alias: '-p')+
792
+ # climate.add_option('--add-patterns', alias: '-p')
806
793
  #
807
794
  # ==== Specification(s) of an option (multiple statements)
808
795
  #
809
- # +climate.add_option('--add-patterns')+
810
- # +climate.add_alias('--add-patterns', '-p')+
796
+ # climate.add_option('--add-patterns')
797
+ # climate.add_alias('--add-patterns', '-p')
811
798
  #
812
799
  # ==== Specification of a valued option (which has to be multiple statements)
813
800
  #
814
- # +climate.add_option('--verbosity')+
815
- # +climate.add_alias('--verbosity=succinct', '-s')+
816
- # +climate.add_alias('--verbosity=verbose', '-v')+
801
+ # climate.add_option('--verbosity', values: [ 'succinct', 'verbose' ])
802
+ # climate.add_alias('--verbosity=succinct', '-s')
803
+ # climate.add_alias('--verbosity=verbose', '-v')
817
804
  def add_alias(name_or_specification, *aliases)
818
805
 
819
806
  check_parameter name_or_specification, 'name_or_specification', allow_nil: false, types: [ ::String, ::Symbol, ::CLASP::Flag, ::CLASP::Option ]
@@ -832,7 +819,6 @@ class Climate
832
819
  end
833
820
  end
834
821
  end # class Climate
835
-
836
822
  end # module LibCLImate
837
823
 
838
824
  # ############################## end of file ############################# #
@@ -4,11 +4,11 @@
4
4
  # Purpose: Main file for libclimate.Ruby library
5
5
  #
6
6
  # Created: 13th July 2015
7
- # Updated: 9th June 2017
7
+ # Updated: 13th April 2019
8
8
  #
9
9
  # Home: http://github.com/synesissoftware/libCLImate.Ruby
10
10
  #
11
- # Copyright (c) 2015-2017, Matthew Wilson and Synesis Software
11
+ # Copyright (c) 2015-2019, Matthew Wilson and Synesis Software
12
12
  # All rights reserved.
13
13
  #
14
14
  # Redistribution and use in source and binary forms, with or without
@@ -44,9 +44,10 @@ require 'libclimate/version'
44
44
  =end
45
45
 
46
46
  # Main module for libCLImate.Ruby library
47
+ #
48
+ # === Components of Interest
49
+ # * ::LibCLImate::Climate
47
50
  module LibCLImate
48
-
49
-
50
51
  end # module LibCLImate
51
52
 
52
53
  # ############################## end of file ############################# #
@@ -4,7 +4,7 @@
4
4
  # Purpose: Version for libclimate.Ruby library
5
5
  #
6
6
  # Created: 13th July 2015
7
- # Updated: 12th April 2019
7
+ # Updated: 13th April 2019
8
8
  #
9
9
  # Home: http://github.com/synesissoftware/libCLImate.Ruby
10
10
  #
@@ -43,7 +43,7 @@
43
43
  module LibCLImate
44
44
 
45
45
  # Current version of the libCLImate.Ruby library
46
- VERSION = '0.12.0'
46
+ VERSION = '0.12.2'
47
47
 
48
48
  private
49
49
  VERSION_PARTS_ = VERSION.split(/[.]/).collect { |n| n.to_i } # :nodoc:
@@ -6,12 +6,10 @@
6
6
  # Purpose: This filter program converts 0 values in a TSV into blanks
7
7
  #
8
8
  # Created: 14th May 2016
9
- # Updated: 5th February 2018
9
+ # Updated: 13th April 2019
10
10
  #
11
11
  # Author: Matthew Wilson
12
12
  #
13
- # Copyright: <<TBD>>
14
- #
15
13
  #############################################################################
16
14
 
17
15
  $:.unshift File.join(File.dirname(__FILE__), '../..', 'lib')
@@ -22,10 +20,10 @@ require 'libclimate'
22
20
  # ##########################################################
23
21
  # constants
24
22
 
25
- PROGRAM_VER_MAJOR = 0
26
- PROGRAM_VER_MINOR = 1
27
- PROGRAM_VER_REVISION = 3
28
- PROGRAM_VER_BUILD = 5
23
+ PROGRAM_VER_MAJOR = 0
24
+ PROGRAM_VER_MINOR = 1
25
+ PROGRAM_VER_PATCH = 4
26
+ PROGRAM_VER_BUILD = 6
29
27
 
30
28
  # ##########################################################
31
29
  # command-line parsing
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libclimate-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.12.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Wilson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-12 00:00:00.000000000 Z
11
+ date: 2019-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clasp-ruby
@@ -38,8 +38,7 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0.31'
41
- description: |2+
42
-
41
+ description: "\n"
43
42
  email: matthew@synesis.com.au
44
43
  executables: []
45
44
  extensions: []
@@ -86,7 +85,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
86
85
  version: '0'
87
86
  requirements: []
88
87
  rubyforge_project:
89
- rubygems_version: 2.2.5
88
+ rubygems_version: 2.7.6
90
89
  signing_key:
91
90
  specification_version: 4
92
91
  summary: libCLImate.Ruby