sketchucation logo sketchucation
    • Login
    🤑 SketchPlus 1.3 | 44 Tools for $15 until June 20th Buy Now

    Ruby File Auto-Reloader code

    Scheduled Pinned Locked Moved Developers' Forum
    3 Posts 2 Posters 1.2k Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J Offline
      Jim
      last edited by

      I got tired of reloading files I was editing, so made this up real quick. It uses a timer to check the last modification time on a file, and loads if updated. It handles errors gracefully by only trying to reload a file once per update. If packaged up with a nice user interface, it might make a nice dev tool.

      Stop the timer in the Ruby Console: UI.stop_timer $t

      Note - It's only good for one file at a time and needs improved if loading multiple files is needed. I just wanted something for "right now," and will try to make it better later.

      
      def autoreload(name)
          pf = Sketchup.find_support_file('plugins')
          file = File.join(pf, name)
          $t = UI.start_timer(2, true) do
              mt = Kernel.test(?M, file)
              if mt.to_i > $mt.to_i
                  puts "Loading; #{File.basename(file)}"
                  begin
                      load file
                  rescue Exception => e
                      puts e.message
                      puts e.backtrace
                  end
                  $mt = mt
              end
          end
      end
      
      
      

      Hi

      1 Reply Last reply Reply Quote 0
      • M Offline
        Morgan74
        last edited by

        Thank-you for this great Plugin !!! 👍
        It's so boring to always close and re-open SU to update my plugins files !! 👿

        1 Reply Last reply Reply Quote 0
        • J Offline
          Jim
          last edited by

          I'm glad you found it useful.

          But there are times when it is good to close SketchUp; when you change the name of a method, for example. Closing SketchUp is the only way to get rid of the old method name. Sometimes you have a bug where a part of your code is still using the old method name until you remember you changed it. I've done this numerous times.

          Hi

          1 Reply Last reply Reply Quote 0
          • 1 / 1
          • First post
            Last post
          Buy SketchPlus
          Buy SUbD
          Buy WrapR
          Buy eBook
          Buy Modelur
          Buy Vertex Tools
          Buy SketchCuisine
          Buy FormFonts

          Advertisement