Class: Spree::Admin::Resource

Inherits:
Object
  • Object
show all
Defined in:
app/models/spree/admin/resource.rb

Instance Method Summary collapse

Constructor Details

#initialize(controller_path, controller_name, parent_model, object_name = nil) ⇒ Resource

Returns a new instance of Resource.



4
5
6
7
8
9
# File 'app/models/spree/admin/resource.rb', line 4

def initialize(controller_path, controller_name, parent_model, object_name = nil)
  @controller_path = controller_path
  @controller_name = controller_name
  @parent_model = parent_model
  @object_name = object_name
end

Instance Method Details

#model_classObject



15
16
17
18
19
# File 'app/models/spree/admin/resource.rb', line 15

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

#model_nameObject



21
22
23
24
25
# File 'app/models/spree/admin/resource.rb', line 21

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

#object_nameObject



27
28
29
30
31
32
# File 'app/models/spree/admin/resource.rb', line 27

def object_name
  return @object_name if @object_name
  sub_namespace = sub_namespace_parts.join('_')
  sub_namespace = "#{sub_namespace}_" if sub_namespace.length > 0
  "#{sub_namespace}#{@controller_name.singularize}"
end

#sub_namespace_partsObject



11
12
13
# File 'app/models/spree/admin/resource.rb', line 11

def sub_namespace_parts
  @controller_path.split('/')[2..-2]
end