Module: Sinatra::AssetPack::Helpers

Defined in:
lib/sinatra/assetpack/helpers.rb

Instance Method Summary collapse

Instance Method Details

#asset_filter_css(str) ⇒ Object



53
54
55
# File 'lib/sinatra/assetpack/helpers.rb', line 53

def asset_filter_css(str)
  Css.preproc str, settings.assets
end

#asset_path_for(file, from) ⇒ Object



57
58
59
# File 'lib/sinatra/assetpack/helpers.rb', line 57

def asset_path_for(file, from)
  settings.assets.dyn_local_file_for file, from
end

#assets_expiresObject



61
62
63
64
65
66
67
# File 'lib/sinatra/assetpack/helpers.rb', line 61

def assets_expires
  if settings.assets.expires.nil?
    expires 86400*30, :public
  else
    expires *settings.assets.expires
  end
end

#css(*args) ⇒ Object



4
5
6
# File 'lib/sinatra/assetpack/helpers.rb', line 4

def css(*args)
  show_asset_pack :css, *args
end

#image_path(src) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/sinatra/assetpack/helpers.rb', line 19

def image_path(src)
  file_path = HtmlHelpers.get_file_uri(src, settings.assets)

  if file_path =~ /\A(http|https)\:\/\//
    file_path
  else
    File.join(request.script_name, file_path)
  end
end

#img(src, options = {}) ⇒ Object



12
13
14
15
16
17
# File 'lib/sinatra/assetpack/helpers.rb', line 12

def img(src, options={})
  attrs = { :src => image_path(src) }
  attrs = attrs.merge(options)

  "<img#{HtmlHelpers.kv attrs} />"
end

#js(*args) ⇒ Object



8
9
10
# File 'lib/sinatra/assetpack/helpers.rb', line 8

def js(*args)
  show_asset_pack :js, *args
end

#show_asset_pack(type, *args) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/sinatra/assetpack/helpers.rb', line 29

def show_asset_pack(type, *args)
  names = Array.new
  while args.first.is_a?(Symbol)
    names << args.shift
  end

  options = args.shift  if args.first.is_a?(Hash)

  names.map { |name|
    show_one_asset_pack type, name, (options || Hash.new)
  }.join "\n"
end

#show_one_asset_pack(type, name, options = {}) ⇒ Object



42
43
44
45
46
47
48
49
50
51
# File 'lib/sinatra/assetpack/helpers.rb', line 42

def show_one_asset_pack(type, name, options={})
  pack = settings.assets.packages["#{name}.#{type}"]
  return ""  unless pack

  if settings.environment.to_sym == :production
    pack.to_production_html request.script_name, options
  else
    pack.to_development_html request.script_name, options
  end
end