summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser
diff options
context:
space:
mode:
authorMarkus Roberts <Markus@reality.com>2010-07-09 18:06:12 -0700
committerMarkus Roberts <Markus@reality.com>2010-07-09 18:06:12 -0700
commit889158ad57e33df083613d6f7d136b2e11aaa16a (patch)
tree1af0b57fe05f86fb372fe7db4dbd71c7ee1759b0 /lib/puppet/parser
parent81e283b28cdd91d259e3b60687aee7ea66e9d05d (diff)
downloadpuppet-889158ad57e33df083613d6f7d136b2e11aaa16a.tar.gz
puppet-889158ad57e33df083613d6f7d136b2e11aaa16a.tar.xz
puppet-889158ad57e33df083613d6f7d136b2e11aaa16a.zip
Code smell: Booleans are first class values.
* Replaced 2 occurances of def (.*) begin (.*) = Integer\((.*)\) return \2 rescue ArgumentError \2 = nil end if \2 = (.*) return \2 else return false end end with 2 Examples: The code: def validuser?(value) begin number = Integer(value) return number rescue ArgumentError number = nil end if number = uid(value) return number else return false end end becomes: def validuser?(value) Integer(value) rescue uid(value) || false end The code: def validgroup?(value) begin number = Integer(value) return number rescue ArgumentError number = nil end if number = gid(value) return number else return false end end becomes: def validgroup?(value) Integer(value) rescue gid(value) || false end * Replaced 28 occurances of return (.*?) if (.*) return (.*) with 3 Examples: The code: return send(options[:mode]) if [:rdoc, :trac, :markdown].include?(options[:mode]) return other becomes: return[:rdoc, :trac, :markdown].include?(options[:mode]) ? send(options[:mode]) : other The code: return true if known_resource_types.definition(name) return false becomes: return(known_resource_types.definition(name) ? true : false) The code: return :rest if request.protocol == 'https' return Puppet::FileBucket::File.indirection.terminus_class becomes: return(request.protocol == 'https' ? :rest : Puppet::FileBucket::File.indirection.terminus_class) * Replaced no occurances of return (.*?) unless (.*) return (.*) with * Replaced 7 occurances of if (.*) (.*[^:])false else \2true end with 3 Examples: The code: if RUBY_PLATFORM == "i386-mswin32" InstallOptions.ri = false else InstallOptions.ri = true end becomes: InstallOptions.ri = RUBY_PLATFORM != "i386-mswin32" The code: if options[:references].length > 1 with_contents = false else with_contents = true end becomes: with_contents = options[:references].length <= 1 The code: if value == false or value == "" or value == :undef return false else return true end becomes: return (value != false and value != "" and value != :undef) * Replaced 19 occurances of if (.*) (.*[^:])true else \2false end with 3 Examples: The code: if Puppet::Util::Log.level == :debug return true else return false end becomes: return Puppet::Util::Log.level == :debug The code: if satisfies?(*features) return true else return false end becomes: return !!satisfies?(*features) The code: if self.class.parsed_auth_db.has_key?(resource[:name]) return true else return false end becomes: return !!self.class.parsed_auth_db.has_key?(resource[:name]) * Replaced 1 occurance of if ([a-z_]) = (.*) (.*[^:])\1 else \3(.*) end with 1 Example: The code: if c = self.send(@subclassname, method) return c else return nil end becomes: return self.send(@subclassname, method) || nil * Replaced 2 occurances of if (.*) (.*[^:])\1 else \2false end with 2 Examples: The code: if hash[:Local] @local = hash[:Local] else @local = false end becomes: @local = hash[:Local] The code: if hash[:Local] @local = hash[:Local] else @local = false end becomes: @local = hash[:Local] * Replaced 10 occurances of if (.*) (.*[^:])(.*) else \2false end with 3 Examples: The code: if defined?(@isnamevar) return @isnamevar else return false end becomes: return defined?(@isnamevar) && @isnamevar The code: if defined?(@required) return @required else return false end becomes: return defined?(@required) && @required The code: if number = uid(value) return number else return false end becomes: return (number = uid(value)) && number * Replaced no occurances of if (.*) (.*[^:])nil else \2(true) end with * Replaced no occurances of if (.*) (.*[^:])true else \2nil end with * Replaced no occurances of if (.*) (.*[^:])\1 else \2nil end with * Replaced 23 occurances of if (.*) (.*[^:])(.*) else \2nil end with 3 Examples: The code: if node = Puppet::Node.find(hostname) env = node.environment else env = nil end becomes: env = (node = Puppet::Node.find(hostname)) ? node.environment : nil The code: if mod = Puppet::Node::Environment.new(env).module(module_name) and mod.files? return @mounts[MODULES].copy(mod.name, mod.file_directory) else return nil end becomes: return (mod = Puppet::Node::Environment.new(env).module(module_name) and mod.files?) ? @mounts[MODULES].copy(mod.name, mod.file_directory) : nil The code: if hash.include?(:CA) and hash[:CA] @ca = Puppet::SSLCertificates::CA.new() else @ca = nil end becomes: @ca = (hash.include?(:CA) and hash[:CA]) ? Puppet::SSLCertificates::CA.new() : nil
Diffstat (limited to 'lib/puppet/parser')
-rw-r--r--lib/puppet/parser/ast/ifstatement.rb6
-rw-r--r--lib/puppet/parser/ast/match_operator.rb3
-rw-r--r--lib/puppet/parser/ast/resource_override.rb3
-rw-r--r--lib/puppet/parser/ast/resource_reference.rb3
-rw-r--r--lib/puppet/parser/compiler.rb6
-rw-r--r--lib/puppet/parser/scope.rb6
6 files changed, 6 insertions, 21 deletions
diff --git a/lib/puppet/parser/ast/ifstatement.rb b/lib/puppet/parser/ast/ifstatement.rb
index 36da50c7a..cbb61bf9c 100644
--- a/lib/puppet/parser/ast/ifstatement.rb
+++ b/lib/puppet/parser/ast/ifstatement.rb
@@ -24,11 +24,7 @@ class Puppet::Parser::AST
if Puppet::Parser::Scope.true?(value)
return @statements.safeevaluate(scope)
else
- if defined?(@else)
- return @else.safeevaluate(scope)
- else
- return nil
- end
+ return defined?(@else) ? @else.safeevaluate(scope) : nil
end
ensure
scope.unset_ephemeral_var(level)
diff --git a/lib/puppet/parser/ast/match_operator.rb b/lib/puppet/parser/ast/match_operator.rb
index 9a12351b9..2ab2befd4 100644
--- a/lib/puppet/parser/ast/match_operator.rb
+++ b/lib/puppet/parser/ast/match_operator.rb
@@ -16,8 +16,7 @@ class Puppet::Parser::AST
def evaluate(scope)
lval = @lval.safeevaluate(scope)
- return @operator == "=~" if rval.evaluate_match(lval, scope)
- return @operator == "!~"
+ return(rval.evaluate_match(lval, scope) ? @operator == "=~" : @operator == "!~")
end
def initialize(hash)
diff --git a/lib/puppet/parser/ast/resource_override.rb b/lib/puppet/parser/ast/resource_override.rb
index f9071fe96..7f7047dd9 100644
--- a/lib/puppet/parser/ast/resource_override.rb
+++ b/lib/puppet/parser/ast/resource_override.rb
@@ -54,8 +54,7 @@ class Puppet::Parser::AST
res
end
# decapsulate array in case of only one item
- return resource.pop if resource.length == 1
- return resource
+ return(resource.length == 1 ? resource.pop : resource)
end
# Create our ResourceDef. Handles type checking for us.
diff --git a/lib/puppet/parser/ast/resource_reference.rb b/lib/puppet/parser/ast/resource_reference.rb
index d2f9b2ce4..37e82d568 100644
--- a/lib/puppet/parser/ast/resource_reference.rb
+++ b/lib/puppet/parser/ast/resource_reference.rb
@@ -8,8 +8,7 @@ class Puppet::Parser::AST::ResourceReference < Puppet::Parser::AST::Branch
# and name.
def evaluate(scope)
titles = Array(title.safeevaluate(scope)).collect { |t| Puppet::Resource.new(type, t, :namespaces => scope.namespaces) }
- return titles.pop if titles.length == 1
- return titles
+ return(titles.length == 1 ? titles.pop : titles)
end
def to_s
diff --git a/lib/puppet/parser/compiler.rb b/lib/puppet/parser/compiler.rb
index 121dae1b1..7ed000e19 100644
--- a/lib/puppet/parser/compiler.rb
+++ b/lib/puppet/parser/compiler.rb
@@ -120,11 +120,7 @@ class Puppet::Parser::Compiler
# Return the node's environment.
def environment
unless defined?(@environment)
- if node.environment and node.environment != ""
- @environment = node.environment
- else
- @environment = nil
- end
+ @environment = (node.environment and node.environment != "") ? node.environment : nil
end
Puppet::Node::Environment.current = @environment
@environment
diff --git a/lib/puppet/parser/scope.rb b/lib/puppet/parser/scope.rb
index 5a0dbfeba..f0c7d77bd 100644
--- a/lib/puppet/parser/scope.rb
+++ b/lib/puppet/parser/scope.rb
@@ -65,11 +65,7 @@ class Puppet::Parser::Scope
# Is the value true? This allows us to control the definition of truth
# in one place.
def self.true?(value)
- if value == false or value == "" or value == :undef
- return false
- else
- return true
- end
+ return (value != false and value != "" and value != :undef)
end
# Is the value a number?, return the correct object or nil if not a number