class RBCM::Params

Attributes

named[R]
ordered[R]

Public Class Methods

new(ordered, named) click to toggle source
# File app/lib/params.rb, line 4
def initialize ordered, named
  @ordered, @named = ordered, named
end

Public Instance Methods

[](key) click to toggle source
# File app/lib/params.rb, line 8
def [] key
  return ordered[key] if key.class == Integer
  return named[key] if key.class == Symbol
end
[]=(key, value) click to toggle source
# File app/lib/params.rb, line 13
def []= key, value
  ordered[key] = value if key.class == Integer
  named[key] = value if key.class == Symbol
end
delete(*ids) click to toggle source
# File app/lib/params.rb, line 44
def delete *ids
  copy = self.dup
  [ids].flatten.each do |id|
    copy.ordered.delete id if id.class == Integer
    copy.named.delete id   if id.class == Symbol
  end
  return copy
end
empty?() click to toggle source
# File app/lib/params.rb, line 32
def empty?
  true if ordered.none? and named.none?
end
first() click to toggle source
# File app/lib/params.rb, line 36
def first
  ordered[0]
end
second() click to toggle source
# File app/lib/params.rb, line 40
def second
  ordered[1]
end
sendable() click to toggle source
# File app/lib/params.rb, line 28
def sendable
  [*ordered, named.any? ? named : nil].compact
end
to_s() click to toggle source
# File app/lib/params.rb, line 18
def to_s
  [ ordered.collect{ |param|
      "#{param}"
    },
    named.collect{ |k, v|
      "\e[2m\e[1m#{k}:\e[21m\e[22m #{v.to_s[0..54].gsub("\n"," \\ ")}#{"\e[2m\e[1m…\e[21m\e[22m" if v.to_s.length > 54}"
    }
  ].flatten(1).join("\e[2m\e[1m, \e[21m\e[22m")
end