-
Notifications
You must be signed in to change notification settings - Fork 14
/
configuration.rb
30 lines (25 loc) · 973 Bytes
/
configuration.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
module StrongResources
class Configuration
attr_accessor :strong_params, :strong_resources
def initialize
self.strong_resources = {}
self.strong_params = {}
define_default_params
end
def strong_param(name, swagger:, type:)
self.strong_params[name] = { swagger: swagger, type: type }
end
def strong_resource(name, &blk)
resource = { name: name, base: blk }
self.strong_resources[name] = resource
end
private
def define_default_params
strong_param :id, swagger: :string, type: ActionController::Parameters.string
strong_param :string, swagger: :string, type: ActionController::Parameters.string
strong_param :integer, swagger: :integer, type: ActionController::Parameters.integer
strong_param :boolean, swagger: :boolean, type: ActionController::Parameters.boolean
strong_param :number, swagger: :number, type: ActionController::Parameters.decimal
end
end
end