Skip to content

Instantly share code, notes, and snippets.

@dcorrigan
Created December 15, 2017 15:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dcorrigan/6dd6f3f411299db39db2b74a569edb10 to your computer and use it in GitHub Desktop.
Save dcorrigan/6dd6f3f411299db39db2b74a569edb10 to your computer and use it in GitHub Desktop.
console hot reloader basic

reloader:

  server = TCPServer.new 2222
  puts 'loading hot reloader...'
  Thread.new do
    puts 'firing up a thread....'
    loop do
      Thread.start(server.accept) do |client|
        file = client.gets.chomp.gsub('/Users/dan/promptworks/colonial-surety/', '')
        # puts file
        if File.exists?(file)
          begin
            load file
          rescue => err
            puts err.message
          end
        else
          puts 'no dice'
        end
        client.close
      end
    end
  end

shell script:

echo $1 | nc localhost 2222

add to console:

libs << " -r #{File.dirname(__FILE__) + '/hot_reloader'}" unless ENV['NO_RELOAD']

run entr:

ls app/models/* | entr -p ./myscripts/reloader.sh /_
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment