mojodna-switchboard 0.0.9 → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +1 -1
- data/lib/switchboard/core.rb +35 -6
- data/lib/switchboard/version.rb +1 -1
- data/switchboard.gemspec +2 -2
- metadata +2 -2
    
        data/Rakefile
    CHANGED
    
    
    
        data/lib/switchboard/core.rb
    CHANGED
    
    | @@ -43,12 +43,11 @@ module Switchboard | |
| 43 43 | 
             
                      exit
         | 
| 44 44 | 
             
                    end
         | 
| 45 45 |  | 
| 46 | 
            -
                     | 
| 47 | 
            -
             | 
| 48 | 
            -
                      deferred.kill
         | 
| 49 | 
            -
                    end
         | 
| 46 | 
            +
                    die
         | 
| 47 | 
            +
                  end
         | 
| 50 48 |  | 
| 51 | 
            -
             | 
| 49 | 
            +
                  at_exit do
         | 
| 50 | 
            +
                    die
         | 
| 52 51 | 
             
                  end
         | 
| 53 52 |  | 
| 54 53 | 
             
                  @settings = settings
         | 
| @@ -60,8 +59,12 @@ module Switchboard | |
| 60 59 |  | 
| 61 60 | 
             
                # Start running.
         | 
| 62 61 | 
             
                def run!
         | 
| 62 | 
            +
                  @main_thread = Thread.current
         | 
| 63 | 
            +
             | 
| 63 64 | 
             
                  startup
         | 
| 64 65 |  | 
| 66 | 
            +
                  @ready = true
         | 
| 67 | 
            +
             | 
| 65 68 | 
             
                  if @main
         | 
| 66 69 | 
             
                    instance_eval(&@main)
         | 
| 67 70 | 
             
                  elsif loop?
         | 
| @@ -119,6 +122,10 @@ module Switchboard | |
| 119 122 | 
             
                  end
         | 
| 120 123 | 
             
                end
         | 
| 121 124 |  | 
| 125 | 
            +
                def ready?
         | 
| 126 | 
            +
                  @ready
         | 
| 127 | 
            +
                end
         | 
| 128 | 
            +
             | 
| 122 129 | 
             
                hook(:exception, :iq, :message, :presence, :startup, :stream_connected, :shutdown)
         | 
| 123 130 |  | 
| 124 131 | 
             
              protected
         | 
| @@ -135,6 +142,22 @@ module Switchboard | |
| 135 142 | 
             
                  settings["debug"]
         | 
| 136 143 | 
             
                end
         | 
| 137 144 |  | 
| 145 | 
            +
                def die
         | 
| 146 | 
            +
                  @deferreds.each do |name, deferred|
         | 
| 147 | 
            +
                    puts "Killing #{name}" if debug?
         | 
| 148 | 
            +
                    deferred.kill
         | 
| 149 | 
            +
                  end
         | 
| 150 | 
            +
             | 
| 151 | 
            +
                  shutdown!
         | 
| 152 | 
            +
             | 
| 153 | 
            +
                  timeout(15) do
         | 
| 154 | 
            +
                    sleep 0.1 until shutdown_complete?
         | 
| 155 | 
            +
                  end
         | 
| 156 | 
            +
             | 
| 157 | 
            +
                rescue Timeout::Error
         | 
| 158 | 
            +
                  puts "Shutdown timed out."
         | 
| 159 | 
            +
                end
         | 
| 160 | 
            +
             | 
| 138 161 | 
             
                def disconnect!
         | 
| 139 162 | 
             
                  stream.close
         | 
| 140 163 | 
             
                end
         | 
| @@ -244,7 +267,7 @@ module Switchboard | |
| 244 267 | 
             
                end
         | 
| 245 268 |  | 
| 246 269 | 
             
                def shutdown(run_hooks = true)
         | 
| 247 | 
            -
                  if Thread.current !=  | 
| 270 | 
            +
                  if Thread.current != @main_thread
         | 
| 248 271 | 
             
                    $stderr.puts "Wrong thread! You should be using #shutdown! instead."
         | 
| 249 272 | 
             
                    shutdown!
         | 
| 250 273 | 
             
                    return
         | 
| @@ -260,10 +283,16 @@ module Switchboard | |
| 260 283 |  | 
| 261 284 | 
             
                  puts "Shutting down..." if debug?
         | 
| 262 285 | 
             
                  disconnect! if connected?
         | 
| 286 | 
            +
             | 
| 287 | 
            +
                  @shutdown_complete = true
         | 
| 263 288 | 
             
                end
         | 
| 264 289 |  | 
| 265 290 | 
             
                def shutdown?
         | 
| 266 291 | 
             
                  @shutdown
         | 
| 267 292 | 
             
                end
         | 
| 293 | 
            +
             | 
| 294 | 
            +
                def shutdown_complete?
         | 
| 295 | 
            +
                  @shutdown_complete
         | 
| 296 | 
            +
                end
         | 
| 268 297 | 
             
              end
         | 
| 269 298 | 
             
            end
         | 
    
        data/lib/switchboard/version.rb
    CHANGED
    
    
    
        data/switchboard.gemspec
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            # this file is automatically generated
         | 
| 2 2 | 
             
            Gem::Specification.new do |s|
         | 
| 3 3 | 
             
              s.name = "switchboard"
         | 
| 4 | 
            -
              s.version = "0.0. | 
| 4 | 
            +
              s.version = "0.0.10"
         | 
| 5 5 | 
             
              s.summary = "XMPP toolkit."
         | 
| 6 6 | 
             
              s.description = "A toolkit for assembling XMPP clients and interacting with XMPP servers."
         | 
| 7 7 | 
             
              s.authors = ["Seth Fitzsimmons"]
         | 
| @@ -11,5 +11,5 @@ Gem::Specification.new do |s| | |
| 11 11 | 
             
              s.executables = ["switchboard"]
         | 
| 12 12 | 
             
              s.require_paths = ["lib"]
         | 
| 13 13 |  | 
| 14 | 
            -
              s.add_dependency("mojodna-xmpp4r", ">=", "0.4.0. | 
| 14 | 
            +
              s.add_dependency("mojodna-xmpp4r", ">=", "0.4.0.2")
         | 
| 15 15 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: mojodna-switchboard
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.10
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors: 
         | 
| 7 7 | 
             
            - Seth Fitzsimmons
         | 
| @@ -22,7 +22,7 @@ dependencies: | |
| 22 22 | 
             
                    version: "0"
         | 
| 23 23 | 
             
                - - "="
         | 
| 24 24 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 25 | 
            -
                    version: 0.4.0. | 
| 25 | 
            +
                    version: 0.4.0.2
         | 
| 26 26 | 
             
                version: 
         | 
| 27 27 | 
             
            description: A toolkit for assembling XMPP clients and interacting with XMPP servers.
         | 
| 28 28 | 
             
            email: 
         |