Sha256: 25d116cedf7c42b437425d710e8bff4c69e7249b6a8f4c51012516637d21714b
Contents?: true
Size: 799 Bytes
Versions: 1
Compression:
Stored size: 799 Bytes
Contents
# frozen_string_literal: true module Bemer class PathResolver def initialize(view) @view = view end def resolve(name, partial = false) # rubocop:disable Metrics/AbcSize name = name.to_s virtual_dir = File.dirname(view.instance_variable_get(:@virtual_path)) dirs = [virtual_dir, File.dirname(name).delete('.')].reject(&:blank?) prefixes = [File.join(*dirs).to_s] format = File.extname(name).delete('.') unless partial basename = File.basename(name, '.*') options = { formats: [format.to_sym] } if format return name unless view.lookup_context.exists?(basename, prefixes, partial, **options.to_h) File.join(virtual_dir, name).to_s end protected attr_reader :view end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bemer-0.6.0 | lib/bemer/path_resolver.rb |