Class: IB::PriceCondition
Constant Summary
OrderCondition::Subclasses
Class Method Summary
collapse
Instance Method Summary
collapse
make_from, #serialize_contract_by_con_id, verify_contract_if_necessary
#==, #as_table, #content_attributes, #invariant_attributes, #set_attribute_defaults, #table_header, #table_row, #to_human, #update_missing
Class Method Details
.fabricate(contract, operator, price) ⇒ Object
dsl: PriceCondition.fabricate some_contract, “>=”, 500
61
62
63
64
65
66
|
# File 'lib/models/ib/condition.rb', line 61
def self.fabricate contract, operator, price
error "Condition Operator has to be \">=\" or \"<=\" " unless ["<=", ">="].include? operator
self.new operator: operator,
price: price.to_i,
contract: verify_contract_if_necessary( contract )
end
|
.make(buffer) ⇒ Object
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/models/ib/condition.rb', line 44
def self.make buffer
m= self.new conjunction_connection: buffer.read_string,
operator: buffer.read_int,
price: buffer.read_decimal
the_contract = IB::Contract.new con_id: buffer.read_int, exchange: buffer.read_string
m.contract = the_contract
m.trigger_method = buffer.read_int
m
end
|
Instance Method Details
#condition_type ⇒ Object
40
41
42
|
# File 'lib/models/ib/condition.rb', line 40
def condition_type
1
end
|
#default_attributes ⇒ Object
36
37
38
|
# File 'lib/models/ib/condition.rb', line 36
def default_attributes
super.merge( :trigger_method => :default )
end
|
#serialize ⇒ Object
56
57
58
|
# File 'lib/models/ib/condition.rb', line 56
def serialize
super << self[:operator] << price << serialize_contract_by_con_id << self[:trigger_method]
end
|