class Construqt::Flavour::Ciscian::SingleValueVerb

Attributes

section[RW]
value[RW]

Public Class Methods

compare(nu, old) click to toggle source
# File lib/construqt/flavour/ciscian/ciscian.rb, line 141
def self.compare(nu, old)
  return [nu] unless old
  # return no changes (empty list) if old configuration of single value verb (default) is not explicitly reconfigured in new configuration:
  return [] unless nu
  return [nu] unless nu.serialize == old.serialize
  [nil]
end
new(section) click to toggle source
# File lib/construqt/flavour/ciscian/ciscian.rb, line 132
def initialize(section)
  self.section=section
end
parse_line(line, lines, section, result) click to toggle source
# File lib/construqt/flavour/ciscian/ciscian.rb, line 170
def self.parse_line(line, lines, section, result)
  quotes = line.to_s.strip.end_with?("\"")
  regexp = quotes ? /^\s*((no|).*) \"([^"]+)\"$/ : /^\s*((no|).*) ([^\s"]+)$/
  if (line.to_s.strip =~ regexp)
    key=$1
    val=$3
    sec = section.add(key, Ciscian::SingleValueVerb).add(val)
    sec.quotes if quotes
  else
    section.add(line.to_s, Ciscian::SingleValueVerb)
  end
end

Public Instance Methods

add(value) click to toggle source
# File lib/construqt/flavour/ciscian/ciscian.rb, line 149
def add(value)
  self.value=value
  self
end
no() click to toggle source
# File lib/construqt/flavour/ciscian/ciscian.rb, line 154
def no
  @no="no"
  self.value=nil
  self
end
quotes() click to toggle source
# File lib/construqt/flavour/ciscian/ciscian.rb, line 165
def quotes
  @quotes=true
  self
end
serialize() click to toggle source
# File lib/construqt/flavour/ciscian/ciscian.rb, line 136
def serialize
  val = @quotes ? "\"#{value}\"" : value
  [[@no, section , val].compact.join(" ")]
end
yes() click to toggle source
# File lib/construqt/flavour/ciscian/ciscian.rb, line 160
def yes
  @no=nil
  self
end