class Microstation::Capabilities

Attributes

capabilities[R]
variable[R]

Public Class Methods

new(config,variable) click to toggle source
# File lib/microstation/configuration.rb, line 7
def initialize(config,variable)
  @config = config
  @variable = variable
  @capabilities = get_capabilities
end

Public Instance Methods

disable(name) click to toggle source
# File lib/microstation/configuration.rb, line 59
def disable(name)
  return if disabled?(name)  && !enabled?(name)
  capa = remove_prefix(name)
  capabilities.delete("+#{name}")
  @capabilities.unshift("-#{capa}")
  write_configuration
  get_capabilities
  self
end
disabled() click to toggle source
# File lib/microstation/configuration.rb, line 26
def disabled
  @capabilities.select{|c| c.start_with?('-')}
end
disabled?(name) click to toggle source
# File lib/microstation/configuration.rb, line 35
def disabled?(name)
  capa = remove_prefix(name)
  @capabilities.any?{|c| c == "-#{capa}"}
end
enable(name) click to toggle source
# File lib/microstation/configuration.rb, line 49
def enable(name)
  return if enabled?(name) && !disabled?(name)
  capa = remove_prefix(name)
  @capabilities.delete("-#{capa}")
  @capabilities.unshift("+#{capa}")
  write_configuration
  get_capabilities
  self
end
enabled() click to toggle source
# File lib/microstation/configuration.rb, line 22
def enabled
  @capabilities.select{|c| c.start_with?('+')}
end
enabled?(name) click to toggle source
# File lib/microstation/configuration.rb, line 30
def enabled?(name)
  capa = remove_prefix(name)
  @capabilities.any?{|c| c == "+#{capa}"}
end
get_capabilities() click to toggle source
# File lib/microstation/configuration.rb, line 13
def get_capabilities
  @capabilities = @config[variable].split(';')
end
prepend(value) click to toggle source
# File lib/microstation/configuration.rb, line 45
def prepend(value)
  @config.prepend(variable,value)
end
remove_prefix(name) click to toggle source
# File lib/microstation/configuration.rb, line 69
def remove_prefix(name)
  if name =~ /[+-](.+)/
    name = Regexp.last_match(1)
  end
  name
end
write_configuration() click to toggle source
# File lib/microstation/configuration.rb, line 40
def write_configuration
  caps = @capabilities.uniq.join(';')
  @config.set!(variable, caps)
end