Sha256: fdc5a5c6b34804c147f3dd25c8cad74ce12df63d0cc7d7835efc1f865fb1a24b

Contents?: true

Size: 768 Bytes

Versions: 5

Compression:

Stored size: 768 Bytes

Contents

require "spring/errors"
require "spring/json"

require "spring/client/command"
require "spring/client/run"
require "spring/client/help"
require "spring/client/binstub"
require "spring/client/stop"
require "spring/client/status"
require "spring/client/rails"

module Spring
  module Client
    COMMANDS = {
      "help"    => Client::Help,
      "binstub" => Client::Binstub,
      "stop"    => Client::Stop,
      "status"  => Client::Status,
      "rails"   => Client::Rails
    }

    def self.run(args)
      command_for(args.first).call(args)
    rescue CommandNotFound
      Client::Help.call(args)
    rescue ClientError => e
      $stderr.puts e.message
      exit 1
    end

    def self.command_for(name)
      COMMANDS[name] || Client::Run
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
spring-1.0.0 lib/spring/client.rb
spring-0.9.2 lib/spring/client.rb
spring-0.9.1 lib/spring/client.rb
spring-0.9.0 lib/spring/client.rb
spring-0.0.11 lib/spring/client.rb