userlist-rails 0.2.2 → 0.5.2

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.
@@ -1,5 +1,5 @@
1
1
  module Userlist
2
2
  module Rails
3
- VERSION = '0.2.2'.freeze
3
+ VERSION = '0.5.2'.freeze
4
4
  end
5
5
  end
@@ -7,9 +7,9 @@ Gem::Specification.new do |spec|
7
7
  spec.name = 'userlist-rails'
8
8
  spec.version = Userlist::Rails::VERSION
9
9
  spec.authors = ['Benedikt Deicke']
10
- spec.email = ['benedikt@userlist.io']
10
+ spec.email = ['benedikt@userlist.com']
11
11
  spec.homepage = 'https://github.com/userlistio/userlist-rails'
12
- spec.summary = 'Rails integration for Userlist.io'
12
+ spec.summary = 'Rails integration for Userlist'
13
13
  spec.license = 'MIT'
14
14
 
15
15
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
@@ -19,13 +19,17 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ['lib']
21
21
 
22
- spec.add_dependency 'activesupport', '>= 3.0'
23
- spec.add_dependency 'railties', '>= 3.0'
24
- spec.add_dependency 'userlist', '~> 0.2', '>= 0.2.2'
22
+ spec.required_ruby_version = '>= 2.4'
25
23
 
26
- spec.add_development_dependency 'bundler', '~> 1.15'
27
- spec.add_development_dependency 'rake', '~> 10.0'
24
+ spec.add_dependency 'activesupport', '>= 5.0'
25
+ spec.add_dependency 'railties', '>= 5.0'
26
+ spec.add_dependency 'userlist', '~> 0.5'
27
+
28
+ spec.add_development_dependency 'actionpack', '>= 5.0'
29
+ spec.add_development_dependency 'activerecord', '>= 5.0'
30
+ spec.add_development_dependency 'bundler', '>= 1.15'
31
+ spec.add_development_dependency 'rake', '~> 12.3', '>= 12.3.3'
28
32
  spec.add_development_dependency 'rspec', '~> 3.0'
29
- spec.add_development_dependency 'sqlite3'
30
- spec.add_development_dependency 'webmock', '~> 1.22'
33
+ spec.add_development_dependency 'rspec-rails', '~> 3.0'
34
+ spec.add_development_dependency 'sqlite3', '>= 1.4'
31
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: userlist-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Benedikt Deicke
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-03-18 00:00:00.000000000 Z
11
+ date: 2021-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,60 +16,82 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '3.0'
19
+ version: '5.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '3.0'
26
+ version: '5.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: railties
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '3.0'
33
+ version: '5.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '3.0'
40
+ version: '5.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: userlist
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.2'
48
- - - ">="
49
- - !ruby/object:Gem::Version
50
- version: 0.2.2
47
+ version: '0.5'
51
48
  type: :runtime
52
49
  prerelease: false
53
50
  version_requirements: !ruby/object:Gem::Requirement
54
51
  requirements:
55
52
  - - "~>"
56
53
  - !ruby/object:Gem::Version
57
- version: '0.2'
54
+ version: '0.5'
55
+ - !ruby/object:Gem::Dependency
56
+ name: actionpack
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '5.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
58
66
  - - ">="
59
67
  - !ruby/object:Gem::Version
60
- version: 0.2.2
68
+ version: '5.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: activerecord
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '5.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '5.0'
61
83
  - !ruby/object:Gem::Dependency
62
84
  name: bundler
63
85
  requirement: !ruby/object:Gem::Requirement
64
86
  requirements:
65
- - - "~>"
87
+ - - ">="
66
88
  - !ruby/object:Gem::Version
67
89
  version: '1.15'
68
90
  type: :development
69
91
  prerelease: false
70
92
  version_requirements: !ruby/object:Gem::Requirement
71
93
  requirements:
72
- - - "~>"
94
+ - - ">="
73
95
  - !ruby/object:Gem::Version
74
96
  version: '1.15'
75
97
  - !ruby/object:Gem::Dependency
@@ -78,14 +100,20 @@ dependencies:
78
100
  requirements:
79
101
  - - "~>"
80
102
  - !ruby/object:Gem::Version
81
- version: '10.0'
103
+ version: '12.3'
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: 12.3.3
82
107
  type: :development
83
108
  prerelease: false
84
109
  version_requirements: !ruby/object:Gem::Requirement
85
110
  requirements:
86
111
  - - "~>"
87
112
  - !ruby/object:Gem::Version
88
- version: '10.0'
113
+ version: '12.3'
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: 12.3.3
89
117
  - !ruby/object:Gem::Dependency
90
118
  name: rspec
91
119
  requirement: !ruby/object:Gem::Requirement
@@ -101,44 +129,44 @@ dependencies:
101
129
  - !ruby/object:Gem::Version
102
130
  version: '3.0'
103
131
  - !ruby/object:Gem::Dependency
104
- name: sqlite3
132
+ name: rspec-rails
105
133
  requirement: !ruby/object:Gem::Requirement
106
134
  requirements:
107
- - - ">="
135
+ - - "~>"
108
136
  - !ruby/object:Gem::Version
109
- version: '0'
137
+ version: '3.0'
110
138
  type: :development
111
139
  prerelease: false
112
140
  version_requirements: !ruby/object:Gem::Requirement
113
141
  requirements:
114
- - - ">="
142
+ - - "~>"
115
143
  - !ruby/object:Gem::Version
116
- version: '0'
144
+ version: '3.0'
117
145
  - !ruby/object:Gem::Dependency
118
- name: webmock
146
+ name: sqlite3
119
147
  requirement: !ruby/object:Gem::Requirement
120
148
  requirements:
121
- - - "~>"
149
+ - - ">="
122
150
  - !ruby/object:Gem::Version
123
- version: '1.22'
151
+ version: '1.4'
124
152
  type: :development
125
153
  prerelease: false
126
154
  version_requirements: !ruby/object:Gem::Requirement
127
155
  requirements:
128
- - - "~>"
156
+ - - ">="
129
157
  - !ruby/object:Gem::Version
130
- version: '1.22'
131
- description:
158
+ version: '1.4'
159
+ description:
132
160
  email:
133
- - benedikt@userlist.io
161
+ - benedikt@userlist.com
134
162
  executables: []
135
163
  extensions: []
136
164
  extra_rdoc_files: []
137
165
  files:
166
+ - ".github/workflows/test.yml"
138
167
  - ".gitignore"
139
168
  - ".rspec"
140
169
  - ".rubocop.yml"
141
- - ".travis.yml"
142
170
  - CODE_OF_CONDUCT.md
143
171
  - Gemfile
144
172
  - Guardfile
@@ -148,22 +176,28 @@ files:
148
176
  - bin/console
149
177
  - bin/setup
150
178
  - bin/test
151
- - lib/tasks/userlist.rake
152
179
  - lib/userlist/rails.rb
153
- - lib/userlist/rails/company.rb
154
180
  - lib/userlist/rails/config.rb
181
+ - lib/userlist/rails/extensions/company.rb
182
+ - lib/userlist/rails/extensions/event.rb
183
+ - lib/userlist/rails/extensions/relationship.rb
184
+ - lib/userlist/rails/extensions/user.rb
185
+ - lib/userlist/rails/helpers.rb
155
186
  - lib/userlist/rails/importer.rb
156
187
  - lib/userlist/rails/logger.rb
157
- - lib/userlist/rails/push.rb
158
188
  - lib/userlist/rails/railtie.rb
159
- - lib/userlist/rails/user.rb
189
+ - lib/userlist/rails/tasks/userlist.rake
190
+ - lib/userlist/rails/transform.rb
191
+ - lib/userlist/rails/transforms/company.rb
192
+ - lib/userlist/rails/transforms/relationship.rb
193
+ - lib/userlist/rails/transforms/user.rb
160
194
  - lib/userlist/rails/version.rb
161
195
  - userlist-rails.gemspec
162
196
  homepage: https://github.com/userlistio/userlist-rails
163
197
  licenses:
164
198
  - MIT
165
199
  metadata: {}
166
- post_install_message:
200
+ post_install_message:
167
201
  rdoc_options: []
168
202
  require_paths:
169
203
  - lib
@@ -171,16 +205,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
171
205
  requirements:
172
206
  - - ">="
173
207
  - !ruby/object:Gem::Version
174
- version: '0'
208
+ version: '2.4'
175
209
  required_rubygems_version: !ruby/object:Gem::Requirement
176
210
  requirements:
177
211
  - - ">="
178
212
  - !ruby/object:Gem::Version
179
213
  version: '0'
180
214
  requirements: []
181
- rubyforge_project:
182
- rubygems_version: 2.4.5.2
183
- signing_key:
215
+ rubygems_version: 3.1.4
216
+ signing_key:
184
217
  specification_version: 4
185
- summary: Rails integration for Userlist.io
218
+ summary: Rails integration for Userlist
186
219
  test_files: []
data/.travis.yml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
- rvm:
6
- - 2.5.0
7
- before_install: gem install bundler -v 1.17.1
@@ -1,39 +0,0 @@
1
- require 'active_support/concern'
2
- require 'userlist/push'
3
-
4
- module Userlist
5
- module Rails
6
- module Company
7
- extend ActiveSupport::Concern
8
-
9
- included do
10
- method = [:after_commit, :after_save].find { |m| respond_to?(m) }
11
- public_send(method, :userlist_push) if method
12
- end
13
-
14
- def userlist_identifier
15
- "#{self.class.name}-#{id}".parameterize
16
- end
17
-
18
- def userlist_properties
19
- {}
20
- end
21
-
22
- def userlist_payload
23
- {
24
- identifier: userlist_identifier,
25
- name: userlist_name,
26
- properties: userlist_properties
27
- }
28
- end
29
-
30
- def userlist_name
31
- return name if respond_to?(:name)
32
- end
33
-
34
- def userlist_push
35
- Userlist::Push.company(userlist_payload)
36
- end
37
- end
38
- end
39
- end
@@ -1,41 +0,0 @@
1
- require 'active_support/core_ext/hash/transform_values'
2
-
3
- module Userlist
4
- module Rails
5
- module Push
6
- def event(payload = {})
7
- payload[:user] ||= Userlist::Rails.current_user
8
-
9
- super(transform_payload(payload))
10
- end
11
- alias track event
12
-
13
- def user(payload = {})
14
- super(transform_payload(payload))
15
- end
16
- alias identify user
17
-
18
- private
19
-
20
- def transform_payload(payload)
21
- payload = transform_value(payload)
22
-
23
- return payload unless payload.is_a?(Hash)
24
-
25
- payload.transform_values do |value|
26
- result = transform_value(value)
27
- result = transform_payload(result) if result.is_a?(Hash)
28
- result
29
- end
30
- end
31
-
32
- def transform_value(value)
33
- if value.respond_to?(:userlist_payload)
34
- value.send(:userlist_payload)
35
- else
36
- value
37
- end
38
- end
39
- end
40
- end
41
- end
@@ -1,45 +0,0 @@
1
- require 'active_support/concern'
2
- require 'userlist/push'
3
-
4
- module Userlist
5
- module Rails
6
- module User
7
- extend ActiveSupport::Concern
8
-
9
- included do
10
- method = [:after_commit, :after_save].find { |m| respond_to?(m) }
11
- public_send(method, :userlist_push) if method
12
- end
13
-
14
- def userlist_identifier
15
- "#{self.class.name}-#{id}".parameterize
16
- end
17
-
18
- def userlist_properties
19
- {}
20
- end
21
-
22
- def userlist_email
23
- return email if respond_to?(:email)
24
- end
25
-
26
- def userlist_company
27
- nil
28
- end
29
-
30
- def userlist_payload
31
- {
32
- identifier: userlist_identifier,
33
- email: userlist_email,
34
- company: userlist_company,
35
- properties: userlist_properties,
36
- signed_up_at: created_at
37
- }
38
- end
39
-
40
- def userlist_push
41
- Userlist::Push.user(userlist_payload)
42
- end
43
- end
44
- end
45
- end