Sha256: ec3df240a8cdcbcc1a528860e1b8fe39f61d60cfe085ad4c263a1f73ccb94f00
Contents?: true
Size: 978 Bytes
Versions: 3
Compression:
Stored size: 978 Bytes
Contents
module Jpmobile class PathSet < Array %w[initialize << concat insert push unshift].each do |method| class_eval <<-METHOD, __FILE__, __LINE__ + 1 def #{method}(*args) super typecast! end METHOD end def find(path, prefix = nil, partial = false, details = {}, key = nil) template = find_all(path, prefix, partial, details, key).first raise MissingTemplate.new(self, "#{prefix}/#{path}", details, partial) unless template template end def find_all(*args) each do |resolver| templates = resolver.find_all(*args) return templates unless templates.empty? end [] end def exists?(*args) find_all(*args).any? end protected def typecast! each_with_index do |path, i| path = path.to_s if path.is_a?(Pathname) next unless path.is_a?(String) self[i] = Jpmobile::Resolver.new(path) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
jpmobile-5.0.1 | lib/jpmobile/path_set.rb |
jpmobile-5.1.1 | lib/jpmobile/path_set.rb |
jpmobile-5.1.0 | lib/jpmobile/path_set.rb |