Sha256: fb33293d4f6bb950d7839bb5c8bc77590704bea56a9858d734072ce241989bbe

Contents?: true

Size: 1.39 KB

Versions: 18

Compression:

Stored size: 1.39 KB

Contents

# frozen_string_literal: true

require "rails/generators/base"

module ShopifyApp
  module Generators
    class AddAfterAuthenticateJobGenerator < Rails::Generators::Base
      source_root File.expand_path("../templates", __FILE__)

      hook_for :test_framework, as: :job, in: :rails do |instance, generator|
        instance.invoke(generator, [instance.send(:job_file_name)])
      end

      def init_after_authenticate_config
        initializer = load_initializer

        after_authenticate_job_config =
          "  config.after_authenticate_job = "\
            "{ job: \"Shopify::AfterAuthenticateJob\", inline: false }\n"

        inject_into_file(
          "config/initializers/shopify_app.rb",
          after_authenticate_job_config,
          before: "end",
        )

        unless initializer.include?(after_authenticate_job_config)
          shell.say(
            "Error adding after_authenticate_job to config. Add this line manually: "\
              "#{after_authenticate_job_config}",
            :red,
          )
        end
      end

      def add_after_authenticate_job
        template("after_authenticate_job.rb", "app/jobs/#{job_file_name}_job.rb")
      end

      private

      def load_initializer
        File.read(File.join(destination_root, "config/initializers/shopify_app.rb"))
      end

      def job_file_name
        "shopify/after_authenticate"
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
shopify_app-22.5.2 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-22.5.1 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-22.5.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-22.4.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-22.3.1 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-22.3.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-22.2.1 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-22.2.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-22.1.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-22.0.1 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-22.00.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-21.10.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-21.9.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-21.8.1 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-21.8.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-21.7.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-21.6.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-21.5.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb