diff options
| author | Markus Roberts <Markus@reality.com> | 2010-07-09 18:06:06 -0700 |
|---|---|---|
| committer | Markus Roberts <Markus@reality.com> | 2010-07-09 18:06:06 -0700 |
| commit | 81e283b28cdd91d259e3b60687aee7ea66e9d05d (patch) | |
| tree | e3c7b6e4b41cc219f75a3ae7d1294652ead6f268 /lib/puppet/util/subclass_loader.rb | |
| parent | e8cf06336b64491a2dd7538a06651e0caaf6a48d (diff) | |
| download | puppet-81e283b28cdd91d259e3b60687aee7ea66e9d05d.tar.gz puppet-81e283b28cdd91d259e3b60687aee7ea66e9d05d.tar.xz puppet-81e283b28cdd91d259e3b60687aee7ea66e9d05d.zip | |
Code smell: Line modifiers are preferred to one-line blocks.
* Replaced 6 occurances of (while .*?) *do$ with
The do is unneeded in the block header form and causes problems
with the block-to-one-line transformation.
3 Examples:
The code:
while line = f.gets do
becomes:
while line = f.gets
The code:
while line = shadow.gets do
becomes:
while line = shadow.gets
The code:
while wrapper = zeros.pop do
becomes:
while wrapper = zeros.pop
* Replaced 19 occurances of ((if|unless) .*?) *then$ with
The then is unneeded in the block header form and causes problems
with the block-to-one-line transformation.
3 Examples:
The code:
if f = test_files_for(failed).find { |f| failed_trace =~ Regexp.new(f) } then
becomes:
if f = test_files_for(failed).find { |f| failed_trace =~ Regexp.new(f) }
The code:
unless defined?(@spec_command) then
becomes:
unless defined?(@spec_command)
The code:
if c == ?\n then
becomes:
if c == ?\n
* Replaced 758 occurances of
((?:if|unless|while|until) .*)
(.*)
end
with
The one-line form is preferable provided:
* The condition is not used to assign a variable
* The body line is not already modified
* The resulting line is not too long
3 Examples:
The code:
if Puppet.features.libshadow?
has_feature :manages_passwords
end
becomes:
has_feature :manages_passwords if Puppet.features.libshadow?
The code:
unless (defined?(@current_pool) and @current_pool)
@current_pool = process_zpool_data(get_pool_data)
end
becomes:
@current_pool = process_zpool_data(get_pool_data) unless (defined?(@current_pool) and @current_pool)
The code:
if Puppet[:trace]
puts detail.backtrace
end
becomes:
puts detail.backtrace if Puppet[:trace]
Diffstat (limited to 'lib/puppet/util/subclass_loader.rb')
| -rw-r--r-- | lib/puppet/util/subclass_loader.rb | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/lib/puppet/util/subclass_loader.rb b/lib/puppet/util/subclass_loader.rb index 80a3672c9..505c4b0a5 100644 --- a/lib/puppet/util/subclass_loader.rb +++ b/lib/puppet/util/subclass_loader.rb @@ -15,9 +15,7 @@ module Puppet::Util::SubclassLoader # The hook method that sets up subclass loading. We need the name # of the method to create and the path in which to look for them. def handle_subclasses(name, path) - unless self.is_a?(Class) - raise ArgumentError, "Must be a class to use SubclassLoader" - end + raise ArgumentError, "Must be a class to use SubclassLoader" unless self.is_a?(Class) @subclasses = [] @loader = Puppet::Util::Autoload.new( @@ -41,9 +39,7 @@ module Puppet::Util::SubclassLoader # Now make the method that returns this subclass. This way we # normally avoid the method_missing method. - if c and ! respond_to?(subname) - define_method(subname) { c } - end + define_method(subname) { c } if c and ! respond_to?(subname) end return c end @@ -76,9 +72,7 @@ module Puppet::Util::SubclassLoader # Retrieve or calculate a name. def name(dummy_argument=:work_arround_for_ruby_GC_bug) - unless defined?(@name) - @name = self.to_s.sub(/.+::/, '').intern - end + @name = self.to_s.sub(/.+::/, '').intern unless defined?(@name) return @name end |
