Sha256: 6e116e076ae2f87563a145804862844ec9075786541acc64a8dcfc1acb572a83

Contents?: true

Size: 1.87 KB

Versions: 8

Compression:

Stored size: 1.87 KB

Contents

class ProconBypassMan::PrintBootMessageCommand
  class BootMessage
    def initialize
      @table = {}
      @table[:ruby_version] = RUBY_VERSION
      @table[:pbm_version] = ProconBypassMan::VERSION
      @table[:pid] = $$
      @table[:root_path] = ProconBypassMan.root
      @table[:pid_path] = ProconBypassMan.pid_path
      @table[:setting_path] = ProconBypassMan::ButtonsSettingConfiguration.instance.setting_path
      @table[:uptime_from_boot] = ProconBypassMan::Uptime.from_boot
      @table[:use_pbmenv] = !(!!`which pbmenv`.empty?)
      @table[:session_id] = ProconBypassMan.session_id
      @table[:device_id] = ProconBypassMan.device_id

      # 開発中のHEADを取りたかったけど、Gem::Specification経由から取得する必要がありそう
      # build_version = `git rev-parse --short HEAD`.chomp
      # if build_version.empty?
      #   @table[:build_version] = 'release version'
      # else
      #   @table[:build_version] = build_version
      # end

      # build version: #{@table[:build_version]}
    end

    # @return [String]
    def to_s
      booted_message = <<~EOF
      ----
      RUBY_VERSION: #{@table[:ruby_version]}
      ProconBypassMan::VERSION: #{@table[:pbm_version]}
      pid: #{@table[:pid]}
      root: #{@table[:root_path]}
      pid_path: #{@table[:pid_path]}
      setting_path: #{@table[:setting_path]}
      uptime from boot: #{@table[:uptime_from_boot]} sec
      use_pbmenv: #{@table[:use_pbmenv]}
      session_id: #{ProconBypassMan.session_id}
      device_id: #{ProconBypassMan.device_id}
      ----
      EOF
    end

    # @return [Hash]
    def to_hash
      @table
    end
  end

  # @return [void]
  def self.execute
    message = BootMessage.new
    ProconBypassMan::ReportBootJob.perform_async(message.to_hash)
    ProconBypassMan::ReportLoadConfigJob.perform_async(ProconBypassMan.config.raw_setting)
    puts message.to_s
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
procon_bypass_man-0.1.20.1 lib/procon_bypass_man/commands/print_boot_message_command.rb
procon_bypass_man-0.1.20 lib/procon_bypass_man/commands/print_boot_message_command.rb
procon_bypass_man-0.1.19.1 lib/procon_bypass_man/commands/print_boot_message_command.rb
procon_bypass_man-0.1.19 lib/procon_bypass_man/commands/print_boot_message_command.rb
procon_bypass_man-0.1.18 lib/procon_bypass_man/commands/print_boot_message_command.rb
procon_bypass_man-0.1.17 lib/procon_bypass_man/commands/print_boot_message_command.rb
procon_bypass_man-0.1.16.1 lib/procon_bypass_man/commands/print_boot_message_command.rb
procon_bypass_man-0.1.16 lib/procon_bypass_man/commands/print_boot_message_command.rb