Class: SchwabRb::DataObjects::OrderPreview::CommissionAndFee
- Inherits:
-
Object
- Object
- SchwabRb::DataObjects::OrderPreview::CommissionAndFee
- Defined in:
- lib/schwab_rb/data_objects/order_preview.rb
Instance Attribute Summary collapse
-
#commissions ⇒ Object
readonly
Returns the value of attribute commissions.
-
#fees ⇒ Object
readonly
Returns the value of attribute fees.
-
#true_commission_legs ⇒ Object
readonly
Returns the value of attribute true_commission_legs.
Instance Method Summary collapse
- #commission ⇒ Object
- #fee ⇒ Object
-
#initialize(attrs) ⇒ CommissionAndFee
constructor
A new instance of CommissionAndFee.
- #to_h ⇒ Object
- #true_commission ⇒ Object
Constructor Details
#initialize(attrs) ⇒ CommissionAndFee
Returns a new instance of CommissionAndFee.
164 165 166 167 168 |
# File 'lib/schwab_rb/data_objects/order_preview.rb', line 164 def initialize(attrs) @commissions = attrs[:commission][:commissionLegs] || [] @fees = attrs[:fee][:feeLegs] || [] @true_commission_legs = attrs[:trueCommission][:commissionLegs] || [] end |
Instance Attribute Details
#commissions ⇒ Object (readonly)
Returns the value of attribute commissions.
162 163 164 |
# File 'lib/schwab_rb/data_objects/order_preview.rb', line 162 def commissions @commissions end |
#fees ⇒ Object (readonly)
Returns the value of attribute fees.
162 163 164 |
# File 'lib/schwab_rb/data_objects/order_preview.rb', line 162 def fees @fees end |
#true_commission_legs ⇒ Object (readonly)
Returns the value of attribute true_commission_legs.
162 163 164 |
# File 'lib/schwab_rb/data_objects/order_preview.rb', line 162 def true_commission_legs @true_commission_legs end |
Instance Method Details
#commission ⇒ Object
170 171 172 |
# File 'lib/schwab_rb/data_objects/order_preview.rb', line 170 def commission calculate_total_from_legs(@commissions, "COMMISSION") end |
#fee ⇒ Object
174 175 176 |
# File 'lib/schwab_rb/data_objects/order_preview.rb', line 174 def fee calculate_total_from_legs(@fees, %w[OPT_REG_FEE INDEX_OPTION_FEE]) end |
#to_h ⇒ Object
182 183 184 185 186 187 188 189 190 |
# File 'lib/schwab_rb/data_objects/order_preview.rb', line 182 def to_h { commission: commission, fee: fee, trueCommission: true_commission, commissions: @commissions, fees: @fees } end |
#true_commission ⇒ Object
178 179 180 |
# File 'lib/schwab_rb/data_objects/order_preview.rb', line 178 def true_commission calculate_total_from_legs(@true_commission_legs, "COMMISSION") end |