Module: OptionBinder::Handler
- Included in:
- OptionBinder
- Defined in:
- lib/optbind/handler.rb
Instance Method Summary collapse
- #included_in(*a) ⇒ Object (also: #in)
- #listed_as(t) ⇒ Object (also: #lists)
- #matched_by(p) ⇒ Object (also: #matches)
Instance Method Details
#included_in(*a) ⇒ Object Also known as: in
10 11 12 13 |
# File 'lib/optbind/handler.rb', line 10 def included_in(*a) -> (v) { a[0].include? v ? v : raise(OptionParser::InvalidArgument, v) if v } if a[0].is_a? Range -> (v) { a.flatten.include?(v) ? v : raise(OptionParser::InvalidArgument, v) if v } end |
#listed_as(t) ⇒ Object Also known as: lists
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/optbind/handler.rb', line 17 def listed_as(t) -> (v) do begin b, p = nil, OptionParser.new.on(:REQUIRED, '--0', t, &-> (i) { b = i }) (v.is_a?(Array) ? v : v.to_s.split(/,/)).map { |i| p.parse! %W(--0=#{i}) and b } if v rescue OptionParser::InvalidArgument raise $!.tap { |e| e.args[0] = e.args[0].sub(/\A--\d+=/, '') } end end end |
#matched_by(p) ⇒ Object Also known as: matches
4 5 6 |
# File 'lib/optbind/handler.rb', line 4 def matched_by(p) -> (v) { p =~ v.to_s ? v : raise(OptionParser::InvalidArgument, v) if v } end |