Sha256: 63ce79ac8c5e14cfaa4eef275a4068e987459e75ce6a6d1067b8bd59c1745527
Contents?: true
Size: 1.39 KB
Versions: 46
Compression:
Stored size: 1.39 KB
Contents
#-- # Author:: Daniel DeLeo (<dan@opscode.com) # Copyright:: Copyright (c) 2010 Opscode, Inc. # 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. # require 'chef/knife' class Chef::Knife::Exec < Chef::Knife banner "knife exec [SCRIPT] (options)" option :exec, :short => "-E CODE", :long => "--exec CODE", :description => "a string of Chef code to execute" deps do require 'chef/shef/ext' end def run scripts = Array(name_args) context = Object.new Shef::Extensions.extend_context_object(context) if config[:exec] context.instance_eval(config[:exec], "-E Argument", 0) elsif !scripts.empty? scripts.each do |script| file = File.expand_path(script) context.instance_eval(IO.read(file), file, 0) end else script = STDIN.read context.instance_eval(script, "STDIN", 0) end end end
Version data entries
46 entries across 46 versions & 4 rubygems