Class: Rockstart::Storage::ActiveStorageGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
Generators::TemplateHelpers
Defined in:
lib/generators/rockstart/storage/active_storage/active_storage_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_active_storage_migrationsObject



36
37
38
# File 'lib/generators/rockstart/storage/active_storage/active_storage_generator.rb', line 36

def add_active_storage_migrations
  rake "active_storage:install"
end

#add_better_s3_serviceObject



23
24
25
# File 'lib/generators/rockstart/storage/active_storage/active_storage_generator.rb', line 23

def add_better_s3_service
  copy_file "better_s3_service.rb", "lib/active_storage/service/better_s3_service.rb"
end

#add_cloudcube_utilObject



27
28
29
30
# File 'lib/generators/rockstart/storage/active_storage/active_storage_generator.rb', line 27

def add_cloudcube_util
  copy_file "cloudcube_util.rb", "lib/utils/cloudcube.rb"
  copy_file "cloudcube_util_spec.rb", "spec/utils/cloudcube_spec.rb"
end

#add_initializerObject



32
33
34
# File 'lib/generators/rockstart/storage/active_storage/active_storage_generator.rb', line 32

def add_initializer
  copy_initializer "active_storage"
end

#add_storage_configurationObject



19
20
21
# File 'lib/generators/rockstart/storage/active_storage/active_storage_generator.rb', line 19

def add_storage_configuration
  template "storage.yml", "config/storage.yml"
end

#create_local_storage_directoryObject



15
16
17
# File 'lib/generators/rockstart/storage/active_storage/active_storage_generator.rb', line 15

def create_local_storage_directory
  create_file "storage/.keep", ""
end

#update_cache_storageObject



40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/generators/rockstart/storage/active_storage/active_storage_generator.rb', line 40

def update_cache_storage
  comment_lines "config/environments/production.rb", /config\.active_storage\.service = :local$/
  application(nil, env: :production) do
    <<~CONFIG
      config.active_storage.service = if ENV["CLOUDCUBE_ACCESS_KEY_ID"].present?
                                        :cloudcube
                                      else
                                        :local # fallback option
                                      end
    CONFIG
  end
end