Module: YfAsDataframe::Holders

Extended by:
ActiveSupport::Concern
Included in:
Ticker
Defined in:
lib/yf_as_dataframe/holders.rb

Constant Summary collapse

BASE_URL =

include YfConnection

'https://query2.finance.yahoo.com'.freeze
QUOTE_SUMMARY_URL =
"#{BASE_URL}/v10/finance/quoteSummary/".freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object

attr_accessor :ticker



14
15
16
17
18
19
20
21
22
# File 'lib/yf_as_dataframe/holders.rb', line 14

def self.included(base) # built-in Ruby hook for modules
  base.class_eval do
    original_method = instance_method(:initialize)
    define_method(:initialize) do |*args, &block|
      original_method.bind(self).call(*args, &block)
      initialize_holders # (your module code here)
    end
  end
end

Instance Method Details

#initialize_holdersObject



24
25
26
27
28
29
30
31
32
33
# File 'lib/yf_as_dataframe/holders.rb', line 24

def initialize_holders
  @major = nil
  @major_direct_holders = nil
  @institutional = nil
  @mutualfund = nil

  @insider_transactions = nil
  @insider_purchases = nil
  @insider_roster = nil
end

#insider_purchasesObject



61
62
63
64
# File 'lib/yf_as_dataframe/holders.rb', line 61

def insider_purchases
  _fetch_and_parse if @insider_purchases.nil? 
  return @insider_purchases
end

#insider_rosterObject Also known as: insider_roster_holders



66
67
68
69
70
71
# File 'lib/yf_as_dataframe/holders.rb', line 66

def insider_roster
  return @insider_roster unless @insider_roster.nil? 

  _fetch_and_parse
  return @insider_roster
end

#insider_transactionsObject



56
57
58
59
# File 'lib/yf_as_dataframe/holders.rb', line 56

def insider_transactions
  _fetch_and_parse if @insider_transactions.nil? 
  return @insider_transactions
end

#institutionalObject Also known as: institutional_holders



42
43
44
45
# File 'lib/yf_as_dataframe/holders.rb', line 42

def institutional
  _fetch_and_parse if @institutional.nil? 
  return @institutional
end

#majorObject Also known as: major_holders



35
36
37
38
# File 'lib/yf_as_dataframe/holders.rb', line 35

def major
  _fetch_and_parse if @major.nil?
  return @major
end

#mutualfundObject Also known as: mutualfund_holders



49
50
51
52
# File 'lib/yf_as_dataframe/holders.rb', line 49

def mutualfund
  _fetch_and_parse if @mutualfund.nil? 
  return @mutualfund
end