lib/ember-cli-rails.rb in ember-cli-rails-0.0.3 vs lib/ember-cli-rails.rb in ember-cli-rails-0.0.4
- old
+ new
@@ -1,11 +1,11 @@
require "ember-cli/railtie" if defined?(Rails)
module EmberCLI
extend self
- autoload :BuildServer, "ember-cli/build_server"
+ autoload :App, "ember-cli/app"
autoload :Configuration, "ember-cli/configuration"
autoload :RackServer, "ember-cli/rack_server"
autoload :ViewHelpers, "ember-cli/view_helpers"
autoload :Helpers, "ember-cli/helpers"
@@ -16,21 +16,37 @@
def configuration
Configuration.instance
end
def prepare!
- Rack::Server.send :prepend, RackServer
- Rails.configuration.assets.paths << root.join("assets").to_s
- at_exit{ cleanup }
+ @prepared ||= begin
+ Rails.configuration.assets.paths << root.join("assets").to_s
+ at_exit{ cleanup }
+ true
+ end
end
- def start!
- configuration.apps.values.each(&:start)
+ def enable!
+ if Rails.env.development?
+ prepare!
+ Rack::Server.send :prepend, RackServer
+ else
+ compile!
+ end
end
+ def run!
+ each_app &:run
+ end
+
+ def compile!
+ prepare!
+ each_app &:compile
+ end
+
def stop!
- configuration.apps.values.each(&:stop)
+ each_app &:stop
end
def root
@root ||= Rails.root.join("tmp", "ember-cli-#{uid}")
end
@@ -41,7 +57,11 @@
@uid ||= SecureRandom.uuid
end
def cleanup
root.rmtree if root.exist?
+ end
+
+ def each_app
+ configuration.apps.values.each{ |a| yield a }
end
end