Class: Webbynode::Parameter

Inherits:
Option show all
Defined in:
lib/webbynode/parameter.rb

Instance Attribute Summary

Attributes inherited from Option

#desc, #errors, #kind, #name, #options, #value

Instance Method Summary collapse

Methods inherited from Option

#array?, #default_value, #in, #in_error, #integer, #integer_error, name_for, #parse, #reset!, #take, #valid?

Constructor Details

#initialize(*args) ⇒ Parameter

Returns a new instance of Parameter.



3
4
5
6
# File 'lib/webbynode/parameter.rb', line 3

def initialize(*args)
  super
  @options[:required] = true if @original_options[:required].nil?
end

Instance Method Details

#required?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/webbynode/parameter.rb', line 15

def required?
  @options[:required]
end

#to_sObject



19
20
21
22
23
24
25
# File 'lib/webbynode/parameter.rb', line 19

def to_s
  if required?
    "#{name}"
  else
    "[#{name}]"
  end
end

#validate!Object



8
9
10
11
12
13
# File 'lib/webbynode/parameter.rb', line 8

def validate!
  if required? and self.value === self.default_value
    raise Webbynode::Command::InvalidCommand, "Missing '#{name}' parameter."
  end
  super
end