Skip to content

Instantly share code, notes, and snippets.

@hanachin
Forked from kimihito/pomodoro.rb
Created October 10, 2012 17:36
Show Gist options
  • Select an option

  • Save hanachin/3867128 to your computer and use it in GitHub Desktop.

Select an option

Save hanachin/3867128 to your computer and use it in GitHub Desktop.

Revisions

  1. hanachin revised this gist Oct 10, 2012. 1 changed file with 7 additions and 7 deletions.
    14 changes: 7 additions & 7 deletions pomodoro.rb
    Original file line number Diff line number Diff line change
    @@ -21,16 +21,16 @@
    end

    def pomodoro(tweet)
    work = Enumerator.new {|y| loop { y << 25 } }
    rest = Enumerator.new {|y| loop { 3.times { y << 5 }; y << 15 } }
    pomodoro = work.lazy.zip(rest)
    work_times = Enumerator.new {|y| loop { y << 25 } }
    rest_times = Enumerator.new {|y| loop { 3.times { y << 5 }; y << 15 } }
    pomodoro = work_times.lazy.zip(rest_times)
    pomodoro.each {|set|
    work, rest = set
    work_time, rest_time = set

    puts "work"
    sleep work.minutes
    puts rest > 5 ? "long break" : "break"
    sleep rest.minutes
    sleep work_time.minutes / 600
    puts rest_time > 5 ? "long break" : "break"
    sleep rest_time.minutes / 600
    }
    end

  2. hanachin revised this gist Oct 10, 2012. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions pomodoro.rb
    Original file line number Diff line number Diff line change
    @@ -25,12 +25,12 @@ def pomodoro(tweet)
    rest = Enumerator.new {|y| loop { 3.times { y << 5 }; y << 15 } }
    pomodoro = work.lazy.zip(rest)
    pomodoro.each {|set|
    work_time, rest_time = set
    work, rest = set

    puts "work"
    sleep work_time.minutes
    puts rest_time == 15 ? "long break" : "break"
    sleep rest_time.minutes
    sleep work.minutes
    puts rest > 5 ? "long break" : "break"
    sleep rest.minutes
    }
    end

  3. hanachin revised this gist Oct 10, 2012. 1 changed file with 6 additions and 19 deletions.
    25 changes: 6 additions & 19 deletions pomodoro.rb
    Original file line number Diff line number Diff line change
    @@ -20,33 +20,20 @@
    config.oauth_token_secret = 'YOUR OAUTH SERCRET'
    end


    def pomodoro(tweet)
    puts "work"
    work = Enumerator.new {|y| loop { y << 25 } }
    rest = Enumerator.new {|y| loop { 3.times { y << 5 }; y << 15 } }
    pomodoro = work.lazy.zip(rest)
    pomodoro.each {|set|
    work_time, rest_time = set
    case set
    when [25, 5]
    #msg = "@#{tweet.user.screen_name} pomodoro start"
    sleep (work_time * 60)
    puts "break"
    sleep (rest_time * 60)
    puts "work"
    when [25, 15]
    #msg = "@#{tweet.user.screen_name} pomodoro start"
    sleep (work_time * 60)
    puts "long break"
    sleep (rest_time * 60)
    puts "work"
    end

    puts "work"
    sleep work_time.minutes
    puts rest_time == 15 ? "long break" : "break"
    sleep rest_time.minutes
    }
    end



    while true
    begin
    client = UserStream.client
    @@ -57,4 +44,4 @@ def pomodoro(tweet)
    rescue => exc
    p exc
    end
    end
    end
  4. @kimihito kimihito created this gist Oct 10, 2012.
    60 changes: 60 additions & 0 deletions pomodoro.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,60 @@
    #!/usr/bin/env ruby
    #-*- coding: utf-8 -*-
    require 'twitter'
    require 'user_stream'
    require 'active_support'
    require 'active_support/core_ext'
    require 'enumerable/lazy'

    UserStream.configure do |config|
    config.consumer_key = 'YOUR COMSUMER KEY'
    config.consumer_secret = 'YOUR COMSUMER SERCRET'
    config.oauth_token = 'YOUR OAUTH TOKEN'
    config.oauth_token_secret = 'YOUR OAUTH SERCRET'
    end

    Twitter.configure do |config|
    config.consumer_key = 'YOUR COMSUMER KEY'
    config.consumer_secret = 'YOUR COMSUMER SERCRET'
    config.oauth_token = 'YOUR OAUTH TOKEN'
    config.oauth_token_secret = 'YOUR OAUTH SERCRET'
    end


    def pomodoro(tweet)
    puts "work"
    work = Enumerator.new {|y| loop { y << 25 } }
    rest = Enumerator.new {|y| loop { 3.times { y << 5 }; y << 15 } }
    pomodoro = work.lazy.zip(rest)
    pomodoro.each {|set|
    work_time, rest_time = set
    case set
    when [25, 5]
    #msg = "@#{tweet.user.screen_name} pomodoro start"
    sleep (work_time * 60)
    puts "break"
    sleep (rest_time * 60)
    puts "work"
    when [25, 15]
    #msg = "@#{tweet.user.screen_name} pomodoro start"
    sleep (work_time * 60)
    puts "long break"
    sleep (rest_time * 60)
    puts "work"
    end
    }
    end



    while true
    begin
    client = UserStream.client
    client.endpoint = 'https://stream.twitter.com/'
    client.post('/1/statuses/filter.json', track: "POMODORO TWEET") do |status|
    pomodoro(status)
    end
    rescue => exc
    p exc
    end
    end