Class: ActionView::PathSet
Overview
:nodoc:
Class Method Summary collapse
Instance Method Summary collapse
- #<<(obj) ⇒ Object
- #concat(array) ⇒ Object
- #find_template(original_template_path, format = nil, html_fallback = true) ⇒ Object
-
#initialize(*args) ⇒ PathSet
constructor
A new instance of PathSet.
- #insert(index, obj) ⇒ Object
- #load! ⇒ Object
- #push(*objs) ⇒ Object
- #unshift(*objs) ⇒ Object
Constructor Details
#initialize(*args) ⇒ PathSet
Returns a new instance of PathSet.
15 16 17 |
# File 'lib/action_view/paths.rb', line 15 def initialize(*args) super(*args).map! { |obj| self.class.type_cast(obj) } end |
Class Method Details
.type_cast(obj) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 |
# File 'lib/action_view/paths.rb', line 3 def self.type_cast(obj) if obj.is_a?(String) if Base.cache_template_loading? Template::EagerPath.new(obj.to_s) else ReloadableTemplate::ReloadablePath.new(obj.to_s) end else obj end end |
Instance Method Details
#<<(obj) ⇒ Object
19 20 21 |
# File 'lib/action_view/paths.rb', line 19 def <<(obj) super(self.class.type_cast(obj)) end |
#concat(array) ⇒ Object
23 24 25 |
# File 'lib/action_view/paths.rb', line 23 def concat(array) super(array.map! { |obj| self.class.type_cast(obj) }) end |
#find_template(original_template_path, format = nil, html_fallback = true) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/action_view/paths.rb', line 43 def find_template(original_template_path, format = nil, html_fallback = true) return original_template_path if original_template_path.respond_to?(:render) template_path = original_template_path.sub(/^\//, '') each do |load_path| if format && (template = load_path["#{template_path}.#{I18n.locale}.#{format}"]) return template elsif format && (template = load_path["#{template_path}.#{format}"]) return template elsif template = load_path["#{template_path}.#{I18n.locale}"] return template elsif template = load_path[template_path] return template # Try to find html version if the format is javascript elsif format == :js && html_fallback && template = load_path["#{template_path}.#{I18n.locale}.html"] return template elsif format == :js && html_fallback && template = load_path["#{template_path}.html"] return template end end return Template.new(original_template_path) if File.file?(original_template_path) raise MissingTemplate.new(self, original_template_path, format) end |
#insert(index, obj) ⇒ Object
27 28 29 |
# File 'lib/action_view/paths.rb', line 27 def insert(index, obj) super(index, self.class.type_cast(obj)) end |
#load! ⇒ Object
39 40 41 |
# File 'lib/action_view/paths.rb', line 39 def load! each(&:load!) end |
#push(*objs) ⇒ Object
31 32 33 |
# File 'lib/action_view/paths.rb', line 31 def push(*objs) super(*objs.map { |obj| self.class.type_cast(obj) }) end |
#unshift(*objs) ⇒ Object
35 36 37 |
# File 'lib/action_view/paths.rb', line 35 def unshift(*objs) super(*objs.map { |obj| self.class.type_cast(obj) }) end |