Module: Chef::Mixin::Deprecation
Defined Under Namespace
Classes: DeprecatedInstanceVariable, DeprecatedObjectProxyBase
Instance Method Summary
collapse
Instance Method Details
#deprecated_attr(name, alternative) ⇒ Object
97
98
99
100
|
# File 'lib/chef/mixin/deprecation.rb', line 97
def deprecated_attr(name, alternative)
deprecated_attr_reader(name, alternative)
deprecated_attr_writer(name, alternative)
end
|
#deprecated_attr_reader(name, alternative, level = :warn) ⇒ Object
102
103
104
105
106
107
|
# File 'lib/chef/mixin/deprecation.rb', line 102
def deprecated_attr_reader(name, alternative, level = :warn)
define_method(name) do
Chef.deprecated(:internal_api, "#{self.class}.#{name} is deprecated. Support will be removed in a future release. #{alternative}")
instance_variable_get("@#{name}")
end
end
|
#deprecated_attr_writer(name, alternative, level = :warn) ⇒ Object
109
110
111
112
113
114
|
# File 'lib/chef/mixin/deprecation.rb', line 109
def deprecated_attr_writer(name, alternative, level = :warn)
define_method("#{name}=") do |value|
Chef.deprecated(:internal_api, "Writing to #{self.class}.#{name} with #{name}= is deprecated. Support will be removed in a future release. #{alternative}")
instance_variable_set("@#{name}", value)
end
end
|
#deprecated_ivar(obj, name, level = nil) ⇒ Object
93
94
95
|
# File 'lib/chef/mixin/deprecation.rb', line 93
def deprecated_ivar(obj, name, level = nil)
DeprecatedInstanceVariable.new(obj, name, level)
end
|