×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Threads
Slide 2
Slide 2 text
thread gem by @meh
Slide 3
Slide 3 text
Thread#every
Slide 4
Slide 4 text
do something every n seconds
Slide 5
Slide 5 text
lets implement something relevant
Slide 6
Slide 6 text
class Life! ! def self.why?! ! ! sleep(rand(5))! ! ! raise "" unless give_answer?! ! ! "answer: #{rand(42)}"! ! end! ! ! def self.give_answer?! ! ! rand(2) > 0 ? true : false! ! end! ! end
Slide 7
Slide 7 text
class Life! ! def self.why?! ! ! sleep(rand(5))! ! ! raise "" unless give_answer?! ! ! "answer: #{rand(42)}"! ! end! ! ! def self.give_answer?! ! ! rand(2) > 0 ? true : false! ! end! ! end
Slide 8
Slide 8 text
class Life! ! def self.why?! ! ! sleep(rand(5))! ! ! raise "" unless give_answer?! ! ! "answer: #{rand(42)}"! ! end! ! ! def self.give_answer?! ! ! rand(2) > 0 ? true : false! ! end! ! end
Slide 9
Slide 9 text
Life.why?! !
Slide 10
Slide 10 text
Life.why?! # …waiting…!
Slide 11
Slide 11 text
Life.why?! # …waiting…! # RuntimeError:
Slide 12
Slide 12 text
relaxed life
Slide 13
Slide 13 text
accept nil! as an answer!
Slide 14
Slide 14 text
class RelaxedLife! ! def self.why?! @every ||= Thread.every(60) do! Life.why?! end! @every.gimme_value! || "go have fun"! end! ! end
Slide 15
Slide 15 text
class RelaxedLife! ! def self.why?! @every ||= Thread.every(60) do! Life.why?! end! @every.gimme_value! || "go have fun"! end! ! end
Slide 16
Slide 16 text
require "thread/every"! ! class Thread::Every! ! def gimme_value!! @mutex.synchronize do! @old = true! @value! end! end! ! end
Slide 17
Slide 17 text
require "thread/every"! ! class Thread::Every! ! def gimme_value!! @mutex.synchronize do! @old = true! @value! end! end! ! end
Slide 18
Slide 18 text
require "thread/every"! ! class Thread::Every! ! def gimme_value!! @mutex.synchronize do! @old = true! @value! end! end! ! end
Slide 19
Slide 19 text
RelaxedLife.why?!
Slide 20
Slide 20 text
RelaxedLife.why?! # …waiting…!
Slide 21
Slide 21 text
RelaxedLife.why?! # …waiting…! # => "go have fun"!
Slide 22
Slide 22 text
RelaxedLife.why?! # …waiting…! # => "go have fun"! RelaxedLife.why?! # => 8!
Slide 23
Slide 23 text
RelaxedLife.why?! # …waiting…! # => "go have fun"! RelaxedLife.why?! # => 8! RelaxedLife.why?! # => 8!
Slide 24
Slide 24 text
RelaxedLife.why?! # …waiting…! # => "go have fun"! RelaxedLife.why?! # => 8! RelaxedLife.why?! # => 8! RelaxedLife.why?! # => 41!
Slide 25
Slide 25 text
RelaxedLife.why?! # …waiting…! # => "go have fun"! RelaxedLife.why?! # => 8! RelaxedLife.why?! # => 8! RelaxedLife.why?! # => 41! RelaxedLife.why?! # …
Slide 26
Slide 26 text
now go on and live
Slide 27
Slide 27 text
a relaxed life
Slide 28
Slide 28 text
Lukas @Overbryd
Slide 29
Slide 29 text
thread gem by @meh