Class: Godmin::GodminResolver

Inherits:
Resolver
  • Object
show all
Defined in:
lib/godmin/resolver.rb

Overview

Matches templates such as:

{ name: index, prefix: articles } => godmin/app/views/godmin/resource/index { name: form, prefix: articles } => godmin/app/views/godmin/resource/_form { name: welcome, prefix: application } => godmin/app/views/godmin/application/welcome { name: navigation, prefix: shared } => godmin/app/views/godmin/shared/navigation

Instance Method Summary collapse

Methods inherited from Resolver

#find_templates, resolvers

Constructor Details

#initialize(controller_path, engine_wrapper) ⇒ GodminResolver

Returns a new instance of GodminResolver.



62
63
64
# File 'lib/godmin/resolver.rb', line 62

def initialize(controller_path, engine_wrapper)
  super(File.join(Godmin::Engine.root, "app/views/godmin"), controller_path, engine_wrapper)
end

Instance Method Details

#default_path_for_godmin(prefix) ⇒ Object



73
74
75
# File 'lib/godmin/resolver.rb', line 73

def default_path_for_godmin(prefix)
  prefix.sub(/\A#{File.join(@engine_wrapper.namespaced_path)}/, "").sub(/\A\//, "")
end

#resource_path_for_godmin(prefix) ⇒ Object



77
78
79
# File 'lib/godmin/resolver.rb', line 77

def resource_path_for_godmin(prefix)
  prefix.sub(/\A#{@controller_path}/, "resource").sub(/\A\//, "")
end

#template_paths(prefix) ⇒ Object



66
67
68
69
70
71
# File 'lib/godmin/resolver.rb', line 66

def template_paths(prefix)
  [
    default_path_for_godmin(prefix),
    resource_path_for_godmin(prefix)
  ]
end