Class: CLASP::Flag

Inherits:
Object
  • Object
show all
Defined in:
lib/clasp/aliases.rb

Overview

A class that represents the specification for a command-line flag

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, aliases, help, extras = nil) ⇒ Flag

Creates a Flag instance from the given name, aliases, and help

Signature

  • Parameters

    • name

      (String) The name, or long-form, of the flag.

    • aliases

      (Array) 0 or more strings specifying short-form or option-value aliases.

    • help

      (String) The help string, which may be nil.

    • extras

      An application-defined additional parameter. If nil, it is assigned an empty Hash.



72
73
74
75
76
77
78
# File 'lib/clasp/aliases.rb', line 72

def initialize(name, aliases, help, extras = nil)

	@name			=	name
	@aliases		=	(aliases || []).select { |a| a and not a.empty? }
	@help			=	help
	@extras			=	extras || {}
end

Instance Attribute Details

#aliasesObject (readonly)

The flag’s aliases array



83
84
85
# File 'lib/clasp/aliases.rb', line 83

def aliases
  @aliases
end

#extrasObject (readonly)

The flag’s extras



87
88
89
# File 'lib/clasp/aliases.rb', line 87

def extras
  @extras
end

#helpObject (readonly)

The flag’s help string



85
86
87
# File 'lib/clasp/aliases.rb', line 85

def help
  @help
end

#nameObject (readonly)

The flag’s name string



81
82
83
# File 'lib/clasp/aliases.rb', line 81

def name
  @name
end

Class Method Details

.Help(extras = nil) ⇒ Object

An instance of Flag that provides default ‘–help’ information



100
101
102
103
104
105
106
107
# File 'lib/clasp/aliases.rb', line 100

def self.Help(extras = nil)

	h = @@Help_

	return self.new(h.name, h.aliases, h.help, extras) if extras

	h
end

.Version(extras = nil) ⇒ Object

An instance of Flag that provides default ‘–version’ information



110
111
112
113
114
115
116
117
# File 'lib/clasp/aliases.rb', line 110

def self.Version(extras = nil)

	h = @@Version_

	return self.new(h.name, h.aliases, h.help, extras) if extras

	h
end

Instance Method Details

#to_sObject

String form of the flag



90
91
92
93
# File 'lib/clasp/aliases.rb', line 90

def to_s

	"{#{name}; aliases=#{aliases.join(', ')}; help='#{help}'; extras=#{extras}}"
end