Class: MultiSync::Extensions::AssetSync

Inherits:
Object
  • Object
show all
Defined in:
lib/multi_sync/extensions/rails/asset_sync.rb

Class Method Summary collapse

Class Method Details

.asset_sync_ymlObject



13
14
15
# File 'lib/multi_sync/extensions/rails/asset_sync.rb', line 13

def asset_sync_yml
  @asset_sync_yml ||= YAML.load_file(asset_sync_yml_path)[MultiSync.env]
end

.asset_sync_yml_exists?Boolean

Returns:

  • (Boolean)


5
6
7
# File 'lib/multi_sync/extensions/rails/asset_sync.rb', line 5

def asset_sync_yml_exists?
  ::Rails.root.nil? ? false : File.exist?(asset_sync_yml_path)
end

.asset_sync_yml_pathObject



9
10
11
# File 'lib/multi_sync/extensions/rails/asset_sync.rb', line 9

def asset_sync_yml_path
  ::Rails.root.join('config', 'asset_sync.yml')
end

.check_and_migrateObject



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

def check_and_migrate
  return unless self.asset_sync_yml_exists?
  MultiSync.source(:rails,
    type: :manifest,
    source_dir: MultiSync::Extensions::Rails.source_dir
  )

  MultiSync.target(:assets,
    type: asset_sync_yml['fog_provider'],
    target_dir: asset_sync_yml['fog_directory'],
    destination_dir: MultiSync::Extensions::Rails.destination_dir,
    credentials: {
      region: asset_sync_yml['region'],
      aws_access_key_id: asset_sync_yml['aws_access_key_id'],
      aws_secret_access_key: asset_sync_yml['aws_secret_access_key'],
      path_style: asset_sync_yml['path_style']
    }
  )

  MultiSync.delete_abandoned_files = asset_sync_yml['existing_remote_files'] == 'delete'
  MultiSync.run_on_build = asset_sync_yml['run_on_precompile']

  MultiSync.info 'AssetSync YAML file found, migrating options...' if MultiSync.run_on_build
end