Class: Smplkit::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/smplkit/generators/install_generator.rb

Overview

Generates config/initializers/smplkit.rb for Rails apps.

rails generate smplkit:install

Instance Method Summary collapse

Instance Method Details

#create_initializer_fileObject



13
14
15
# File 'lib/smplkit/generators/install_generator.rb', line 13

def create_initializer_file
  create_file "config/initializers/smplkit.rb", initializer_contents
end

#initializer_contentsObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/smplkit/generators/install_generator.rb', line 17

def initializer_contents
  <<~RUBY
    # frozen_string_literal: true

    # smplkit configuration. Anything you don't set here resolves through
    # the standard SMPLKIT_* env vars or the ~/.smplkit profile file.
    Rails.application.configure do
      config.smplkit.environment = Rails.env
      config.smplkit.service = "your-service-name"
      # config.smplkit.api_key = ENV["SMPLKIT_API_KEY"]

      # Optional: per-request context. The provider receives the Rack env
      # and returns an Array of Smplkit::Context. Returning nil/[] is fine.
      #
      # config.smplkit.context_provider = ->(env) {
      #   user = env["warden"]&.user
      #   next [] unless user
      #
      #   [Smplkit::Context.new("user", user.id.to_s, plan: user.plan)]
      # }
    end
  RUBY
end