Module: FallbackAssets

Defined in:
lib/fallback_assets.rb,
lib/fallback_assets/helper.rb,
lib/fallback_assets/railtie.rb,
lib/fallback_assets/version.rb,
lib/fallback_assets/html_asset.rb

Defined Under Namespace

Modules: Helper Classes: FallbackAssetsRailtie, HtmlAsset

Constant Summary collapse

VERSION =
"0.0.2"

Class Method Summary collapse

Class Method Details

.asset_from_environment(asset, env = false) ⇒ Object



16
17
18
19
20
21
22
23
24
25
# File 'lib/fallback_assets.rb', line 16

def self.asset_from_environment(asset, env = false)
  config = settings
  env = environment || "development"

  return false unless config["fallbacks"][asset[:type]]
  return false unless config["fallbacks"][asset[:type]][asset[:name]]
  return false unless config["fallbacks"][asset[:type]][asset[:name]][env]

  config["fallbacks"][asset[:type]][asset[:name]][env]
end

.available_assetsObject



35
36
37
# File 'lib/fallback_assets.rb', line 35

def self.available_assets
  [:javascripts, :stylesheets]
end

.environmentObject



31
32
33
# File 'lib/fallback_assets.rb', line 31

def self.environment
  ENV['RAILS_ENV']
end

.load(type, name) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/fallback_assets.rb', line 7

def self.load(type, name)
  return false unless available_assets.include?(type)
  return false unless type.is_a?(Symbol)
  return false unless name.is_a?(Symbol)

  asset = {type: type.to_s, name: name.to_s}
  asset_from_environment(asset) || asset_from_environment(asset, "development")
end

.load_javascript(name) ⇒ Object



39
40
41
# File 'lib/fallback_assets.rb', line 39

def self.load_javascript(name)
  load(:javascripts, name)
end

.load_stylesheet(name) ⇒ Object



43
44
45
# File 'lib/fallback_assets.rb', line 43

def self.load_stylesheet(name)
  load(:stylesheets, name)
end

.settingsObject



27
28
29
# File 'lib/fallback_assets.rb', line 27

def self.settings
  YAML.load_file("#{Rails.root}/config/fallback_assets.yml")
end