Class: JSONAPI::ResourceLoader
- Inherits:
-
Object
- Object
- JSONAPI::ResourceLoader
show all
- Defined in:
- lib/json_api/resources/resource_loader.rb
Defined Under Namespace
Classes: MissingResourceClass
Class Method Summary
collapse
Class Method Details
.find(resource_type) ⇒ Object
11
12
13
14
15
16
|
# File 'lib/json_api/resources/resource_loader.rb', line 11
def self.find(resource_type)
resource_class_name = "#{resource_type.singularize.classify}Resource"
resource_class_name.constantize
rescue NameError
raise MissingResourceClass, resource_type
end
|
.find_for_model(model_class) ⇒ Object
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/json_api/resources/resource_loader.rb', line 18
def self.find_for_model(model_class)
return ActiveStorageBlobResource if defined?(::ActiveStorage) && model_class == ::ActiveStorage::Blob
resource_type = model_class.name.underscore.pluralize
begin
find(resource_type)
rescue MissingResourceClass
raise unless model_class.respond_to?(:base_class) && model_class.base_class != model_class
base_resource_type = model_class.base_class.name.underscore.pluralize
find(base_resource_type)
end
end
|