Method: LibGems::Specification.attribute_alias_singular
- Defined in:
- lib/libgems/specification.rb
.attribute_alias_singular(singular, plural) ⇒ Object
Defines a singular version of an existing plural attribute (i.e. one whose value is expected to be an array). This means just creating a helper method that takes a single value and appends it to the array. These are created for convenience, so that in a spec, one can write
s.require_path = 'mylib'
instead of:
s.require_paths = ['mylib']
That above convenience is available courtesy of:
attribute_alias_singular :require_path, :require_paths
247 248 249 250 251 252 253 254 255 |
# File 'lib/libgems/specification.rb', line 247 def self.attribute_alias_singular(singular, plural) define_method("#{singular}=") { |val| send("#{plural}=", [val]) } define_method("#{singular}") { val = send("#{plural}") val.nil? ? nil : val.first } end |