lib/avo/app.rb in avo-0.5.0.beta6 vs lib/avo/app.rb in avo-0.5.0.beta7

- old
+ new

@@ -120,34 +120,44 @@ self.app[:resources] end # Returns the Avo resource by camelized name # - # get_resource_by_name('User') => Avo::Resources::User + # get_resource_by_name('User') => UserResource def get_resource(resource) self.app[:resources].find do |available_resource| "#{resource}Resource".safe_constantize == available_resource.class end end # Returns the Avo resource by singular snake_cased name # - # get_resource_by_name('user') => Avo::Resources::User + # get_resource_by_name('user') => UserResource def get_resource_by_name(name) self.get_resource name.singularize.camelize end # Returns the Avo resource by singular snake_cased name # - # get_resource_by_name('User') => Avo::Resources::User - # get_resource_by_name(User) => Avo::Resources::User + # get_resource_by_name('User') => UserResource + # get_resource_by_name(User) => UserResource def get_resource_by_model_name(name) get_resources.find do |resource| resource.model_class.model_name.name == name.to_s end end + # Returns the Avo resource by singular snake_cased name + # + # get_resource_by_controller_name('delayed_backend_active_record_jobs') => DelayedJobResource + # get_resource_by_controller_name('users') => UserResource + def get_resource_by_controller_name(name) + get_resources.find do |resource| + resource.model_class.to_s.pluralize.underscore.gsub('/', '_') == name.to_s + end + end + # Returns the Rails model class by singular snake_cased name # # get_model_class_by_name('user') => User def get_model_class_by_name(name) name.to_s.camelize.singularize @@ -172,14 +182,18 @@ Rails.application.eager_load! Proc.new do BaseResource.descendants .select do |resource| - resource != :Resource + resource != :BaseResource end .map do |resource| if resource.is_a? Class - route_key = resource.to_s.underscore.gsub('_resource', '').downcase.pluralize.to_sym + if resource.model_class.present? + route_key = resource.model_class.model_name.route_key + else + route_key = resource.to_s.underscore.gsub('_resource', '').downcase.pluralize.to_sym + end resources route_key end end end