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.



199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
# File 'lib/fuburake.rb', line 199

def initialize(options)
  cleaned_name = options[:name].gsub('.', '_').downcase
  run_args = "--directory #{options[:directory]}"
  
  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



225
226
227
228
229
230
231
232
# File 'lib/fuburake.rb', line 225

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