module Maccro::Builtin

Constants

RULES
RULE_GROUPS

Public Class Methods

register(name) click to toggle source
# File lib/maccro/builtin.rb, line 87
def self.register(name)
  if RULES.has_key?(name)
    before, after, options = RULES.fetch(name)
    options ||= {}
    Maccro.register(name, before, after, under: options.fetch(:under, nil), safe_reference: options.fetch(:safe_reference, false))
  elsif RULE_GROUPS.has_key?(name)
    RULE_GROUPS[name].each do |rule_name|
      register(rule_name)
    end
  end
end
register_all() click to toggle source
# File lib/maccro/builtin.rb, line 99
def self.register_all
  RULES.each_key do |name|
    register(name)
  end
end
rule(name) click to toggle source
# File lib/maccro/builtin.rb, line 66
def self.rule(name)
  return nil unless RULES.has_key?(name)
  before, after, options = RULES.fetch(name)
  options ||= {}
  Rule.new(name, before, after, under: options.fetch(:under, nil), safe_reference: options.fetch(:safe_reference, false))
end
rules(*names) click to toggle source
# File lib/maccro/builtin.rb, line 73
def self.rules(*names)
  rules = {}
  names.each do |name|
    if RULES.has_key?(name)
      rules[name] = rule(name)
    elsif RULE_GROUPS.has_key?(name)
      RULE_GROUPS[name].each do |n|
        rules[n] = rule(n)
      end
    end
  end
  rules
end