Files
chromebrew/lib/package_helpers.rb
supechicken cd79481e89 package.rb: Use a function to create function placeholders (#6544)
* Update package.rb

* Update package_helpers.rb

* Update package.rb

* Update package_helpers.rb

* Update package_helpers.rb

* Update package.rb

* Update const.rb

* Update package.rb
2022-01-04 23:42:15 -05:00

24 lines
670 B
Ruby

class InstallError < RuntimeError; end
def create_placeholder (*functions)
# create_placeholder: create a placeholder for functions that will be used by crew later
functions.each do |func|
self.class_eval("def self.#{func.to_s}; end")
end
end
def property (*properties)
# property: like attr_accessor, but `=` is not needed to define a value
# Examples:
# {prop_name}('example') # set {prop_name} to 'example'
# {prop_name} # return the value of {prop_name}
properties.each do |prop|
self.class_eval <<~EOT
def self.#{prop} (#{prop} = nil)
@#{prop} = #{prop} if #{prop}
@#{prop}
end
EOT
end
end