Class: EY::Serverside::RailsAssets::Strategy::Shared

Inherits:
Object
  • Object
show all
Defined in:
lib/engineyard-serverside/rails_assets/strategy.rb

Overview

Basic shared assets. Precompiled assets go into a single shared assets directory. The assets directory is never cleaned, so a deploy hook should be used to clean assets appropriately.

When no assets changes are detected, shared directory is only symlinked and precompile task is not run.

Direct Known Subclasses

Cleaning, Shifting

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(paths, runner) ⇒ Shared

Returns a new instance of Shared.



71
72
73
74
# File 'lib/engineyard-serverside/rails_assets/strategy.rb', line 71

def initialize(paths, runner)
  @paths = paths
  @runner = runner
end

Instance Attribute Details

#pathsObject (readonly)

Returns the value of attribute paths.



70
71
72
# File 'lib/engineyard-serverside/rails_assets/strategy.rb', line 70

def paths
  @paths
end

#runnerObject (readonly)

Returns the value of attribute runner.



70
71
72
# File 'lib/engineyard-serverside/rails_assets/strategy.rb', line 70

def runner
  @runner
end

Instance Method Details

#prepareObject



80
81
82
83
# File 'lib/engineyard-serverside/rails_assets/strategy.rb', line 80

def prepare
  reuse
  yield
end

#reuseObject



76
77
78
# File 'lib/engineyard-serverside/rails_assets/strategy.rb', line 76

def reuse
  run "mkdir -p #{shared_assets_path} && ln -nfs #{shared_assets_path} #{paths.public}"
end