@@ -26,13 +26,7 @@ def initialize(original, renamed)
2626 end
2727
2828 def extract_params ( exposure )
29- root_exposures =
30- if discriminator ( exposure )
31- root_exposures_without_parent ( exposure )
32- else
33- exposure . root_exposures
34- end
35- root_exposures . each_with_object ( { } ) do |value , memo |
29+ GrapeSwagger ::Entity ::Helper . root_exposure_with_discriminator ( exposure ) . each_with_object ( { } ) do |value , memo |
3630 if value . for_merge && ( value . respond_to? ( :entity_class ) || value . respond_to? ( :using_class_name ) )
3731 entity_class = value . respond_to? ( :entity_class ) ? value . entity_class : value . using_class_name
3832
@@ -45,18 +39,6 @@ def extract_params(exposure)
4539 end
4640 end
4741
48- def discriminator ( exposure )
49- exposure . superclass . root_exposures . detect do |value |
50- value . documentation . try ( :[] , :is_discriminator )
51- end
52- end
53-
54- def root_exposures_without_parent ( exposure )
55- exposure . root_exposures . select do |value |
56- exposure . superclass . root_exposures . find_by ( value . attribute ) . nil?
57- end
58- end
59-
6042 def parse_grape_entity_params ( params , parent_model = nil )
6143 return unless params
6244
@@ -82,7 +64,7 @@ def parse_grape_entity_params(params, parent_model = nil)
8264 memo [ final_entity_name ] [ :description ] = documentation [ :desc ] if documentation [ :desc ]
8365 end
8466
85- discriminator = discriminator ( model )
67+ discriminator = GrapeSwagger :: Entity :: Helper . discriminator ( model )
8668 if discriminator
8769 respond_with_all_of ( parsed , params , discriminator )
8870 else
@@ -91,14 +73,8 @@ def parse_grape_entity_params(params, parent_model = nil)
9173 end
9274
9375 def respond_with_all_of ( parsed , params , discriminator )
94- parent_name =
95- GrapeSwagger ::Entity ::Helper . model_name ( model . superclass , endpoint )
76+ parent_name = GrapeSwagger ::Entity ::Helper . model_name ( model . superclass , endpoint )
9677
97- if endpoint . nil?
98- model . superclass . to_s . demodulize
99- else
100- endpoint . send ( :expose_params_from_model , model . superclass )
101- end
10278 {
10379 allOf : [
10480 {
@@ -116,11 +92,9 @@ def add_discriminator(parsed, discriminator)
11692 model_name = GrapeSwagger ::Entity ::Helper . model_name ( model , endpoint )
11793
11894 parsed . merge (
119- {
120- discriminator . attribute => {
121- type : 'string' ,
122- enum : [ model_name ]
123- }
95+ discriminator . attribute => {
96+ type : 'string' ,
97+ enum : [ model_name ]
12498 }
12599 )
126100 end
0 commit comments