Current section
Files
Jump to
Current section
Files
lib/reactive_test.ex
defmodule Reactivity.Test do
require Integer
require Logger
alias Reactivity.Signal.Source
def hot_cold(t) do
if t > 30 do
"hot"
else
"cold"
end
end
def init do
{:ok, t} = Source.new(fn(_old_value) -> Enum.random(10..100) end, -1, 100, :temperature)
#{:ok, h} = Source.new(fn(_old_value) -> Enum.random(60..100) end, -1, 100, :humidity)
end
def test do
# Print out "hot" or "cold" when temp changes.
Reactivity.source(:temperature)
|> Reactivity.liftapp(&hot_cold/1)
|> Reactivity.liftapp(&(Logger.debug "Celcius: #{&1}"))
# Create a new signal in Kelvin.
kelvin = Reactivity.source(:temperature) |> Reactivity.liftapp(&(&1 + 237.15))
# Print out hot/cold for the kelvin signal
|> Reactivity.liftapp(&hot_cold/1)
|> Reactivity.liftapp(&(Logger.debug "Kelvin: #{&1}"))
end
end