Class: Stream::ReactionsClient

Inherits:
Client
  • Object
show all
Defined in:
lib/stream/reactions.rb

Instance Attribute Summary

Attributes inherited from Client

#api_key, #api_secret, #app_id, #client_options

Instance Method Summary collapse

Methods inherited from Client

#collections, #create_user_session_token, #create_user_token, #feed, #get_default_params, #get_http_client, #initialize, #make_query_params, #make_request, #og, #personalization, #reactions, #update_activities, #update_activity, #users

Methods included from Activities

#activity_partial_update, #batch_activity_partial_update, #get_activities

Methods included from Batch

#add_to_many, #follow_many, #unfollow_many

Constructor Details

This class inherits a constructor from Stream::Client

Instance Method Details

#add(kind, activity_id, user_id, data: nil, target_feeds: nil, target_feeds_extra_data: nil) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/stream/reactions.rb', line 3

def add(kind, activity_id, user_id, data: nil, target_feeds: nil, target_feeds_extra_data: nil)
  data = {
    kind: kind,
    activity_id: activity_id,
    user_id: user_id,
    data: data,
    target_feeds: target_feeds,
    target_feeds_extra_data: target_feeds_extra_data
  }
  make_reaction_request(:post, {}, data)
end

#add_child(kind, parent_id, user_id, data: nil, target_feeds: nil, target_feeds_extra_data: nil) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
# File 'lib/stream/reactions.rb', line 43

def add_child(kind, parent_id, user_id, data: nil, target_feeds: nil, target_feeds_extra_data: nil)
  data = {
    kind: kind,
    parent: parent_id,
    user_id: user_id,
    data: data,
    target_feeds: target_feeds,
    target_feeds_extra_data: target_feeds_extra_data
  }
  make_reaction_request(:post, {}, data)
end

#create_reference(id) ⇒ Object



78
79
80
81
82
# File 'lib/stream/reactions.rb', line 78

def create_reference(id)
  k = id
  k = id['id'] if id.respond_to?(:keys) && !id['id'].nil?
  "SR:#{k}"
end

#delete(reaction_id, soft: false) ⇒ Object



29
30
31
32
33
34
35
36
# File 'lib/stream/reactions.rb', line 29

def delete(reaction_id, soft: false)
  uri = "/reaction/#{reaction_id}/"
  if soft
    make_reaction_request(:delete, { soft: soft }, {}, endpoint: uri)
  else
    make_reaction_request(:delete, {}, {}, endpoint: uri)
  end
end

#filter(params = {}) ⇒ Object



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/stream/reactions.rb', line 55

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? && field != 'user_id'
  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) ⇒ Object



15
16
17
18
# File 'lib/stream/reactions.rb', line 15

def get(reaction_id)
  uri = "/reaction/#{reaction_id}/"
  make_reaction_request(:get, {}, {}, endpoint: uri)
end

#restore(reaction_id) ⇒ Object



38
39
40
41
# File 'lib/stream/reactions.rb', line 38

def restore(reaction_id)
  uri = "/reaction/#{reaction_id}/restore/"
  make_reaction_request(:put, {}, {}, endpoint: uri)
end

#update(reaction_id, data: nil, target_feeds: nil) ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/stream/reactions.rb', line 20

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