class Stream::ReactionsClient

Public Instance Methods

add(kind, activity_id, user_id, data: nil, target_feeds: nil) click to toggle source
# File lib/stream/reactions.rb, line 3
def add(kind, activity_id, user_id, data: nil, target_feeds: nil)
  data = {
    kind: kind,
    activity_id: activity_id,
    user_id: user_id,
    data: data,
    target_feeds: target_feeds
  }
  make_reaction_request(:post, {}, data)
end
add_child(kind, parent_id, user_id, data: nil, target_feeds: nil) click to toggle source
# File lib/stream/reactions.rb, line 33
def add_child(kind, parent_id, user_id, data: nil, target_feeds: nil)
  data = {
    kind: kind,
    parent: parent_id,
    user_id: user_id,
    data: data,
    target_feeds: target_feeds
  }
  make_reaction_request(:post, {}, data)
end
create_reference(id) click to toggle source
# File lib/stream/reactions.rb, line 67
def create_reference(id)
  k = id
  k = id['id'] if id.respond_to?(:keys) && !id['id'].nil?
  "SR:#{k}"
end
delete(reaction_id) click to toggle source
# File lib/stream/reactions.rb, line 28
def delete(reaction_id)
  uri = "/reaction/#{reaction_id}/"
  make_reaction_request(:delete, {}, {}, endpoint: uri)
end
filter(params = {}) click to toggle source
# File lib/stream/reactions.rb, line 44
def filter(params = {})
  field = ''
  value = ''
  kind = params.fetch(:kind, '')
  if params[:reaction_id]
    field = 'reaction_id'
    value = params[:reaction_id]
  elsif params[:activity_id]
    field = 'activity_id'
    value = params[:activity_id]
  elsif params[:user_id]
    field = 'user_id'
    value = params[:user_id]
  end
  params.delete(field.to_sym) unless field.empty?
  uri = if kind.nil? || kind.empty?
          "/reaction/#{field}/#{value}/"
        else
          "/reaction/#{field}/#{value}/#{kind}/"
        end
  make_reaction_request(:get, params, {}, endpoint: uri)
end
get(reaction_id) click to toggle source
# File lib/stream/reactions.rb, line 14
def get(reaction_id)
  uri = "/reaction/#{reaction_id}/"
  make_reaction_request(:get, {}, {}, endpoint: uri)
end
update(reaction_id, data: nil, target_feeds: nil) click to toggle source
# File lib/stream/reactions.rb, line 19
def update(reaction_id, data: nil, target_feeds: nil)
  data = {
    data: data,
    target_feeds: target_feeds
  }
  uri = "/reaction/#{reaction_id}/"
  make_reaction_request(:put, {}, data, endpoint: uri)
end

Private Instance Methods

make_reaction_request(method, params, data, endpoint: '/reaction/') click to toggle source
# File lib/stream/reactions.rb, line 75
def make_reaction_request(method, params, data, endpoint: '/reaction/')
  auth_token = Stream::Signer.create_jwt_token('reactions', '*', @api_secret, '*', '*')
  make_request(method, endpoint, auth_token, params, data)
end