Class: FubuRake::MvcApp

Inherits:
Object
  • Object
show all
Defined in:
lib/fuburake.rb

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ MvcApp

Returns a new instance of MvcApp.



227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
# File 'lib/fuburake.rb', line 227

def initialize(options)
  cleaned_name = options[:name].gsub('.', '_').downcase
  run_args = "--directory #{options[:directory]}"

  if options.has_key?(:config)
    run_args += " --config #{options[:config]}"
  end

  if options.has_key?(:application)
    run_args += " --application #{options[:application]}"
  end

  if options.has_key?(:build)
    run_args += " --build #{options[:build]}"
  end

  task = Rake::Task.define_task "#{cleaned_name}:alias" do
    sh "bottles alias #{cleaned_name} #{options[:directory]}"
  end
  task.add_description "Add the alias for #{options[:directory]}"
  Rake::Task[:default].enhance ["#{cleaned_name}:alias"]


  to_task "#{cleaned_name}:restart", "restart #{cleaned_name}", "touch the web.config file to force ASP.Net hosting to recycle"
  to_task "#{cleaned_name}:run", "run #{run_args} --open", "run the application with Katana hosting"
  to_task "#{cleaned_name}:firefox", "run #{run_args} --browser Firefox --watched", "run the application with Katana hosting and 'watch' the application w/ Firefox"
  to_task "#{cleaned_name}:chrome", "run #{run_args} --browser Chrome --watched", "run the application with Katana hosting and 'watch' the application w/ Chrome"

end

Instance Method Details

#to_task(name, args, description) ⇒ Object



257
258
259
260
261
262
263
264
# File 'lib/fuburake.rb', line 257

def to_task(name, args, description)
  task = Rake::Task.define_task name do
    sh "fubu #{args}"
  end

  task.add_description description
  return task
end