Sha256: 31bd27461ac172c3c65f82ddc7261205c5b0c865b83331423563fa31c8d7f1f5

Contents?: true

Size: 1.55 KB

Versions: 4

Compression:

Stored size: 1.55 KB

Contents

# frozen_string_literal: true

require "hanami/cli"

Hanami::CLI::RakeTasks.register_tasks do
  desc "Load the app environment"
  task :environment do
    require "hanami/prepare"
  end

  # Ruby ecosystem compatibility
  #
  # Most of the hosting SaaS automatic tasks are designed after Ruby on Rails.
  # They expect the following Rake tasks to be present:
  #
  #   * db:migrate
  #   * assets:precompile
  #
  # See https://github.com/heroku/heroku-buildpack-ruby/issues/442
  #
  # ===
  #
  # These Rake tasks are **NOT** listed when someone runs `rake -T`, because we
  # want to encourage developers to use `hanami` CLI commands.
  #
  # In order to migrate the database or compile assets a developer should use:
  #
  #   * hanami db migrate
  #   * hanami assets compile
  #
  # This is the preferred way to run Hanami command line tasks.
  # Please use them when you're in control of your deployment environment.
  #
  # If you're not in control and your deployment requires these "standard"
  # Rake tasks, they are here to solve this only specific problem.
  #
  # namespace :db do
  #   task :migrate do
  #     # TODO(@jodosha): Enable when we'll integrate with ROM
  #     # run_hanami_command("db migrate")
  #   end
  # end

  if Hanami.bundled?("hanami-assets")
    namespace :assets do
      task :precompile do
        run_hanami_command("assets compile")
      end
    end
  end

  private

  @_hanami_cli_bundler = Hanami::CLI::Bundler.new

  def run_hanami_command(command)
    @_hanami_cli_bundler.hanami_exec(command)
  end
end

Hanami::CLI::RakeTasks.install_tasks

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
hanami-2.1.0.rc2 lib/hanami/rake_tasks.rb
hanami-2.1.0.rc1 lib/hanami/rake_tasks.rb
hanami-2.1.0.beta2.1 lib/hanami/rake_tasks.rb
hanami-2.1.0.beta2 lib/hanami/rake_tasks.rb