class Rattler::RakeTask

The rake task to generate parser code from a grammar

Attributes

grammar[RW]
name[RW]
rtlr_opts[RW]
verbose[RW]

Public Class Methods

new(name = :rattler) { |self| ... } click to toggle source
# File lib/rattler/rake_task.rb, line 17
def initialize(name = :rattler)
  @name = name
  @grammar = nil
  @rtlr_opts = []
  @verbose = true

  yield self if block_given?

  define_task
end

Private Instance Methods

define_task() click to toggle source
# File lib/rattler/rake_task.rb, line 30
def define_task
  task name do
    RakeFileUtils.send(:verbose, verbose) do
      ::Rattler::Runner.run(run_args) if valid?
    end
  end
end
run_args() click to toggle source
# File lib/rattler/rake_task.rb, line 38
def run_args
  [grammar] + rtlr_opts
end
valid?() click to toggle source
# File lib/rattler/rake_task.rb, line 42
def valid?
  unless grammar
    puts "No grammar specified"
    return false
  end
  true
end