module Spree module Admin class Resource def initialize(controller_path, controller_name, parent_model) @controller_path = controller_path @controller_name = controller_name @parent_model = parent_model end def sub_namespace_parts @controller_path.split('/')[2..-2] end def model_class sub_namespace = sub_namespace_parts.map { |s| s.capitalize }.join('::') sub_namespace = "#{sub_namespace}::" if sub_namespace.length > 0 "Spree::#{sub_namespace}#{@controller_name.classify}".constantize end def model_name sub_namespace = sub_namespace_parts.join('/') sub_namespace = "#{sub_namespace}/" if sub_namespace.length > 0 @parent_model.gsub("spree/#{sub_namespace}", '') end def object_name sub_namespace = sub_namespace_parts.join('_') sub_namespace = "#{sub_namespace}_" if sub_namespace.length > 0 "#{sub_namespace}#{@controller_name.singularize}" end end end end