Skip to content

Commit f0a0063

Browse files
authored
Merge branch 'master' into feat-interited-entity-name
2 parents f467c8a + 961e7ca commit f0a0063

7 files changed

+18
-15
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
#### Fixes
1010

1111
* Your contribution here.
12+
* [#798](https://github.com/ruby-grape/grape-swagger/pull/798): Modify full entity name separator - [@GarrettB71](https://github.com/GarrettB71).
1213
* [#796](https://github.com/ruby-grape/grape-swagger/pull/796): Support grape 1.4.0 - [@thedanielhanke](https://github.com/thedanielhanke).
1314

1415

UPGRADING.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
### Upgrading to >= 1.2.0
44

5-
The entity_name class method is now called on parent classes for inherited entities. Now you can do this
5+
- The entity_name class method is now called on parent classes for inherited entities. Now you can do this
66

77
```ruby
88
module Some::Long::Module
@@ -24,6 +24,8 @@ module Some::Long::Module
2424
end
2525
```
2626

27+
- Full class name is modified to use `_` separator (e.g. `A_B_C` instead of `A::B::C`).
28+
2729
### Upgrading to >= 1.1.0
2830

2931
Full class name is used for referencing entity by default (e.g. `A::B::C` instead of just `C`). `Entity` and `Entities` suffixes and prefixes are omitted (e.g. if entity name is `Entities::SomeScope::MyFavourite::Entity` only `SomeScope::MyFavourite` will be used).

lib/grape-swagger/doc_methods/data_type.rb

+3-3
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,11 @@ def parse_entity_name(model)
5151
if model.respond_to?(:entity_name)
5252
model.entity_name
5353
elsif model.to_s.end_with?('::Entity', '::Entities')
54-
model.to_s.split('::')[0..-2].join('::')
54+
model.to_s.split('::')[0..-2].join('_')
5555
elsif model.to_s.start_with?('Entity::', 'Entities::', 'Representable::')
56-
model.to_s.split('::')[1..-1].join('::')
56+
model.to_s.split('::')[1..-1].join('_')
5757
else
58-
model.to_s
58+
model.to_s.split('::').join('_')
5959
end
6060
end
6161

spec/issues/427_entity_as_string_spec.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,5 @@ class RoleEntity < Grape::Entity
3535
JSON.parse(last_response.body)['definitions']
3636
end
3737

38-
specify { expect(subject.keys).to include 'RoleEntity', 'Permission::WithoutRole' }
38+
specify { expect(subject.keys).to include 'RoleEntity', 'Permission_WithoutRole' }
3939
end

spec/issues/430_entity_definitions_spec.rb

+5-5
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,11 @@ class NameApi < Grape::API
8484
JSON.parse(last_response.body)['definitions']
8585
end
8686

87-
specify { expect(subject).to include 'TestDefinition::DummyEntities::WithVeryLongName::AnotherGroupingModule::Class1' }
88-
specify { expect(subject).to include 'TestDefinition::DummyEntities::WithVeryLongName::AnotherGroupingModule::Class2' }
87+
specify { expect(subject).to include 'TestDefinition_DummyEntities_WithVeryLongName_AnotherGroupingModule_Class1' }
88+
specify { expect(subject).to include 'TestDefinition_DummyEntities_WithVeryLongName_AnotherGroupingModule_Class2' }
8989
specify { expect(subject).to include 'FooKlass' }
90-
specify { expect(subject).to include 'TestDefinition::DummyEntities::WithVeryLongName::AnotherGroupingModule::Class4::FourthEntity' }
91-
specify { expect(subject).to include 'TestDefinition::DummyEntities::WithVeryLongName::AnotherGroupingModule::Class5::FithEntity' }
90+
specify { expect(subject).to include 'TestDefinition_DummyEntities_WithVeryLongName_AnotherGroupingModule_Class4_FourthEntity' }
91+
specify { expect(subject).to include 'TestDefinition_DummyEntities_WithVeryLongName_AnotherGroupingModule_Class5_FithEntity' }
9292
specify { expect(subject).to include 'BarKlass' }
93-
specify { expect(subject).to include 'TestDefinition::DummyEntities::WithVeryLongName::AnotherGroupingModule::Class7::SeventhEntity' }
93+
specify { expect(subject).to include 'TestDefinition_DummyEntities_WithVeryLongName_AnotherGroupingModule_Class7_SeventhEntity' }
9494
end

spec/swagger_v2/api_swagger_v2_param_type_body_spec.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ def app
189189
'type' => 'object',
190190
'properties' => {
191191
'data' => {
192-
'$ref' => '#/definitions/NestedModule::ApiResponse',
192+
'$ref' => '#/definitions/NestedModule_ApiResponse',
193193
'description' => 'request data'
194194
}
195195
},
@@ -207,7 +207,7 @@ def app
207207
end
208208

209209
specify do
210-
expect(subject['definitions']['NestedModule::ApiResponse']).not_to be_nil
210+
expect(subject['definitions']['NestedModule_ApiResponse']).not_to be_nil
211211
end
212212

213213
specify do

spec/swagger_v2/inheritance_and_discriminator_spec.rb

+3-3
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ class NameApi < Grape::API
4848
end
4949

5050
specify do
51-
subject['InheritanceTest::Entities::Pet'].key?('discriminator')
52-
subject['InheritanceTest::Entities::Pet']['discriminator'] = 'type'
53-
subject['InheritanceTest::Entities::Cat'].key?('allOf')
51+
subject['InheritanceTest_Entities_Pet'].key?('discriminator')
52+
subject['InheritanceTest_Entities_Pet']['discriminator'] = 'type'
53+
subject['InheritanceTest_Entities_Cat'].key?('allOf')
5454
end
5555
end
5656
end

0 commit comments

Comments
 (0)