class Mhc::Config::Syntax

Syntax table manipulation

Public Class Methods

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

Public Instance Methods

instance_variable_name(word) click to toggle source
# File lib/mhc/config.rb, line 29
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/mhc/config.rb, line 34
def item_class(word)
  return nil unless keyword?(word)
  @syntax_config[as_symbol(word)]
end
keyword?(word) click to toggle source
# File lib/mhc/config.rb, line 20
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/mhc/config.rb, line 12
def keyword_symbols
  @syntax_config.keys
end
keywords() click to toggle source
# File lib/mhc/config.rb, line 16
def keywords
  keyword_symbols.map {|sym| sym.to_s.upcase }
end

Private Instance Methods

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