Class Consular::DSL
In: lib/consular/dsl.rb
Parent: Object

The DSL class provides the DSL for the Consular scripting file. It provides the basic commands such as:

  #setup  - commands to run when invoked by 'consular setup'
  #window - commands to run in the context of a window
  #tab    - commands to run in the context of tab
  #before - commands to run in the context before every tab context

The DSL class can be extended to provide additional API‘s for core specific DSL.

Methods

before   new   run   setup   tab   to_hash   window  

Classes and Modules

Module Consular::DSL::Yaml

Attributes

_context  [R] 
_setup  [R] 
_windows  [R] 

Public Class methods

Initializes the DSL library and stores the commands.

@param [String] path

  path to Consular script/ Termfile

@example

  Consular::DSL.new 'foo/bar.term'

@api public

Public Instance methods

Run commands prior to each tab context.

@param [Array<String>] commands

  Commands to be executed.

@param [Proc] block

  Proc of commands to run

@example

  # Executes `whoami` before tab with `ls` and `gitx`
  window do
    before { run 'whoami' }
    tab 'ls'
    tab 'gitx'
  end

@api public

Store commands to run in context.

@param [Array<String>] commands

  Array of commands to be executed.

@example

  run 'brew update', 'gitx'

@api public

Run commands using prior to the workflow using the command `consular setup`. This allows you to perform any command that needs to be ran prior to setup a particular project/script.

@param [Array<String>] commands

  Commands to be executed.

@param [Proc] block

  Proc of commands to run.

@example

  setup 'bundle install', 'brew update'
  setup { run 'bundle install' }

@api public

Run commands in the context of a tab.

@param [Array] args

  Accepts either:
    - an array of string commands
    - a hash containing options for the tab.

@param [Proc] block

@example

  tab 'first tab', :settings => 'Grass' do
    run 'ps aux'
  end

  tab 'ls', 'gitx'

@api public

Returns yaml file as Consular formmatted hash

@return [Hash] Return hash format of Termfile

@api semipublic

Run commands in the conext of a window.

@param [Array] args

  Hash to pass options to each context of a window. Each core can
  implement the desired behavior for the window based on the options set here.
  Can also pass a string as first parameter which will be set as
  the :name

@param [Proc] block

  block of commands to run in window context.

@example

  window 'my project', :size => [80, 30] do
    run 'ps aux'
  end

@api public

[Validate]