class RackFlags::CookieCodec::Parser

Constants

BANG_DETECTOR

Attributes

overrides[R]

Public Class Methods

new() click to toggle source
# File lib/rack-flags/cookie_codec.rb, line 15
def initialize()
  @overrides = {}
end
parse(cookie_value) click to toggle source
# File lib/rack-flags/cookie_codec.rb, line 9
def self.parse(cookie_value)
  parser = new 
  parser.parse(cookie_value)
  parser.overrides
end

Public Instance Methods

parse(raw_overrides) click to toggle source
# File lib/rack-flags/cookie_codec.rb, line 19
def parse(raw_overrides)
  return if raw_overrides.nil?

  raw_overrides.split(' ').each do |override|
    parse_override(override)
  end
end

Private Instance Methods

add_override( name, value ) click to toggle source
# File lib/rack-flags/cookie_codec.rb, line 39
def add_override( name, value )
  @overrides[name.to_sym] = value
end
parse_override(override) click to toggle source
# File lib/rack-flags/cookie_codec.rb, line 31
def parse_override(override)
  if override_without_bang = override[BANG_DETECTOR,1]
    add_override(override_without_bang,false)
  else
    add_override(override,true)
  end
end