Module: Spring

Defined in:
lib/spring/env.rb,
lib/spring/sid.rb,
lib/spring/client.rb,
lib/spring/errors.rb,
lib/spring/server.rb,
lib/spring/version.rb,
lib/spring/watcher.rb,
lib/spring/commands.rb,
lib/spring/client/run.rb,
lib/spring/application.rb,
lib/spring/client/help.rb,
lib/spring/client/stop.rb,
lib/spring/client/rails.rb,
lib/spring/client/start.rb,
lib/spring/client/status.rb,
lib/spring/configuration.rb,
lib/spring/client/binstub.rb,
lib/spring/client/command.rb,
lib/spring/watcher/listen.rb,
lib/spring/watcher/polling.rb,
lib/spring/watcher/abstract.rb,
lib/spring/application_manager.rb,
lib/spring/process_title_updater.rb

Defined Under Namespace

Modules: Client, Commands, SID, Watcher Classes: Application, ApplicationManager, ClientError, CommandNotFound, Env, MissingApplication, ProcessTitleUpdater, Server, UnknownProject

Constant Summary collapse

IGNORE_SIGNALS =
%w(INT QUIT)
VERSION =
"0.0.8"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.application_rootObject

Returns the value of attribute application_root.



5
6
7
# File 'lib/spring/configuration.rb', line 5

def application_root
  @application_root
end

.commandsObject (readonly)

Returns the value of attribute commands.



9
10
11
# File 'lib/spring/commands.rb', line 9

def commands
  @commands
end

.watch_intervalObject

Returns the value of attribute watch_interval.



7
8
9
# File 'lib/spring/watcher.rb', line 7

def watch_interval
  @watch_interval
end

.watcherObject



13
14
15
# File 'lib/spring/watcher.rb', line 13

def self.watcher
  @watcher ||= watcher_class.new(Spring.application_root_path, watch_interval)
end

Class Method Details

.after_fork(&block) ⇒ Object



11
12
13
# File 'lib/spring/configuration.rb', line 11

def after_fork(&block)
  after_fork_callbacks << block
end

.after_fork_callbacksObject



7
8
9
# File 'lib/spring/configuration.rb', line 7

def after_fork_callbacks
  @after_fork_callbacks ||= []
end

.application_root_pathObject



19
20
21
22
23
24
25
# File 'lib/spring/configuration.rb', line 19

def application_root_path
  @application_root_path ||= begin
    path = Pathname.new(File.expand_path(application_root || find_project_root))
    raise MissingApplication.new(path) unless path.join("config/application.rb").exist?
    path
  end
end

.command(name) ⇒ Object



20
21
22
# File 'lib/spring/commands.rb', line 20

def self.command(name)
  commands.fetch name
end

.command?(name) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/spring/commands.rb', line 16

def self.command?(name)
  commands.include? name
end

.register_command(name, klass) ⇒ Object



12
13
14
# File 'lib/spring/commands.rb', line 12

def self.register_command(name, klass)
  commands[name] = klass
end

.verify_environment!Object



15
16
17
# File 'lib/spring/configuration.rb', line 15

def verify_environment!
  application_root_path
end

.watch(*items) ⇒ Object



25
26
27
# File 'lib/spring/watcher.rb', line 25

def self.watch(*items)
  watcher.add *items
end

.watcher_classObject



17
18
19
20
21
22
23
# File 'lib/spring/watcher.rb', line 17

def self.watcher_class
  if Watcher::Listen.available?
    Watcher::Listen
  else
    Watcher::Polling
  end
end