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



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

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

#default_valueObject



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

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

#delimiterObject



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

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

#limitObject



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

def limit
  config[:limit] || 0
end