Sha256: 655e79830cd7cc9a7fa051f039fe85f10c7fe300b4668fd2a5ce487c97a314db

Contents?: true

Size: 1.55 KB

Versions: 5

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 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 aren't listed when someone runs `rake -T`, because we
  # want to encourage developers to use `hanami` commands.
  #
  # In order to migrate the database or precompile assets a developer should
  # use:
  #
  #   * hanami db migrate
  #   * hanami assets precompile
  #
  # 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

  namespace :assets do
    task :precompile do
      # TODO(@jodosha): Enable when we'll integrate with hanami-assets
      # run_hanami_command("assets precompile")
    end
  end

  private

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

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

Hanami::CLI::RakeTasks.install_tasks

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
hanami-2.1.0.beta1 lib/hanami/rake_tasks.rb
hanami-2.0.3 lib/hanami/rake_tasks.rb
hanami-2.0.2 lib/hanami/rake_tasks.rb
hanami-2.0.1 lib/hanami/rake_tasks.rb
hanami-2.0.0 lib/hanami/rake_tasks.rb