Class: ServiceOperation::Params::DSL
- Inherits:
-
Object
- Object
- ServiceOperation::Params::DSL
show all
- Defined in:
- lib/service_operation/params/dsl.rb
Overview
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize ⇒ DSL
Returns a new instance of DSL.
17
18
19
|
# File 'lib/service_operation/params/dsl.rb', line 17
def initialize
@attributes = []
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args) ⇒ Object
64
65
66
67
68
69
70
|
# File 'lib/service_operation/params/dsl.rb', line 64
def method_missing(name, *args)
if respond_to_missing?(name)
def_attr(name, *args)
else
super
end
end
|
Class Method Details
.run { ... } ⇒ Array<Attribute>
11
12
13
14
15
|
# File 'lib/service_operation/params/dsl.rb', line 11
def self.run(&block)
dsl = new
dsl.instance_eval(&block)
dsl.instance_variable_get('@attributes').freeze
end
|
Instance Method Details
#_query_params(default_sort: 'id') ⇒ Object
46
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/service_operation/params/dsl.rb', line 46
def _query_params(default_sort: 'id')
id :integer, optional: true
ids [:integer], optional: true
filter :hash, optional: true,
coerce: ->(f) { f.is_a?(Hash) ? f : Array(f).map { [f, nil] }.to_h }
includes [:string], optional: true
page :hash, optional: true, coerce: :json_api_page
sort :string, optional: true, default: default_sort
end
|
#Any(*subvalidators) ⇒ Object
rubocop:disable Naming/MethodName
23
24
25
|
# File 'lib/service_operation/params/dsl.rb', line 23
def Any(*subvalidators)
Any.new(subvalidators)
end
|
#Anything ⇒ Object
27
28
29
|
# File 'lib/service_operation/params/dsl.rb', line 27
def Anything
Anything
end
|
#ArrayOf(element_validator) ⇒ Object
31
32
33
|
# File 'lib/service_operation/params/dsl.rb', line 31
def ArrayOf(element_validator)
ArrayOf.new(element_validator)
end
|
#Bool ⇒ Object
35
36
37
|
# File 'lib/service_operation/params/dsl.rb', line 35
def Bool
Bool
end
|
#EnumerableOf(element_validator) ⇒ Object
39
40
41
|
# File 'lib/service_operation/params/dsl.rb', line 39
def EnumerableOf(element_validator)
EnumerableOf.new(element_validator)
end
|