Sha256: 0d5a6dac6ceb7b9e474e1be084d2cf3e71e1b81f3965b5f8431cfd7f7c0fa627

Contents?: true

Size: 1.35 KB

Versions: 47

Compression:

Stored size: 1.35 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

47 entries across 47 versions & 2 rubygems

Version Path
ruby_shopify_app-1.3.3 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
ruby_shopify_app-1.3.2 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
ruby_shopify_app-1.3.1 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
ruby_shopify_app-1.3.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
ruby_shopify_app-1.2.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
ruby_shopify_app-1.1.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
ruby_shopify_app-1.0.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-18.1.3 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-18.1.2 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-18.1.1 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-18.1.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-18.0.4 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-18.0.3 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-18.0.2 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-18.0.1 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-18.0.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-17.2.1 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-17.2.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-17.1.1 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb
shopify_app-17.1.0 lib/generators/shopify_app/add_after_authenticate_job/add_after_authenticate_job_generator.rb