Class: Rack::App::Foundation

Inherits:
Rack::App
  • Object
show all
Defined in:
lib/rack/app/foundation.rb

Constant Summary collapse

ASSET_VERSIONS_FOLDER =
::File.join(::File.dirname(__FILE__), 'foundation', 'assets')

Class Method Summary collapse

Class Method Details

.assets_by_version(version) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/rack/app/foundation.rb', line 10

def self.assets_by_version(version)
  version = latest_version if version.nil?

  asset_versions_paths = Dir.glob(::File.join(ASSET_VERSIONS_FOLDER, '*'))
  asset_versions_paths.find { |path| ::File.basename(path) == version } || raise("unknown foundation version: #{version}")

  serve_files_from("assets/#{version}")
end

.latest_versionObject



19
20
21
22
23
24
25
# File 'lib/rack/app/foundation.rb', line 19

def self.latest_version
  Dir.glob(::File.join(ASSET_VERSIONS_FOLDER, '*')).map { |fp|
    ::File.basename(fp)
  }.sort_by { |version|
    Gem::Version.new(version)
  }.last
end