class ModelTemplateResolver::Resolver
Public Class Methods
new(opts={})
click to toggle source
# File lib/model_template_resolver/resolver.rb, line 4 def initialize(opts={}) @lookup_context = opts.fetch(:lookup_context) @template = opts[:template] || opts[:partial] @is_partial = opts.has_key?(:partial) @model = opts.fetch(:model) end
Public Instance Methods
path()
click to toggle source
# File lib/model_template_resolver/resolver.rb, line 11 def path if !(@model.class < ActiveRecord::Base) fail ArgumentError, "model given is not an ActiveRecord::Base model" end resources_names = @model.class.ancestors.select do |klass| klass < ActiveRecord::Base end.map { |klass| klass.name.underscore.pluralize } template = @lookup_context.find(@template, resources_names, @is_partial) template ? template.virtual_path.gsub("/_", "/") : nil end