Module: RailsCom::AssetsHelper

Defined in:
app/helpers/rails_com/assets_helper.rb

Instance Method Summary collapse

Instance Method Details

#assets_load_path(filename, relative_path: 'app/assets/javascripts', ext: ['.js', '.js.erb']) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'app/helpers/rails_com/assets_helper.rb', line 39

def assets_load_path(filename, relative_path: 'app/assets/javascripts', ext: ['.js', '.js.erb'])
  paths = []

  file_path = Pathname.new(relative_path).join filename
  rails_path = Rails.root.join file_path
  ext.each do |name|
    paths << rails_path.to_s + name
  end
  if @_rendered_from
    engine_path = @_rendered_from.join file_path
    ext.each do |name|
      paths << engine_path.to_s + name
    end
  end

  paths
end

#css_load(filename = nil, **options) ⇒ Object



13
14
15
16
17
18
19
20
# File 'app/helpers/rails_com/assets_helper.rb', line 13

def css_load(filename = nil, **options)
  filename ||= "controllers/#{controller_path}/#{action_name}"
  paths = assets_load_path(filename, relative_path: 'app/assets/stylesheets', ext: ['.css', '.css.erb'])

  if paths.any? { |path| File.exist?(path) }
    stylesheet_link_tag filename, options
  end
end

#js_load(filename = nil, **options) ⇒ Object



4
5
6
7
8
9
10
11
# File 'app/helpers/rails_com/assets_helper.rb', line 4

def js_load(filename = nil, **options)
  filename ||= "controllers/#{controller_path}/#{action_name}"
  paths = assets_load_path(filename)

  if paths.any? { |path| File.exist?(path) }
    javascript_include_tag filename, options
  end
end

#js_pack(filename = nil, **options) ⇒ Object



22
23
24
25
26
27
28
29
# File 'app/helpers/rails_com/assets_helper.rb', line 22

def js_pack(filename = nil, **options)
  filename ||= "controllers/#{controller_path}/#{action_name}"
  paths = assets_load_path(filename, relative_path: 'app/javascript/packs', **options)

  if paths.any? { |path| File.exist?(path) }
    javascript_pack_tag filename, options
  end
end

#js_pack_ready(**options) ⇒ Object



35
36
37
# File 'app/helpers/rails_com/assets_helper.rb', line 35

def js_pack_ready(**options)
  js_pack("controllers/#{controller_path}/#{action_name}-ready", **options)
end

#js_ready(**options) ⇒ Object



31
32
33
# File 'app/helpers/rails_com/assets_helper.rb', line 31

def js_ready(**options)
  js_load("controllers/#{controller_path}/#{action_name}.ready", **options)
end