class Clian::Config::Syntax

Syntax table manipulation

Public Class Methods

new(syntax_config) click to toggle source
# File lib/clian/config.rb, line 9
def initialize(syntax_config)
  @syntax_config = syntax_config
end

Public Instance Methods

instance_variable_name(word) click to toggle source
# File lib/clian/config.rb, line 30
def instance_variable_name(word)
  return nil unless keyword?(word)
  return '@' + as_symbol(word).to_s
end
item_class(word) click to toggle source
# File lib/clian/config.rb, line 35
def item_class(word)
  return nil unless keyword?(word)
  @syntax_config[as_symbol(word)]
end
keyword?(word) click to toggle source
# File lib/clian/config.rb, line 21
def keyword?(word)
  if word.is_a?(Symbol)
    keyword_symbols.member?(word)
  else
    # String
    keywords.member?(word)
  end
end
keyword_symbols() click to toggle source
# File lib/clian/config.rb, line 13
def keyword_symbols
  @syntax_config.keys
end
keywords() click to toggle source
# File lib/clian/config.rb, line 17
def keywords
  keyword_symbols.map {|sym| sym.to_s.upcase }
end

Private Instance Methods

as_symbol(word) click to toggle source
# File lib/clian/config.rb, line 41
def as_symbol(word)
  word.to_s.downcase.sub(/^@+/, "").to_sym
end