class SocMed::Services::Follows::Create

Public Instance Methods

call() { |success, NoTrigger| ... } click to toggle source
# File lib/soc_med/services/follows/create.rb, line 8
def call(&block)
  followed_object = create_followed_object

  yield(Success.new(followed_object), NoTrigger)
rescue ActiveRecord::RecordNotFound, SocMed::Follows::AlreadyExistsError, StandardError => e
  yield(NoTrigger, Failure.new(e))
end

Private Instance Methods

create_followed_object() click to toggle source
# File lib/soc_med/services/follows/create.rb, line 18
def create_followed_object
  followed_object = owner.followable_objects.build(target: target)

  return followed_object if followed_object.save!
end