class Librato::Rack::Configuration::Suites
Attributes
fields[R]
Public Class Methods
new(value, defaults)
click to toggle source
# File lib/librato/rack/configuration/suites.rb, line 7 def initialize(value, defaults) @fields = if value.nil? || value.empty? defaults else resolve_suites(value, defaults) end end
Public Instance Methods
include?(field)
click to toggle source
# File lib/librato/rack/configuration/suites.rb, line 15 def include?(field) fields.include?(field) end
Private Instance Methods
resolve_suites(value, defaults)
click to toggle source
# File lib/librato/rack/configuration/suites.rb, line 21 def resolve_suites(value, defaults) suites = value.to_s.split(/\s*,\s*/) adds = suites.select { |i| i.start_with?('+') }.map { |i| i[1..-1].to_sym } subs = suites.select { |i| i.start_with?('-') }.map { |i| i[1..-1].to_sym } if adds.any? || subs.any? # Did they try to mix adds/subs with explicit config if (adds.size + subs.size) != suites.size raise InvalidSuiteConfiguration, "Invalid suite value #{value}" end (defaults | adds) - subs else suites.map(&:to_sym) end end