class Sails::Service::Base

Like ActionController::Base

Public Class Methods

action_methods() click to toggle source
# File lib/sails/service/base.rb, line 13
def action_methods
  @action_methods ||= begin
    # All public instance methods of this class, including ancestors
    methods = (public_instance_methods(true) -
      # Except for public instance methods of Base and its ancestors
      internal_methods +
      # Be sure to include shadowed public instance methods of this class
      public_instance_methods(false)).uniq.map(&:to_s)

    # Clear out AS callback method pollution
    Set.new(methods.reject { |method| method =~ /_one_time_conditions/ })
  end
end
internal_methods() click to toggle source
# File lib/sails/service/base.rb, line 8
def internal_methods
  controller = self.superclass
  controller.public_instance_methods(true)
end

Public Instance Methods

action_methods() click to toggle source
# File lib/sails/service/base.rb, line 50
def action_methods
  self.class.action_methods
end
logger() click to toggle source

Sails.logger You can use this method in app/services

# File lib/sails/service/base.rb, line 56
def logger
  Sails.logger
end
params() click to toggle source

action params to Hash

example:

class FooService < Sails::Service::Base
   def foo(name, age)
     # you can use params in any instance methods
     puts params[:name]
     puts params[:age]
   end
end
# File lib/sails/service/base.rb, line 40
def params
  @params ||= {}
end
raise_error(code, msg = nil) click to toggle source

Raise a Sails::Service::Exception (Thrift::Exception) if you want custom error you can override this method in you ApplicationService

# File lib/sails/service/base.rb, line 46
def raise_error(code, msg = nil)
  raise Exception.new(code: code, message: msg)
end