Class: Slop::ArrayOption

Inherits:
Option
  • Object
show all
Defined in:
lib/slop/types.rb

Overview

Collect multiple items into a single Array. Support arguments separated by commas or multiple occurences.

Constant Summary

Constants inherited from Option

Option::DEFAULT_CONFIG

Instance Attribute Summary

Attributes inherited from Option

#block, #config, #count, #desc, #flags, #value

Instance Method Summary collapse

Methods inherited from Option

#ensure_call, #expects_argument?, #finish, #flag, #help?, #initialize, #key, #null?, #required?, #reset, #suppress_errors?, #tail, #tail?, #to_s, #underscore_flags?

Constructor Details

This class inherits a constructor from Slop::Option

Instance Method Details

#call(value) ⇒ Object


63
64
65
66
67
68
69
70
# File 'lib/slop/types.rb', line 63

def call(value)
  @value ||= []
  if delimiter
    @value.concat value.split(delimiter, limit)
  else
    @value << value
  end
end

#default_valueObject


72
73
74
# File 'lib/slop/types.rb', line 72

def default_value
  config[:default] || []
end

#delimiterObject


76
77
78
# File 'lib/slop/types.rb', line 76

def delimiter
  config.fetch(:delimiter, ",")
end

#limitObject


80
81
82
# File 'lib/slop/types.rb', line 80

def limit
  config[:limit] || 0
end