Sha256: 33695be9d725dd96fcd9353114584e1c297dbe553c82a3536c94441fcfe9b50a

Contents?: true

Size: 722 Bytes

Versions: 1

Compression:

Stored size: 722 Bytes

Contents

# frozen_string_literal: true

module TimeBlock
  class Agent
    def initialize(time)
      raise 'No terminal-notifier, please install it, brew install terminal-notifier' unless terminal_notifier_exist?
      @time = time
    end

    def run
      pre_callback
      sleep @time
      post_callback
    end

    private

    def terminal_notifier_exist?
      `which terminal-notifier`
      $CHILD_STATUS.zero?
    end

    def pre_callback
      `terminal-notifier -message #{'Time is starting !!!'.dump} -title "TimeBlock - #{@time}s" -sound "default"`
    end

    def post_callback
      `terminal-notifier -message #{'Time is out dude !!!'.dump} -title "TimeBlock - #{@time}s" -sound "default"`
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
time_block-0.1.0 lib/time_block/agent.rb