Class: Trek::Generators::Install::AttachmentsGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Helpers
Defined in:
lib/generators/trek/install/attachments_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_gemObject



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/generators/trek/install/attachments_generator.rb', line 15

def add_gem
  install_needed = %w[aws-sdk-s3 blurhash fastimage image_processing shrine shrine-blurhash].any? { |name| !in_gemfile?(name) }

  gem "aws-sdk-s3", "~> 1.117" unless in_gemfile?("aws-sdk-s3")
  gem "blurhash", "~> 0.1.7" unless in_gemfile?("blurhash")
  gem "fastimage", "~> 2.2" unless in_gemfile?("fastimage")
  gem "image_processing", "~> 1.8" unless in_gemfile?("image_processing")
  gem "shrine", "~> 3.0" unless in_gemfile?("shrine")
  gem "shrine-blurhash", "~> 0.2.0" unless in_gemfile?("shrine-blurhash")
  bundle_install if install_needed
end

#add_initializerObject



27
28
29
30
# File 'lib/generators/trek/install/attachments_generator.rb', line 27

def add_initializer
  template "initializers/shrine.rb",
    "config/initializers/shrine.rb"
end

#inject_shrine_to_credentialsObject



32
33
34
35
36
37
38
39
40
41
42
# File 'lib/generators/trek/install/attachments_generator.rb', line 32

def inject_shrine_to_credentials
  return if credentials_encrypted_file.read&.include?("shrine:")

  inject_into_credentials(
    <<~YAML
      shrine:
        derivation_endpoint:
          secret_key: #{secret_key}
    YAML
  )
end