userlist-rails 0.3.0 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,5 @@
1
1
  module Userlist
2
2
  module Rails
3
- VERSION = '0.3.0'.freeze
3
+ VERSION = '0.5.3'.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,12 +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.3'
22
+ spec.required_ruby_version = '>= 2.4'
25
23
 
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'
26
30
  spec.add_development_dependency 'bundler', '>= 1.15'
27
- spec.add_development_dependency 'rake', '~> 10.0'
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 'webmock', '~> 1.22'
33
+ spec.add_development_dependency 'rspec-rails', '~> 3.0'
34
+ spec.add_development_dependency 'sqlite3', '>= 1.4'
30
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.3.0
4
+ version: 0.5.3
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-06-27 00:00:00.000000000 Z
11
+ date: 2021-04-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,42 +16,70 @@ 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.3'
47
+ version: '0.5'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0.3'
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:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
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'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: bundler
57
85
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +100,20 @@ dependencies:
72
100
  requirements:
73
101
  - - "~>"
74
102
  - !ruby/object:Gem::Version
75
- version: '10.0'
103
+ version: '12.3'
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: 12.3.3
76
107
  type: :development
77
108
  prerelease: false
78
109
  version_requirements: !ruby/object:Gem::Requirement
79
110
  requirements:
80
111
  - - "~>"
81
112
  - !ruby/object:Gem::Version
82
- version: '10.0'
113
+ version: '12.3'
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: 12.3.3
83
117
  - !ruby/object:Gem::Dependency
84
118
  name: rspec
85
119
  requirement: !ruby/object:Gem::Requirement
@@ -95,30 +129,44 @@ dependencies:
95
129
  - !ruby/object:Gem::Version
96
130
  version: '3.0'
97
131
  - !ruby/object:Gem::Dependency
98
- name: webmock
132
+ name: rspec-rails
99
133
  requirement: !ruby/object:Gem::Requirement
100
134
  requirements:
101
135
  - - "~>"
102
136
  - !ruby/object:Gem::Version
103
- version: '1.22'
137
+ version: '3.0'
104
138
  type: :development
105
139
  prerelease: false
106
140
  version_requirements: !ruby/object:Gem::Requirement
107
141
  requirements:
108
142
  - - "~>"
109
143
  - !ruby/object:Gem::Version
110
- version: '1.22'
111
- description:
144
+ version: '3.0'
145
+ - !ruby/object:Gem::Dependency
146
+ name: sqlite3
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '1.4'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '1.4'
159
+ description:
112
160
  email:
113
- - benedikt@userlist.io
161
+ - benedikt@userlist.com
114
162
  executables: []
115
163
  extensions: []
116
164
  extra_rdoc_files: []
117
165
  files:
166
+ - ".github/workflows/test.yml"
118
167
  - ".gitignore"
119
168
  - ".rspec"
120
169
  - ".rubocop.yml"
121
- - ".travis.yml"
122
170
  - CODE_OF_CONDUCT.md
123
171
  - Gemfile
124
172
  - Guardfile
@@ -128,23 +176,28 @@ files:
128
176
  - bin/console
129
177
  - bin/setup
130
178
  - bin/test
131
- - lib/tasks/userlist.rake
132
179
  - lib/userlist/rails.rb
133
- - lib/userlist/rails/company.rb
134
180
  - lib/userlist/rails/config.rb
181
+ - lib/userlist/rails/extensions/company.rb
135
182
  - lib/userlist/rails/extensions/event.rb
136
- - lib/userlist/rails/extensions/resource.rb
183
+ - lib/userlist/rails/extensions/relationship.rb
184
+ - lib/userlist/rails/extensions/user.rb
185
+ - lib/userlist/rails/helpers.rb
137
186
  - lib/userlist/rails/importer.rb
138
187
  - lib/userlist/rails/logger.rb
139
188
  - lib/userlist/rails/railtie.rb
140
- - 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
141
194
  - lib/userlist/rails/version.rb
142
195
  - userlist-rails.gemspec
143
196
  homepage: https://github.com/userlistio/userlist-rails
144
197
  licenses:
145
198
  - MIT
146
199
  metadata: {}
147
- post_install_message:
200
+ post_install_message:
148
201
  rdoc_options: []
149
202
  require_paths:
150
203
  - lib
@@ -152,15 +205,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
205
  requirements:
153
206
  - - ">="
154
207
  - !ruby/object:Gem::Version
155
- version: '0'
208
+ version: '2.4'
156
209
  required_rubygems_version: !ruby/object:Gem::Requirement
157
210
  requirements:
158
211
  - - ">="
159
212
  - !ruby/object:Gem::Version
160
213
  version: '0'
161
214
  requirements: []
162
- rubygems_version: 3.0.3
163
- signing_key:
215
+ rubygems_version: 3.1.4
216
+ signing_key:
164
217
  specification_version: 4
165
- summary: Rails integration for Userlist.io
218
+ summary: Rails integration for Userlist
166
219
  test_files: []
data/.travis.yml DELETED
@@ -1,7 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.2
4
- - 2.3
5
- - 2.4
6
- - 2.5
7
- - 2.6
@@ -1,45 +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
- if method = [:after_commit, :after_save].find { |m| respond_to?(m) }
11
- public_send(method, :userlist_push, on: [:create, :update])
12
- public_send(method, :userlist_delete, on: [:destroy])
13
- end
14
- end
15
-
16
- def userlist_identifier
17
- "#{self.class.name}-#{id}".parameterize
18
- end
19
-
20
- def userlist_properties
21
- {}
22
- end
23
-
24
- def userlist_payload
25
- {
26
- identifier: userlist_identifier,
27
- name: userlist_name,
28
- properties: userlist_properties
29
- }
30
- end
31
-
32
- def userlist_name
33
- return name if respond_to?(:name)
34
- end
35
-
36
- def userlist_push
37
- Userlist::Push.companies.push(userlist_payload)
38
- end
39
-
40
- def userlist_delete
41
- Userlist::Push.companies.delete(userlist_identifier)
42
- end
43
- end
44
- end
45
- end
@@ -1,35 +0,0 @@
1
- require 'active_support/core_ext/hash/transform_values' if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.5.0')
2
-
3
- module Userlist
4
- module Rails
5
- module Extensions
6
- module Resource
7
- def initialize(payload = {})
8
- super(transform_payload(payload))
9
- end
10
-
11
- private
12
-
13
- def transform_payload(payload)
14
- payload = transform_value(payload)
15
-
16
- return payload unless payload.is_a?(Hash)
17
-
18
- payload.transform_values do |value|
19
- result = transform_value(value)
20
- result = transform_payload(result) if result.is_a?(Hash)
21
- result
22
- end
23
- end
24
-
25
- def transform_value(value)
26
- if value.respond_to?(:userlist_payload)
27
- value.send(:userlist_payload)
28
- else
29
- value
30
- end
31
- end
32
- end
33
- end
34
- end
35
- end
@@ -1,51 +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
- if method = [:after_commit, :after_save].find { |m| respond_to?(m) }
11
- public_send(method, :userlist_push, on: [:create, :update])
12
- public_send(method, :userlist_delete, on: [:destroy])
13
- end
14
- end
15
-
16
- def userlist_identifier
17
- "#{self.class.name}-#{id}".parameterize
18
- end
19
-
20
- def userlist_properties
21
- {}
22
- end
23
-
24
- def userlist_email
25
- return email if respond_to?(:email)
26
- end
27
-
28
- def userlist_company
29
- nil
30
- end
31
-
32
- def userlist_payload
33
- {
34
- identifier: userlist_identifier,
35
- email: userlist_email,
36
- company: userlist_company,
37
- properties: userlist_properties,
38
- signed_up_at: created_at
39
- }
40
- end
41
-
42
- def userlist_push
43
- Userlist::Push.users.push(userlist_payload)
44
- end
45
-
46
- def userlist_delete
47
- Userlist::Push.users.delete(userlist_identifier)
48
- end
49
- end
50
- end
51
- end