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
108
109
110
|
# File 'lib/chef/mixin/deprecation.rb', line 102
def deprecated_attr_reader(name, alternative, level = :warn)
define_method(name) do
Chef.log_deprecation("#{self.class}.#{name} is deprecated. Support will be removed in a future release.")
Chef.log_deprecation(alternative)
Chef.log_deprecation("Called from:")
caller[0..3].each { |c| Chef.log_deprecation(c) }
instance_variable_get("@#{name}")
end
end
|
#deprecated_attr_writer(name, alternative, level = :warn) ⇒ Object
112
113
114
115
116
117
118
119
120
|
# File 'lib/chef/mixin/deprecation.rb', line 112
def deprecated_attr_writer(name, alternative, level = :warn)
define_method("#{name}=") do |value|
Chef.log_deprecation("Writing to #{self.class}.#{name} with #{name}= is deprecated. Support will be removed in a future release.")
Chef.log_deprecation(alternative)
Chef.log_deprecation("Called from:")
caller[0..3].each { |c| Chef.log_deprecation(c) }
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
|