summaryrefslogtreecommitdiffstats
path: root/lib/puppet/util/subclass_loader.rb
diff options
context:
space:
mode:
authorMarkus Roberts <Markus@reality.com>2010-07-09 18:06:06 -0700
committerMarkus Roberts <Markus@reality.com>2010-07-09 18:06:06 -0700
commit81e283b28cdd91d259e3b60687aee7ea66e9d05d (patch)
treee3c7b6e4b41cc219f75a3ae7d1294652ead6f268 /lib/puppet/util/subclass_loader.rb
parente8cf06336b64491a2dd7538a06651e0caaf6a48d (diff)
downloadpuppet-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.rb12
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