@@ -32,10 +32,6 @@ def initialize(method, resource, app, dsl_data)
32
32
Apipie ::ErrorDescription . new ( args )
33
33
end
34
34
35
- @params_ordered = dsl_data [ :params ] . map do |args |
36
- Apipie ::ParamDescription . from_dsl_data ( args )
37
- end
38
-
39
35
@see = dsl_data [ :see ] . map do |args |
40
36
Apipie ::SeeDescription . new ( args )
41
37
end
@@ -44,9 +40,8 @@ def initialize(method, resource, app, dsl_data)
44
40
@examples = dsl_data [ :examples ]
45
41
@examples += load_recorded_examples
46
42
47
- parent = @resource . controller . superclass
48
- if parent != ActionController ::Base
49
- @parent_resource = parent . controller_name
43
+ @params_ordered = dsl_data [ :params ] . map do |args |
44
+ Apipie ::ParamDescription . from_dsl_data ( args )
50
45
end
51
46
end
52
47
@@ -60,15 +55,14 @@ def params
60
55
61
56
def params_ordered
62
57
all_params = [ ]
63
- # get params from parent resource description
64
- if @parent_resource
65
- parent = Apipie . get_resource_description ( @parent_resource )
66
- merge_params ( all_params , parent . _params_ordered ) if parent
67
- end
58
+ parent = Apipie . get_resource_description ( @resource . controller . superclass )
68
59
69
- # get params from actual resource description
70
- if @resource
71
- merge_params ( all_params , resource . _params_ordered )
60
+ # get params from parent resource description
61
+ [ parent , @resource ] . compact . each do |resource |
62
+ resource_params = resource . _params_args . map do |args |
63
+ Apipie ::ParamDescription . from_dsl_data ( args )
64
+ end
65
+ merge_params ( all_params , resource_params )
72
66
end
73
67
74
68
merge_params ( all_params , @params_ordered )
@@ -79,8 +73,12 @@ def errors
79
73
return @merged_errors if @merged_errors
80
74
@merged_errors = [ ]
81
75
if @resource
76
+ resource_errors = @resource . _errors_args . map do |args |
77
+ Apipie ::ErrorDescription . new ( args )
78
+ end
79
+
82
80
# exclude overwritten parent errors
83
- @merged_errors = @resource . _errors_ordered . find_all do |err |
81
+ @merged_errors = resource_errors . find_all do |err |
84
82
!@errors . any? { |e | e . code == err . code }
85
83
end
86
84
end
0 commit comments