Options for actions
Option if
Before calling the method, the condition described in if will be checked.
ruby
make :something,
if: ->(context:) { Settings.features.preview.enabled }
def something
# ...
endOption unless
The opposite of the if option.
ruby
make :something,
unless: ->(context:) { Settings.features.preview.disabled }
def something
# ...
endOption position
All methods have a position. If a method needs to be called at a different time than it was added via make, then the position option can be used. Can be useful at service inheritance.
ruby
class SomeApiService::Base < ApplicationService::Base
make :api_request!,
position: 2
# ...
end
class SomeApiService::Posts::Create < SomeApiService::Base
input :post_name, type: String
# ...
make :validate!,
position: 1
private
def validate!
# ...
end
# ...
end