diff options
-rw-r--r-- | lib/chef/provider/script.rb | 1 | ||||
-rw-r--r-- | lib/chef/resource/ksh.rb | 33 | ||||
-rw-r--r-- | lib/chef/resources.rb | 1 | ||||
-rw-r--r-- | spec/unit/resource/ksh_spec.rb | 40 |
4 files changed, 75 insertions, 0 deletions
diff --git a/lib/chef/provider/script.rb b/lib/chef/provider/script.rb index e8b5235b7a..2f2001dbf9 100644 --- a/lib/chef/provider/script.rb +++ b/lib/chef/provider/script.rb @@ -27,6 +27,7 @@ class Chef provides :bash provides :csh + provides :ksh provides :perl provides :python provides :ruby diff --git a/lib/chef/resource/ksh.rb b/lib/chef/resource/ksh.rb new file mode 100644 index 0000000000..2d4f585610 --- /dev/null +++ b/lib/chef/resource/ksh.rb @@ -0,0 +1,33 @@ +# +# Author:: Nolan Davidson (<nolan.davidson@gmail.com>) +# Copyright:: Copyright (c) 2008 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/resource/script' +require 'chef/provider/script' + +class Chef + class Resource + class Ksh < Chef::Resource::Script + + def initialize(name, run_context=nil) + super + @interpreter = "ksh" + end + + end + end +end diff --git a/lib/chef/resources.rb b/lib/chef/resources.rb index af4dd8a642..70cb40f8db 100644 --- a/lib/chef/resources.rb +++ b/lib/chef/resources.rb @@ -43,6 +43,7 @@ require 'chef/resource/group' require 'chef/resource/http_request' require 'chef/resource/homebrew_package' require 'chef/resource/ifconfig' +require 'chef/resource/ksh' require 'chef/resource/link' require 'chef/resource/log' require 'chef/resource/macports_package' diff --git a/spec/unit/resource/ksh_spec.rb b/spec/unit/resource/ksh_spec.rb new file mode 100644 index 0000000000..6565a64d08 --- /dev/null +++ b/spec/unit/resource/ksh_spec.rb @@ -0,0 +1,40 @@ +# +# Author:: Nolan Davidson (<nolan.davidson@gmail.com>) +# Copyright:: Copyright (c) 2008 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 'spec_helper' + +describe Chef::Resource::Ksh do + + before(:each) do + @resource = Chef::Resource::Ksh.new("fakey_fakerton") + end + + it "should create a new Chef::Resource::Ksh" do + expect(@resource).to be_a_kind_of(Chef::Resource) + expect(@resource).to be_a_kind_of(Chef::Resource::Ksh) + end + + it "should have a resource name of :ksh" do + expect(@resource.resource_name).to eql(:ksh) + end + + it "should have an interpreter of ksh" do + expect(@resource.interpreter).to eql("ksh") + end + +end |