Class: ModelTemplateResolver::Resolver
- Inherits:
-
Object
- Object
- ModelTemplateResolver::Resolver
- Defined in:
- lib/model_template_resolver/resolver.rb
Instance Method Summary collapse
-
#initialize(opts = {}) ⇒ Resolver
constructor
A new instance of Resolver.
- #path ⇒ Object
Constructor Details
#initialize(opts = {}) ⇒ Resolver
Returns a new instance of Resolver.
4 5 6 7 8 9 |
# 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 |
Instance Method Details
#path ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 |
# 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 |