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