userlist 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +91 -0
- data/lib/userlist/push/company.rb +0 -7
- data/lib/userlist/push/event.rb +3 -6
- data/lib/userlist/push/operations/delete.rb +1 -1
- data/lib/userlist/push/relationship.rb +1 -16
- data/lib/userlist/push/resource.rb +2 -4
- data/lib/userlist/push/user.rb +0 -7
- data/lib/userlist/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 569696fa5acbb7f0c5520aff129c6418666e4006039e128dbbe97590a74d10ae
|
4
|
+
data.tar.gz: 73a0880766c7e8a17f9a0cae70eb07afdef8a202202f4ab17d4888d8e3ea459f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f63af4821d7d61af74c0c593ce97a597a6aa1c647b3d61b81fd69e9973daa4d9aedb6cc2a5744bb6fbae2170814e7955e3ff97b59a216146ecf1254be84cc35
|
7
|
+
data.tar.gz: 8ec2008d7bf08e60b0d4dc0f43586e9dc62a17dea20f8c704efd8d186236683c4b2a4fd624b99f839247ef22d255f23bf258282d7ea52e7cfe31bcf97171b556
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,91 @@
|
|
1
|
+
# Userlist for Ruby Changelog
|
2
|
+
|
3
|
+
## v0.9.0 (2024-03-19)
|
4
|
+
|
5
|
+
- Allows deleteing resources by using other identifiers (like email)
|
6
|
+
- Relaxes requirement for providing associations. Incomplete resources will not be pushed anyways.
|
7
|
+
- Improves checks for whether a resource is pushable or not
|
8
|
+
- Fixes a typo in the occurred_at attribute of events while maintaining backwards compatibility
|
9
|
+
|
10
|
+
## v0.8.1 (2023-11-30)
|
11
|
+
|
12
|
+
- Fixes issue with customizability of push? and delete? methods on events and relationships
|
13
|
+
|
14
|
+
## v0.8.0 (2023-08-02)
|
15
|
+
|
16
|
+
- Adds a ActiveJob push strategy
|
17
|
+
- Adds support for retries of failed requests
|
18
|
+
- Adds response logging to the push client
|
19
|
+
- Adds support for payloads on delete requests
|
20
|
+
|
21
|
+
## v0.7.2 (2022-10-20)
|
22
|
+
|
23
|
+
- Improves connection handling between requests
|
24
|
+
- Improves handling of arguments passed to Sidekiq
|
25
|
+
|
26
|
+
## v0.7.1 (2022-02-10)
|
27
|
+
|
28
|
+
- Fixes issue with Sidekiq payloads (#4)
|
29
|
+
|
30
|
+
## v0.7.0 (2022-02-02)
|
31
|
+
|
32
|
+
- Allows users without an identifier but with an email address
|
33
|
+
|
34
|
+
## v0.6.0 (2021-05-14)
|
35
|
+
|
36
|
+
- Automatically manage one side of the relationships
|
37
|
+
- Always requires a user and a company on relationships
|
38
|
+
|
39
|
+
## v0.5.0 (2021-01-22)
|
40
|
+
|
41
|
+
- Adds support for relationships
|
42
|
+
- Adds support for company events
|
43
|
+
- Adds support for skipping certain operations
|
44
|
+
- Adds lazy lookup for push strategies
|
45
|
+
- Adds a Sidekiq push strategy
|
46
|
+
- Allow numerics as identifiers
|
47
|
+
- Improves Userlist::Token to work with more than just strings
|
48
|
+
- Improves the way resources are serialized
|
49
|
+
- Improves JSON serialization
|
50
|
+
- Replaces userlist.io with userlist.com
|
51
|
+
- Require at least Ruby 2.4
|
52
|
+
|
53
|
+
## v0.4.1 (2020-03-16)
|
54
|
+
|
55
|
+
- Fixes a problem when configuring the client (#1)
|
56
|
+
|
57
|
+
## v0.4.0 (2020-03-06)
|
58
|
+
|
59
|
+
- Adds improved error messages for configuration errors
|
60
|
+
- Adds support for user token generation
|
61
|
+
- Require at least Ruby 2.3
|
62
|
+
|
63
|
+
## v0.3.0 (2019-06-27)
|
64
|
+
|
65
|
+
- Adds additional aliases for the create method
|
66
|
+
- Adds resource models for User, Company, and Event
|
67
|
+
- Adds a more flexible interface to the push client
|
68
|
+
- Adds more HTTP methods to the push client
|
69
|
+
|
70
|
+
## v0.2.2 (2019-03-18)
|
71
|
+
|
72
|
+
- Adds support for Ruby 2.2
|
73
|
+
|
74
|
+
## v0.2.1 (2019-03-13)
|
75
|
+
|
76
|
+
- Adds support for Ruby 2.3
|
77
|
+
|
78
|
+
## v0.2.0 (2018-11-21)
|
79
|
+
|
80
|
+
- Adds the ability to adjust the configuration
|
81
|
+
- Adds convenience class methods to Userlist::Push
|
82
|
+
- Adds track and identify aliases for event and user push methods
|
83
|
+
- Adds null strategy that discards everything for testing purposes
|
84
|
+
- Adds logging support
|
85
|
+
- Adds threaded push strategy to deliver requests without blocking the main thread
|
86
|
+
- Adds Userlist::Push as a nicer interface to the push endpoint
|
87
|
+
- Require at least Ruby 2.1
|
88
|
+
|
89
|
+
## v0.1.0 (2018-01-18)
|
90
|
+
|
91
|
+
- Initial release
|
@@ -11,13 +11,6 @@ module Userlist
|
|
11
11
|
has_many :relationships, type: 'Userlist::Push::Relationship', inverse: :company
|
12
12
|
has_many :users, type: 'Userlist::Push::User'
|
13
13
|
has_one :user, type: 'Userlist::Push::User'
|
14
|
-
|
15
|
-
def initialize(payload = {}, config = Userlist.config)
|
16
|
-
raise Userlist::ArgumentError, 'Missing required payload hash' unless payload
|
17
|
-
raise Userlist::ArgumentError, 'Missing required parameter :identifier' unless payload[:identifier]
|
18
|
-
|
19
|
-
super
|
20
|
-
end
|
21
14
|
end
|
22
15
|
end
|
23
16
|
end
|
data/lib/userlist/push/event.rb
CHANGED
@@ -9,17 +9,14 @@ module Userlist
|
|
9
9
|
def initialize(payload = {}, config = Userlist.config)
|
10
10
|
raise Userlist::ArgumentError, 'Missing required payload' unless payload
|
11
11
|
raise Userlist::ArgumentError, 'Missing required parameter :name' unless payload[:name]
|
12
|
-
raise Userlist::ArgumentError, 'Missing required parameter :user or :company' unless payload[:user] || payload[:company]
|
13
12
|
|
14
|
-
|
15
|
-
end
|
13
|
+
payload[:occurred_at] ||= payload[:occured_at] || Time.now
|
16
14
|
|
17
|
-
|
18
|
-
payload[:occured_at] || Time.now
|
15
|
+
super
|
19
16
|
end
|
20
17
|
|
21
18
|
def push?
|
22
|
-
(user.nil? || user.push?) && (company.nil? || company.push?)
|
19
|
+
super && (user || company) && (user.nil? || user.push?) && (company.nil? || company.push?)
|
23
20
|
end
|
24
21
|
end
|
25
22
|
end
|
@@ -6,7 +6,7 @@ module Userlist
|
|
6
6
|
def delete(payload = {}, config = self.config)
|
7
7
|
return false unless resource = from_payload(payload, config)
|
8
8
|
|
9
|
-
strategy.call(:delete, resource
|
9
|
+
strategy.call(:delete, endpoint, resource) if resource.delete?
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
@@ -7,23 +7,8 @@ module Userlist
|
|
7
7
|
has_one :user, type: 'Userlist::Push::User'
|
8
8
|
has_one :company, type: 'Userlist::Push::Company'
|
9
9
|
|
10
|
-
def initialize(payload = {}, config = Userlist.config)
|
11
|
-
raise Userlist::ArgumentError, 'Missing required payload' unless payload
|
12
|
-
raise Userlist::ArgumentError, 'Missing required parameter :user' unless payload[:user]
|
13
|
-
raise Userlist::ArgumentError, 'Missing required parameter :company' unless payload[:company]
|
14
|
-
|
15
|
-
super
|
16
|
-
end
|
17
|
-
|
18
|
-
def url
|
19
|
-
raise Userlist::Error, "Cannot generate url for #{self.class.name} without a user" unless user
|
20
|
-
raise Userlist::Error, "Cannot generate url for #{self.class.name} without a company" unless company
|
21
|
-
|
22
|
-
"#{self.class.endpoint}/#{user.identifier}/#{company.identifier}"
|
23
|
-
end
|
24
|
-
|
25
10
|
def push?
|
26
|
-
user&.push? && company&.push?
|
11
|
+
super && user&.push? && company&.push?
|
27
12
|
end
|
28
13
|
end
|
29
14
|
end
|
@@ -61,6 +61,8 @@ module Userlist
|
|
61
61
|
attr_reader :payload, :config
|
62
62
|
|
63
63
|
def initialize(payload = {}, config = Userlist.config)
|
64
|
+
raise Userlist::ArgumentError, 'Missing required payload' unless payload
|
65
|
+
|
64
66
|
@payload = payload
|
65
67
|
@config = config
|
66
68
|
end
|
@@ -79,10 +81,6 @@ module Userlist
|
|
79
81
|
to_hash.to_json(*args)
|
80
82
|
end
|
81
83
|
|
82
|
-
def url
|
83
|
-
"#{self.class.endpoint}/#{identifier}"
|
84
|
-
end
|
85
|
-
|
86
84
|
def identifier
|
87
85
|
payload[:identifier]
|
88
86
|
end
|
data/lib/userlist/push/user.rb
CHANGED
@@ -7,13 +7,6 @@ module Userlist
|
|
7
7
|
has_many :relationships, type: 'Userlist::Push::Relationship', inverse: :user
|
8
8
|
has_many :companies, type: 'Userlist::Push::Company'
|
9
9
|
has_one :company, type: 'Userlist::Push::Company'
|
10
|
-
|
11
|
-
def initialize(payload = {}, config = Userlist.config)
|
12
|
-
raise Userlist::ArgumentError, 'Missing required payload' unless payload
|
13
|
-
raise Userlist::ArgumentError, 'Missing required parameter :identifier or :email' unless payload[:identifier] || payload[:email]
|
14
|
-
|
15
|
-
super
|
16
|
-
end
|
17
10
|
end
|
18
11
|
end
|
19
12
|
end
|
data/lib/userlist/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: userlist
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Benedikt Deicke
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-03-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -91,6 +91,7 @@ files:
|
|
91
91
|
- ".gitignore"
|
92
92
|
- ".rspec"
|
93
93
|
- ".rubocop.yml"
|
94
|
+
- CHANGELOG.md
|
94
95
|
- CODE_OF_CONDUCT.md
|
95
96
|
- Gemfile
|
96
97
|
- Guardfile
|
@@ -147,7 +148,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
148
|
- !ruby/object:Gem::Version
|
148
149
|
version: '0'
|
149
150
|
requirements: []
|
150
|
-
rubygems_version: 3.
|
151
|
+
rubygems_version: 3.5.3
|
151
152
|
signing_key:
|
152
153
|
specification_version: 4
|
153
154
|
summary: Ruby wrapper for the Userlist API
|