Sha256: 0533ac0566a62fe4fad1cf56c7e34a89d5af5c6ea5087d5080fbecd31c09e2bf

Contents?: true

Size: 383 Bytes

Versions: 4

Compression:

Stored size: 383 Bytes

Contents

module TrackingNumber
  class Info
    def initialize(info_hash = {})
      info_hash.keys.each do |key|
        self.instance_variable_set("@#{key}", info_hash[key])
        self.class_eval { attr_accessor key }
      end

      if info_hash.keys.size == 1
        @default = info_hash[info_hash.keys.first]
      end
    end

    def to_s
      @default || @name
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
tracking_number-1.0.3 lib/tracking_number/info.rb
tracking_number-1.0.2 lib/tracking_number/info.rb
tracking_number-1.0.1 lib/tracking_number/info.rb
tracking_number-1.0.0.pre1 lib/tracking_number/info.rb