Sha256: 5eb8a2153f21bfcb0b711dadb5a670c37acf719aac9c8988a6fb62b1b905e321

Contents?: true

Size: 639 Bytes

Versions: 1

Compression:

Stored size: 639 Bytes

Contents

module IB
  module Models
    module Contracts
    end
  end
end

require 'ib-ruby/models/contracts/contract'
require 'ib-ruby/models/contracts/option'
require 'ib-ruby/models/contracts/bag'

module IB
  module Models
    # This module contains Contract subclasses
    module Contracts
      # Specialized Contract subclasses representing different security types
      TYPES = Hash.new(Contract)
      TYPES[IB::SECURITY_TYPES[:bag]] = Bag
      TYPES[IB::SECURITY_TYPES[:option]] = Option

      # Returns concrete subclass for this sec_type, or default Contract
      def [] sec_type
        TYPES[sec_type]
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ib-ruby-0.7.4 lib/ib-ruby/models/contracts.rb