Class: IB::OrderState
- Includes:
- BaseProperties
- Defined in:
- lib/models/ib/order_state.rb
Overview
OrderState represents dynamic (changeable) info about a single Order, isolating these changes and making Order essentially immutable
Instance Method Summary collapse
- 
  
    
      #==(other)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Comparison. 
- 
  
    
      #active?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Order is in invalid state. 
- #complete_fill? ⇒ Boolean
- 
  
    
      #inactive?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Order is in invalid state. 
- 
  
    
      #new?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Testing Order state:. 
- 
  
    
      #pending?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Order is in a valid, working state on TWS side. 
- 
  
    
      #submitted?  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Order is in a valid, working state on TWS side. 
- #to_human ⇒ Object (also: #to_s)
Methods included from BaseProperties
#content_attributes, #default_attributes, #set_attribute_defaults, #update_missing
Instance Method Details
#==(other) ⇒ Object
Comparison
| 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | # File 'lib/models/ib/order_state.rb', line 96 def == other super(other) || other.is_a?(self.class) && status == other.status && local_id == other.local_id && perm_id == other.perm_id && client_id == other.client_id && filled == other.filled && remaining == other.remaining && last_fill_price == other.last_fill_price && init_margin == other.init_margin && maint_margin == other.maint_margin && equity_with_loan == other.equity_with_loan && why_held == other.why_held && warning_text == other.warning_text && commission == other.commission end | 
#active? ⇒ Boolean
Order is in invalid state
| 82 83 84 | # File 'lib/models/ib/order_state.rb', line 82 def active? new? || pending? end | 
#complete_fill? ⇒ Boolean
| 91 92 93 | # File 'lib/models/ib/order_state.rb', line 91 def complete_fill? status == 'Filled' && remaining == 0 # filled >= total_quantity # Manually corrected end | 
#inactive? ⇒ Boolean
Order is in invalid state
| 87 88 89 | # File 'lib/models/ib/order_state.rb', line 87 def inactive? !active? # status == 'Inactive' end | 
#new? ⇒ Boolean
Testing Order state:
| 67 68 69 | # File 'lib/models/ib/order_state.rb', line 67 def new? status.empty? || status == 'New' end | 
#pending? ⇒ Boolean
Order is in a valid, working state on TWS side
| 77 78 79 | # File 'lib/models/ib/order_state.rb', line 77 def pending? submitted? || status == 'PendingSubmit' end | 
#submitted? ⇒ Boolean
Order is in a valid, working state on TWS side
| 72 73 74 | # File 'lib/models/ib/order_state.rb', line 72 def submitted? status == 'PreSubmitted' || status == 'Submitted' end | 
#to_human ⇒ Object Also known as: to_s
| 115 116 117 118 119 120 121 122 123 124 | # File 'lib/models/ib/order_state.rb', line 115 def to_human "<OrderState: #{status} ##{local_id}/#{perm_id} from #{client_id}" + (filled ? " filled #{filled}/#{remaining}" : '') + (last_fill_price ? " at #{last_fill_price}/#{average_fill_price}" : '') + (init_margin ? " margin #{init_margin}/#{maint_margin}" : '') + (equity_with_loan ? " equity #{equity_with_loan}" : '') + (commission && commission > 0 ? " fee #{commission}" : "") + (why_held ? " why_held #{why_held}" : '') + ((warning_text && warning_text != '') ? " warning #{warning_text}" : '') + ">" end |