Thread gem
by
Lukas Rieder
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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