class Hokkyoku::CompanyInfoClient

Attributes

now_company[RW]

Public Class Methods

call() click to toggle source
# File lib/hokkyoku.rb, line 75
def call
    new.ask
end

Public Instance Methods

ask() click to toggle source
# File lib/hokkyoku.rb, line 82
def ask
    menu = ask_menu

    if ask_code?(menu)
        self.now_company = Company.new(ask_code)
        puts now_company.info
    elsif ask_sec?(menu)
        ask_sec.times do
            puts now_company.latest_stock_price

            execute_each_sec(1) do
                puts "実行時間:#{Time.now}"
            end
        end
    elsif finish?(menu)
        puts "---------------\n終了します"
        return
    end

    ask
end

Private Instance Methods

ask_code() click to toggle source
# File lib/hokkyoku.rb, line 129
def ask_code
    ask_num "---------------\n企業コードを入力してください"
end
ask_code?(num) click to toggle source
# File lib/hokkyoku.rb, line 106
def ask_code?(num)
    num == 1
end
ask_menu() click to toggle source
# File lib/hokkyoku.rb, line 118
        def ask_menu
            ask_num <<-EOS
----------------
何をしますか?
1 #{now_company ? "新しく企業を調べ直す" : "企業を調べる"}
#{"2 #{now_company.name.strip}の現在株価を指定した秒数更新し続ける" if now_company}
#{now_company ? 3 : 2} 終了する
---------------
    EOS
        end
ask_num(message) click to toggle source
# File lib/hokkyoku.rb, line 137
def ask_num(message)
    puts message
    gets_num
end
ask_sec() click to toggle source
# File lib/hokkyoku.rb, line 133
def ask_sec
    ask_num "秒数を指定してください"
end
ask_sec?(num) click to toggle source
# File lib/hokkyoku.rb, line 110
def ask_sec?(num)
    now_company && num == 2
end
execute_each_sec(sleep_sec) { || ... } click to toggle source
# File lib/hokkyoku.rb, line 146
def execute_each_sec(sleep_sec)
    yield
    sleep sleep_sec
end
finish?(num) click to toggle source
# File lib/hokkyoku.rb, line 114
def finish?(num)
    !now_company && num == 2 || 3
end
gets_num() click to toggle source
# File lib/hokkyoku.rb, line 142
def gets_num
    gets.chomp.to_i
end