Sha256: e9e248fdfbd96a0198ce0401c3dc7a11256a9397751feaaac7e288d0b4609577

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

require 'quickl/ext/object'
require 'quickl/errors'
require 'quickl/ruby_tools'
require 'quickl/naming'
require 'quickl/command'
module Quickl

  # Quickl's VERSION
  VERSION = '0.2.0'.freeze
  
  # Quickl's COPYRIGHT info 
  COPYRIGHT = "(c) 2010, Bernard Lambeau"
  
  #
  # Yields the block with the current command builder.
  # A fresh new builder is created if not already done.
  #
  # This method is part of Quickl's private interface.
  #
  def self.command_builder 
    @builder ||= Command::Builder.new
    yield @builder if block_given?
    @builder
  end
  
  #
  # Builds _command_ using the current builder. 
  #
  # The current command builder is considered consumed 
  # and removed as a side effect. A RuntimeError is raised 
  # if no builder is currently installed.
  #
  # Returns the command itself.
  #
  # This method is part of Quickl's private interface.
  #
  def self.build_command(command)
    unless @builder
      raise "No command builder currently installed"
    else
      @builder.run(command)
      @builder = nil
      command
    end
  end
  
end # module Quickl

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
quickl-0.2.0 lib/quickl.rb