class Packager::Struct

This exists so that you can pass in a Hash or an Array. While passing an Array can be useful, passing in a Hash is far more self-documenting.

Public Class Methods

new(*args) click to toggle source
Calls superclass method
# File lib/packager/struct.rb, line 6
def initialize(*args)
  if args.length == 1 and args[0].instance_of?(Hash)
    difference = Set.new(args[0].keys) - Set.new(self.class.members)
    unless difference.empty?
      raise 'Passed in unknown params: ' + difference.to_a.sort.join(', ')
    end
    super(*args[0].values_at(*self.class.members))
  else
    super(*args)
  end
end