diff options
author | John Keiser <john@johnkeiser.com> | 2015-06-03 15:55:26 -0700 |
---|---|---|
committer | John Keiser <john@johnkeiser.com> | 2015-06-23 15:23:01 -0700 |
commit | c7f314f08d8baa0d5d8743153e244f0b4daec5e3 (patch) | |
tree | b31b2e4bcd4face7082cd6f391f451c2dc83d02b /lib/chef | |
parent | 0a55c383bcd1f658f68c4ee1dbb2dd910cea052b (diff) | |
download | chef-c7f314f08d8baa0d5d8743153e244f0b4daec5e3.tar.gz |
Add property= setter to properties
Diffstat (limited to 'lib/chef')
-rw-r--r-- | lib/chef/resource.rb | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/chef/resource.rb b/lib/chef/resource.rb index 39435d557d..cbab5e9c27 100644 --- a/lib/chef/resource.rb +++ b/lib/chef/resource.rb @@ -774,6 +774,8 @@ class Chef # property :x, String, default: 'hi' # def self.property(name, type=NULL_ARG, **options) + name = name.to_sym + if type != NULL_ARG if options[:is] options[:is] = ([ type ] + [ options[:is] ]).flatten(1) @@ -781,8 +783,12 @@ class Chef options[:is] = type end end - define_method(name) do |arg=nil| - set_or_return(name.to_sym, arg, options) + + define_method(name) do |value=nil| + set_or_return(name, value, options) + end + define_method("#{name}=") do |value| + set_or_return(name, value, options) end end |