#!/usr/bin/env ruby # # ./shef - Run the shef REPL # # Author:: Daniel DeLeo () # Copyright:: Copyright (c) 2009 # License:: Apache License, Version 2.0 # # 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. # TODO::EVIL require "rubygems" require "mixlib/cli" require "irb" require "irb/completion" # TODO::EVIL begin require "#{File.dirname(__FILE__)}/../lib/chef" rescue LoadError # the bin got moved, e.g., by rubygems end require "chef/shef" # dirty hack to make IRB initialize shef module IRB class << self alias :run_original_config :run_config def run_config run_original_config Shef.init end end end Shef.parse_opts IRB.start