Skip to content
Snippets Groups Projects
Commit 2668e2ae authored by Clinton R. Nixon's avatar Clinton R. Nixon Committed by Max Howell
Browse files

DRYed up "@foo=self.class.foo unless @foo" statements

Using the example from the existing code:

  CHECKSUM_TYPES.each do |type|
    if !instance_variable_defined?("@#{type}")
      class_value = self.class.send(type)
      instance_variable_set("@#{type}", class_value) if class_value
    end
  end

I extracted that block into a method 'set_instance_variable' which I
then used in all places where this behavior was being used.
parent 44a3d596
No related branches found
No related tags found
No related merge requests found
......@@ -39,9 +39,9 @@ end
class Formula
# Homebrew determines the name
def initialize name='__UNKNOWN__'
@url=self.class.url unless @url
set_instance_variable 'url'
set_instance_variable 'head'
@head=self.class.head unless @head
if @head and (not @url or ARGV.flag? '--HEAD')
@url=@head
@version='HEAD'
......@@ -50,15 +50,15 @@ class Formula
raise if @url.nil?
@name=name
validate_variable :name
@version=self.class.version unless @version
@version=Pathname.new(@url).version unless @version
set_instance_variable 'version'
@version ||= Pathname.new(@url).version
validate_variable :version if @version
@homepage=self.class.homepage unless @homepage
set_instance_variable 'homepage'
CHECKSUM_TYPES.each do |type|
if !instance_variable_defined?("@#{type}")
class_value = self.class.send(type)
instance_variable_set("@#{type}", class_value) if class_value
end
set_instance_variable type
end
end
......@@ -324,6 +324,13 @@ private
v=eval "@#{name}"
raise "Invalid @#{name}" if v.to_s.empty? or v =~ /\s/
end
def set_instance_variable(type)
if !instance_variable_defined?("@#{type}")
class_value = self.class.send(type)
instance_variable_set("@#{type}", class_value) if class_value
end
end
def method_added method
raise 'You cannot override Formula.brew' if method == 'brew'
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment