Class: SchwabRb::DataObjects::OptionExpirationChain::Expiration

Inherits:
Object
  • Object
show all
Defined in:
lib/schwab_rb/data_objects/option_expiration_chain.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ Expiration

Returns a new instance of Expiration.



77
78
79
80
81
82
83
84
# File 'lib/schwab_rb/data_objects/option_expiration_chain.rb', line 77

def initialize(data)
  @expiration_date = data["expirationDate"]
  @days_to_expiration = data["daysToExpiration"]
  @expiration_type = data["expirationType"]
  @settlement_type = data["settlementType"]
  @option_roots = data["optionRoots"]
  @standard = data["standard"]
end

Instance Attribute Details

#days_to_expirationObject (readonly)

Returns the value of attribute days_to_expiration.



74
75
76
# File 'lib/schwab_rb/data_objects/option_expiration_chain.rb', line 74

def days_to_expiration
  @days_to_expiration
end

#expiration_dateObject (readonly)

Returns the value of attribute expiration_date.



74
75
76
# File 'lib/schwab_rb/data_objects/option_expiration_chain.rb', line 74

def expiration_date
  @expiration_date
end

#expiration_typeObject (readonly)

Returns the value of attribute expiration_type.



74
75
76
# File 'lib/schwab_rb/data_objects/option_expiration_chain.rb', line 74

def expiration_type
  @expiration_type
end

#option_rootsObject (readonly)

Returns the value of attribute option_roots.



74
75
76
# File 'lib/schwab_rb/data_objects/option_expiration_chain.rb', line 74

def option_roots
  @option_roots
end

#settlement_typeObject (readonly)

Returns the value of attribute settlement_type.



74
75
76
# File 'lib/schwab_rb/data_objects/option_expiration_chain.rb', line 74

def settlement_type
  @settlement_type
end

#standardObject (readonly)

Returns the value of attribute standard.



74
75
76
# File 'lib/schwab_rb/data_objects/option_expiration_chain.rb', line 74

def standard
  @standard
end

Instance Method Details

#date_objectObject



117
118
119
# File 'lib/schwab_rb/data_objects/option_expiration_chain.rb', line 117

def date_object
  Date.parse(@expiration_date) if @expiration_date
end

#expires_in_days?(days) ⇒ Boolean

Returns:

  • (Boolean)


121
122
123
# File 'lib/schwab_rb/data_objects/option_expiration_chain.rb', line 121

def expires_in_days?(days)
  @days_to_expiration == days
end

#expires_today?Boolean

Returns:

  • (Boolean)


125
126
127
# File 'lib/schwab_rb/data_objects/option_expiration_chain.rb', line 125

def expires_today?
  @days_to_expiration.zero?
end

#expires_tomorrow?Boolean

Returns:

  • (Boolean)


129
130
131
# File 'lib/schwab_rb/data_objects/option_expiration_chain.rb', line 129

def expires_tomorrow?
  @days_to_expiration == 1
end

#monthly?Boolean

Returns:

  • (Boolean)


105
106
107
# File 'lib/schwab_rb/data_objects/option_expiration_chain.rb', line 105

def monthly?
  @expiration_type == "M"
end

#quarterly?Boolean

Returns:

  • (Boolean)


109
110
111
# File 'lib/schwab_rb/data_objects/option_expiration_chain.rb', line 109

def quarterly?
  @expiration_type == "Q"
end

#special?Boolean

Returns:

  • (Boolean)


113
114
115
# File 'lib/schwab_rb/data_objects/option_expiration_chain.rb', line 113

def special?
  @expiration_type == "S"
end

#standard?Boolean

Returns:

  • (Boolean)


97
98
99
# File 'lib/schwab_rb/data_objects/option_expiration_chain.rb', line 97

def standard?
  @standard == true
end

#to_hObject



86
87
88
89
90
91
92
93
94
95
# File 'lib/schwab_rb/data_objects/option_expiration_chain.rb', line 86

def to_h
  {
    "expirationDate" => @expiration_date,
    "daysToExpiration" => @days_to_expiration,
    "expirationType" => @expiration_type,
    "settlementType" => @settlement_type,
    "optionRoots" => @option_roots,
    "standard" => @standard
  }
end

#weekly?Boolean

Returns:

  • (Boolean)


101
102
103
# File 'lib/schwab_rb/data_objects/option_expiration_chain.rb', line 101

def weekly?
  @expiration_type == "W"
end