Class: ShopifyApp::Generators::AddDeclarativeWebhookGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/shopify_app/add_declarative_webhook/add_declarative_webhook_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_webhook_controllerObject



27
28
29
30
31
# File 'lib/generators/shopify_app/add_declarative_webhook/add_declarative_webhook_generator.rb', line 27

def add_webhook_controller
  @controller_file_name = "#{file_name}_controller"
  @controller_class_name = @controller_file_name.classify
  template("webhook_controller.rb", "app/controllers/webhooks/#{@controller_file_name}.rb")
end

#add_webhook_jobObject



16
17
18
19
20
21
22
23
24
25
# File 'lib/generators/shopify_app/add_declarative_webhook/add_declarative_webhook_generator.rb', line 16

def add_webhook_job
  namespace = ShopifyApp.configuration.webhook_jobs_namespace
  @job_file_name = if namespace.present?
    "#{namespace}/#{file_name}_job"
  else
    "#{file_name}_job"
  end
  @job_class_name = @job_file_name.classify
  template("webhook_job.rb", "app/jobs/#{@job_file_name}.rb")
end

#add_webhook_routeObject



33
34
35
36
# File 'lib/generators/shopify_app/add_declarative_webhook/add_declarative_webhook_generator.rb', line 33

def add_webhook_route
  route = "\t\t\tpost '#{file_name}', to: '#{file_name}#receive'\n"
  inject_into_file("config/routes.rb", route, after: /namespace :webhooks do\n/)
end