Sha256: b4f4586b4cd7fad6a21e1bd12e8e89315bef64ded50c78f59e6e5b00acf6bb66

Contents?: true

Size: 1.92 KB

Versions: 27

Compression:

Stored size: 1.92 KB

Contents

# Load rake tasks from common rake task definition locations
Dir["lib/tasks/**/*.rake"].
  concat(Dir["tasks/**/*.rake"]).
  concat(Dir["{test,spec}/*.rake"]).each  { |rake| load(rake) }

# Loads the Padrino applications mounted within the project
# setting up the required environment for Padrino
task :environment do
  Padrino.mounted_apps.each do |app|
    app.app_obj.setup_application!
  end
end

desc "Generate a secret key"
task :secret do
  shell.say SecureRandom.hex(32)
end

# lists all routes of a given app
def list_app_routes(app, args)
  app_routes = app.named_routes
  app_routes.reject! { |r| r.identifier.to_s !~ /#{args.query}/ } if args.query.present?
  app_routes.map! { |r| [r.verb, r.name, r.path] }
  return if app_routes.empty?
  shell.say "\nApplication: #{app.app_class}", :yellow
  app_routes.unshift(["REQUEST", "URL", "PATH"])
  max_col_1 = app_routes.max { |a, b| a[0].size <=> b[0].size }[0].size
  max_col_2 = app_routes.max { |a, b| a[1].size <=> b[1].size }[1].size
  app_routes.each_with_index do |row, i|
    message = [row[1].ljust(max_col_2+2), row[0].center(max_col_1+2), row[2]]
    shell.say("    " + message.join(" "), i==0 ? :bold : nil)
  end
end

desc "Displays a listing of the named routes within a project, optionally only those matched by [query]"
task :routes, [:query] => :environment do |t, args|
  Padrino.mounted_apps.each do |app|
    list_app_routes(app, args)
  end
end

desc "Displays a listing of the named routes a given app [app]"
namespace :routes do
  task :app, [:app] => :environment do |t, args|
    app = Padrino.mounted_apps.find { |app| app.app_class == args.app }
    list_app_routes(app, args) if app
  end
end

desc "Generate the Rakefile"
task :gen do
  File.open(Padrino.root("Rakefile"), "w") do |file|
    file.puts <<-RUBY.gsub(/^ {6}/, '')
      require File.expand_path('../config/boot.rb', __FILE__)
      require 'padrino-core/cli/rake'
      PadrinoTasks.init
    RUBY
  end
end

Version data entries

27 entries across 27 versions & 3 rubygems

Version Path
middleman-core-3.1.0.rc.2 lib/vendored-middleman-deps/padrino-core-0.10.7/lib/padrino-core/cli/rake_tasks.rb
padrino-core-0.10.7 lib/padrino-core/cli/rake_tasks.rb
middleman-core-3.0.0.beta.2 lib/middleman-core/vendor/padrino-core-0.10.6/lib/padrino-core/cli/rake_tasks.rb
padrino-core-0.10.6 lib/padrino-core/cli/rake_tasks.rb
padrino-core-0.10.6.e lib/padrino-core/cli/rake_tasks.rb
padrino-core-0.10.6.d lib/padrino-core/cli/rake_tasks.rb
padrino-core-0.10.6.c lib/padrino-core/cli/rake_tasks.rb
padrino-core-0.10.6.b lib/padrino-core/cli/rake_tasks.rb
padrino-core-0.10.6.a lib/padrino-core/cli/rake_tasks.rb
middleman-core-3.0.0.beta.1 lib/middleman-core/vendor/padrino-core-0.10.5/lib/padrino-core/cli/rake_tasks.rb
middleman-core-3.0.0.alpha.9 lib/middleman-core/vendor/padrino-core-0.10.5/lib/padrino-core/cli/rake_tasks.rb
middleman-core-3.0.0.alpha.8 lib/middleman-core/vendor/padrino-core-0.10.5/lib/padrino-core/cli/rake_tasks.rb
middleman-core-3.0.0.alpha.7 lib/middleman-core/vendor/padrino-core-0.10.5/lib/padrino-core/cli/rake_tasks.rb
middleman-3.0.0.alpha.6 lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/cli/rake_tasks.rb
middleman-3.0.0.alpha.5 lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/cli/rake_tasks.rb
middleman-3.0.0.alpha.4 lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/cli/rake_tasks.rb
middleman-3.0.0.alpha.3 lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/cli/rake_tasks.rb
middleman-3.0.0.alpha.2 lib/middleman/vendor/padrino-core-0.10.5/lib/padrino-core/cli/rake_tasks.rb
padrino-core-0.10.5 lib/padrino-core/cli/rake_tasks.rb
padrino-core-0.10.4 lib/padrino-core/cli/rake_tasks.rb