class Samovar::One

Attributes

default[R]
description[R]
key[R]
pattern[R]
required[R]

Public Class Methods

new(key, description, pattern: //, default: nil, required: false) click to toggle source
# File lib/samovar/one.rb, line 8
def initialize(key, description, pattern: //, default: nil, required: false)
        @key = key
        @description = description
        @pattern = pattern
        @default = default
        @required = required
end

Public Instance Methods

parse(input, parent = nil, default = nil) click to toggle source
# File lib/samovar/one.rb, line 38
def parse(input, parent = nil, default = nil)
        if input.first =~ @pattern
                input.shift
        elsif default ||= @default
                return default
        elsif @required
                raise MissingValueError.new(parent, self)
        end
end
to_a() click to toggle source
# File lib/samovar/one.rb, line 26
def to_a
        usage = [to_s, @description]
        
        if @default
                usage << "(default: #{@default.inspect})"
        elsif @required
                usage << "(required)"
        end
        
        return usage
end
to_s() click to toggle source
# File lib/samovar/one.rb, line 22
def to_s
        "<#{@key}>"
end