class NForm::Service
Services expect valid input A service performs a single action A service should not accept unfiltered user input, but accept a form object when user input is required
Attributes
form[R]
Public Class Methods
call(*args)
click to toggle source
# File lib/nform/service.rb, line 21 def self.call(*args) new(*args).call end
form_class(klass=nil)
click to toggle source
Setter Macro
# File lib/nform/service.rb, line 26 def self.form_class(klass=nil) @form_class ||= begin klass || const_get(:Form) end end
new(input)
click to toggle source
# File lib/nform/service.rb, line 13 def initialize(input) @form = get_form(input) end
Public Instance Methods
call()
click to toggle source
# File lib/nform/service.rb, line 17 def call raise "Must be defined in subclass" end
Private Instance Methods
error!(message)
click to toggle source
# File lib/nform/service.rb, line 41 def error!(message) raise ServiceError.new(message) end
form_class()
click to toggle source
# File lib/nform/service.rb, line 37 def form_class self.class.form_class end
get_form(input)
click to toggle source
# File lib/nform/service.rb, line 33 def get_form(input) input.is_a?(form_class) ? input : form_class.new(input) end
validate!()
click to toggle source
# File lib/nform/service.rb, line 45 def validate! end