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