Skip to content

Instantly share code, notes, and snippets.

@brain64bit
Last active February 21, 2019 19:30

Revisions

  1. brain64bit revised this gist Feb 21, 2019. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions hello.md
    Original file line number Diff line number Diff line change
    @@ -8,9 +8,9 @@ writer = IO.new(fd)
    writer.sync = true
    i = 1
    while true do
    writer.puts "#{i} - #{SecureRandom.uuid}"
    sleep 1
    i += 1
    writer.puts "#{i} - #{SecureRandom.uuid}"
    sleep 1
    i += 1
    end
    writer.close
    ```
  2. brain64bit created this gist Feb 21, 2019.
    32 changes: 32 additions & 0 deletions hello.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,32 @@
    ### Writing a file using IO
    producer will write a single line of string to file every 1s
    ```ruby
    require 'securerandom'

    fd = IO.sysopen("/tmp/lala.log", "w+")
    writer = IO.new(fd)
    writer.sync = true
    i = 1
    while true do
    writer.puts "#{i} - #{SecureRandom.uuid}"
    sleep 1
    i += 1
    end
    writer.close
    ```

    ### Slurping a file using IO
    subscriber will read a file every 3s
    ```ruby
    fd = IO.sysopen("/tmp/lala.log")
    reader = IO.new(fd)
    while (row = reader.gets) != nil do
    data = row.chomp
    puts ">>> #{data}"
    if reader.eof?
    puts "--------"
    sleep 3
    end
    end
    reader.close
    ```