dev_commands Gem Version

A ruby gem to aid in the definition and execution of system commands

Installation

The gem can be installed by the single command

gem install dev_commands

Usage

This is an example of a simple usage

 require 'dev_commands'

 cmd=Command.new 'ruby --version'
 cmd.execute
 puts "exit_code: #{cmd[:exit_code]}" 
 puts "output: #{cmd[:output]}"

 # exit_code: 0
 # output": ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]

Using commands in an array

  commands=['ruby -version','git --version']
  commands.execute

Using commands in a hash

 commands=
 {
    build:   ['gem build dev_commands.gemspec'],
    test:    ['rspec'],
    doc:     ['yard doc - LICENSE'],
    add:     ['git add --all'],
    commit:  ["git commit -m'commit all'"],

 }
 commands.execute

CLEAN and CLOBBER are defined by dev_command, the default values may be overridden with

CLEAN.clear
CLOBBER.clear

COMMANDS is an automatically populated command hash defined by dev_command. If the auto-generated commands are acceptable, the following code may be used.

require 'dev_commands'

task :default do
  COMMANDS.execute
end

Any default commands may be completely overriden by overwriting the appropriate key, for instance, to override all default build commands, the following could be done.

require 'dev_commands'

COMMANDS[:build]=['gem build my-gem.gemspec']

task :default do
  COMMANDS.execute
end

License

Copyright 2014-2015 Lou Parslow

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.