Skip to content

Commit c815a34

Browse files
authored
Merge pull request #834 from knapo/fix-detecting-resource-class
Fix detecting resource class
2 parents dcc1131 + 6dc9e96 commit c815a34

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

lib/jsonapi/resource.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,7 @@ def inherited(subclass)
433433
end
434434

435435
def resource_for(type)
436+
type = type.underscore
436437
type_with_module = type.include?('/') ? type : module_path + type
437438

438439
resource_name = _resource_name_from_type(type_with_module)

test/unit/resource/resource_test.rb

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -125,19 +125,22 @@ def test_resource_for_root_resource
125125
end
126126
end
127127

128-
def test_resource_for_with_namespaced_paths
128+
def test_resource_for_resource_does_not_exist_at_root
129+
assert_raises NameError do
130+
ArticleResource.resource_for('related')
131+
end
132+
end
133+
134+
def test_resource_for_with_underscored_namespaced_paths
129135
assert_equal(JSONAPI::Resource.resource_for('my_module/related'), MyModule::RelatedResource)
130136
assert_equal(PostResource.resource_for('my_module/related'), MyModule::RelatedResource)
131137
assert_equal(MyModule::MyNamespacedResource.resource_for('my_module/related'), MyModule::RelatedResource)
132138
end
133139

134-
def test_resource_for_resource_does_not_exist_at_root
135-
assert_raises NameError do
136-
ArticleResource.resource_for('related')
137-
end
138-
assert_raises NameError do
139-
JSONAPI::Resource.resource_for('related')
140-
end
140+
def test_resource_for_with_camelized_namespaced_paths
141+
assert_equal(JSONAPI::Resource.resource_for('MyModule::Related'), MyModule::RelatedResource)
142+
assert_equal(PostResource.resource_for('MyModule::Related'), MyModule::RelatedResource)
143+
assert_equal(MyModule::MyNamespacedResource.resource_for('MyModule::Related'), MyModule::RelatedResource)
141144
end
142145

143146
def test_resource_for_namespaced_resource

0 commit comments

Comments
 (0)