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
# File 'lib/generators/trek/install/attachments_generator.rb', line 15

def add_gem
  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")
  run "bundle install --quiet", abort_on_failure: true
end

#add_initializerObject



25
26
27
28
# File 'lib/generators/trek/install/attachments_generator.rb', line 25

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

#inject_shrine_to_credentialsObject



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

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