Class: Userlist::Push

Inherits:
Object
  • Object
show all
Defined in:
lib/userlist/push.rb,
lib/userlist/push/user.rb,
lib/userlist/push/event.rb,
lib/userlist/push/client.rb,
lib/userlist/push/company.rb,
lib/userlist/push/message.rb,
lib/userlist/push/relation.rb,
lib/userlist/push/resource.rb,
lib/userlist/push/serializer.rb,
lib/userlist/push/strategies.rb,
lib/userlist/push/relationship.rb,
lib/userlist/push/operations/push.rb,
lib/userlist/push/strategies/null.rb,
lib/userlist/push/operations/delete.rb,
lib/userlist/push/strategies/direct.rb,
lib/userlist/push/strategies/sidekiq.rb,
lib/userlist/push/resource_collection.rb,
lib/userlist/push/strategies/threaded.rb,
lib/userlist/push/strategies/active_job.rb,
lib/userlist/push/strategies/sidekiq/worker.rb,
lib/userlist/push/strategies/threaded/worker.rb,
lib/userlist/push/strategies/active_job/worker.rb

Defined Under Namespace

Modules: Operations, Strategies Classes: Client, Company, Event, Message, Relation, Relationship, Resource, ResourceCollection, Serializer, User

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(configuration = {}) ⇒ Push

Returns a new instance of Push.



33
34
35
36
# File 'lib/userlist/push.rb', line 33

def initialize(configuration = {})
  @config = Userlist.config.merge(configuration)
  @strategy = Userlist::Push::Strategies.strategy_for(config.push_strategy, config)
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



38
39
40
# File 'lib/userlist/push.rb', line 38

def config
  @config
end

#strategyObject (readonly)

Returns the value of attribute strategy.



38
39
40
# File 'lib/userlist/push.rb', line 38

def strategy
  @strategy
end

Instance Method Details

#companiesObject



48
49
50
# File 'lib/userlist/push.rb', line 48

def companies
  @companies ||= Relation.new(self, Company, [Operations::Push, Operations::Delete])
end

#company(payload = {}) ⇒ Object



68
69
70
# File 'lib/userlist/push.rb', line 68

def company(payload = {})
  companies.push(payload)
end

#event(payload = {}) ⇒ Object Also known as: track



60
61
62
# File 'lib/userlist/push.rb', line 60

def event(payload = {})
  events.push(payload)
end

#eventsObject



40
41
42
# File 'lib/userlist/push.rb', line 40

def events
  @events ||= Relation.new(self, Event, [Operations::Push])
end

#message(payload = {}) ⇒ Object



72
73
74
# File 'lib/userlist/push.rb', line 72

def message(payload = {})
  messages.push(payload)
end

#messagesObject



56
57
58
# File 'lib/userlist/push.rb', line 56

def messages
  @messages ||= Relation.new(self, Message, [Operations::Push])
end

#relationshipsObject



52
53
54
# File 'lib/userlist/push.rb', line 52

def relationships
  @relationships ||= Relation.new(self, Relationship, [Operations::Push, Operations::Delete])
end

#user(payload = {}) ⇒ Object Also known as: identify



64
65
66
# File 'lib/userlist/push.rb', line 64

def user(payload = {})
  users.push(payload)
end

#usersObject



44
45
46
# File 'lib/userlist/push.rb', line 44

def users
  @users ||= Relation.new(self, User, [Operations::Push, Operations::Delete])
end