vero 0.9.1 → 0.10.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.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +15 -1
  3. data/Gemfile.lock +95 -73
  4. data/README.markdown +145 -121
  5. data/lib/generators/vero_generator.rb +18 -19
  6. data/lib/vero.rb +7 -3
  7. data/lib/vero/api.rb +14 -4
  8. data/lib/vero/api/base_api.rb +11 -10
  9. data/lib/vero/api/events/track_api.rb +5 -3
  10. data/lib/vero/api/users/delete_api.rb +21 -0
  11. data/lib/vero/api/users/edit_api.rb +5 -3
  12. data/lib/vero/api/users/edit_tags_api.rb +7 -5
  13. data/lib/vero/api/users/reidentify_api.rb +5 -3
  14. data/lib/vero/api/users/resubscribe_api.rb +3 -1
  15. data/lib/vero/api/users/track_api.rb +5 -3
  16. data/lib/vero/api/users/unsubscribe_api.rb +3 -1
  17. data/lib/vero/app.rb +4 -2
  18. data/lib/vero/config.rb +11 -8
  19. data/lib/vero/context.rb +9 -11
  20. data/lib/vero/context/api.rb +9 -7
  21. data/lib/vero/dsl.rb +3 -1
  22. data/lib/vero/railtie.rb +5 -3
  23. data/lib/vero/sender.rb +12 -31
  24. data/lib/vero/senders/base.rb +3 -1
  25. data/lib/vero/senders/delayed_job.rb +7 -7
  26. data/lib/vero/senders/invalid.rb +5 -3
  27. data/lib/vero/senders/resque.rb +8 -8
  28. data/lib/vero/senders/sidekiq.rb +3 -1
  29. data/lib/vero/senders/{thread.rb → sucker_punch.rb} +5 -3
  30. data/lib/vero/trackable.rb +4 -2
  31. data/lib/vero/trackable/base.rb +10 -9
  32. data/lib/vero/trackable/interface.rb +3 -1
  33. data/lib/vero/utility/ext.rb +3 -1
  34. data/lib/vero/utility/logger.rb +4 -6
  35. data/lib/vero/version.rb +3 -1
  36. data/lib/vero/view_helpers/javascript.rb +20 -20
  37. data/spec/lib/api/base_api_spec.rb +10 -8
  38. data/spec/lib/api/events/track_api_spec.rb +23 -21
  39. data/spec/lib/api/users/delete_api_spec.rb +33 -0
  40. data/spec/lib/api/users/edit_api_spec.rb +12 -10
  41. data/spec/lib/api/users/edit_tags_api_spec.rb +22 -20
  42. data/spec/lib/api/users/reidentify_spec.rb +16 -14
  43. data/spec/lib/api/users/resubscribe_api_spec.rb +16 -10
  44. data/spec/lib/api/users/track_api_spec.rb +21 -19
  45. data/spec/lib/api/users/unsubscribe_api_spec.rb +12 -10
  46. data/spec/lib/api_spec.rb +29 -24
  47. data/spec/lib/app_spec.rb +12 -10
  48. data/spec/lib/config_spec.rb +31 -29
  49. data/spec/lib/context_spec.rb +13 -11
  50. data/spec/lib/dsl_spec.rb +3 -1
  51. data/spec/lib/sender_spec.rb +12 -24
  52. data/spec/lib/senders/sidekiq_spec.rb +16 -9
  53. data/spec/lib/trackable_spec.rb +88 -114
  54. data/spec/lib/view_helpers_spec.rb +12 -8
  55. data/spec/spec_helper.rb +10 -4
  56. data/spec/support/base_config_shared_examples.rb +5 -3
  57. data/spec/support/user_support.rb +15 -7
  58. data/spec/support/vero_user_support.rb +4 -2
  59. data/vero.gemspec +14 -30
  60. metadata +30 -125
@@ -1,18 +1,24 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rubygems'
2
4
  require 'bundler/setup'
3
5
  require 'vero'
4
6
  require 'json'
5
- require 'sucker_punch/testing/inline'
6
7
 
7
- Dir[::File.expand_path('../support/**/*.rb', __FILE__)].each { |f| require f }
8
+ Dir[::File.expand_path('support/**/*.rb', __dir__)].sort.each { |f| require f }
8
9
 
9
10
  RSpec.configure do |config|
11
+ config.expect_with :rspec do |expectations|
12
+ expectations.syntax = [:expect]
13
+ end
14
+
15
+ config.raise_errors_for_deprecations!
10
16
  end
11
17
 
12
18
  def stub_env(new_env, &block)
13
19
  original_env = Rails.env
14
- Rails.instance_variable_set("@_env", ActiveSupport::StringInquirer.new(new_env))
20
+ Rails.instance_variable_set('@_env', ActiveSupport::StringInquirer.new(new_env))
15
21
  block.call
16
22
  ensure
17
- Rails.instance_variable_set("@_env", ActiveSupport::StringInquirer.new(original_env))
23
+ Rails.instance_variable_set('@_env', ActiveSupport::StringInquirer.new(original_env))
18
24
  end
@@ -1,9 +1,11 @@
1
- RSpec.shared_examples "a Vero wrapper" do
2
- it "should inherit from Vero::Api::Workers::BaseCaller" do
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.shared_examples 'a Vero wrapper' do
4
+ it 'should inherit from Vero::Api::Workers::BaseCaller' do
3
5
  expect(subject).to be_a(Vero::Api::Workers::BaseAPI)
4
6
  end
5
7
 
6
- it "should map to current version of Vero API" do
8
+ it 'should map to current version of Vero API' do
7
9
  expect(subject.send(:url)).to eq("https://api.getvero.com#{end_point}")
8
10
  end
9
11
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'vero'
2
4
 
3
5
  class User
@@ -17,7 +19,9 @@ class UserWithoutEmail
17
19
  include Vero::Trackable
18
20
  trackable :email, :age
19
21
 
20
- def email; self.primary_contact; end
22
+ def email
23
+ primary_contact
24
+ end
21
25
 
22
26
  def primary_contact
23
27
  'durkster@gmail.com'
@@ -65,12 +69,15 @@ class UserWithNilAttributes
65
69
  def email_address
66
70
  'durkster@gmail.com'
67
71
  end
68
- def age; nil; end
72
+
73
+ def age
74
+ nil
75
+ end
69
76
  end
70
77
 
71
78
  class UserWithExtras
72
79
  include Vero::Trackable
73
- trackable :email, {:extras => :properties}
80
+ trackable :email, { extras: :properties }
74
81
 
75
82
  attr_accessor :properties
76
83
 
@@ -81,25 +88,26 @@ end
81
88
 
82
89
  class UserWithPrivateExtras
83
90
  include Vero::Trackable
84
- trackable :email, {:extras => :properties}
91
+ trackable :email, { extras: :properties }
85
92
 
86
93
  def email
87
94
  'durkster@gmail.com'
88
95
  end
89
96
 
90
97
  private
98
+
91
99
  def properties
92
- {:age => 26}
100
+ { age: 26 }
93
101
  end
94
102
  end
95
103
 
96
104
  class UserWithOnlyExtras
97
105
  include Vero::Trackable
98
- trackable({:extras => :properties})
106
+ trackable({ extras: :properties })
99
107
 
100
108
  attr_accessor :properties
101
109
 
102
110
  def email
103
111
  'durkster@gmail.com'
104
112
  end
105
- end
113
+ end
@@ -1,2 +1,4 @@
1
- class VeroUser < Struct.new(:api_key, :secret)
2
- end
1
+ # frozen_string_literal: true
2
+
3
+ VeroUser = Struct.new(:api_key, :secret) do
4
+ end
@@ -1,44 +1,28 @@
1
+ # frozen_string_literal: true
1
2
 
2
- # -*- encoding: utf-8 -*-
3
- $:.push('lib')
4
- require "vero/version"
3
+ $LOAD_PATH.push('lib')
4
+ require 'vero/version'
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = "vero"
7
+ s.name = 'vero'
8
8
  s.version = Vero::VERSION.dup
9
- s.date = Time.now.strftime("%Y-%m-%d")
10
- s.summary = "Ruby gem for Vero"
11
- s.email = "support@getvero.com"
12
- s.homepage = "http://www.getvero.com/"
9
+ s.date = Time.now.strftime('%Y-%m-%d')
10
+ s.summary = 'Ruby gem for Vero'
11
+ s.email = 'support@getvero.com'
12
+ s.homepage = 'http://www.getvero.com/'
13
13
  s.authors = ['James Lamont']
14
14
 
15
- dependencies = [
16
- [:development, 'rails', "~> 3.0"],
17
- [:development, 'rspec'],
18
- [:development, 'delayed_job', "~> 3.0.0"],
19
- [:development, 'delayed_job_active_record'],
20
- [:development, 'resque'],
21
- [:development, 'sidekiq', "~> 3.5.1"],
22
- [:runtime, 'json'],
23
- [:runtime, 'rest-client'],
24
- [:runtime, 'sucker_punch', '~> 1.6.0']
25
- ]
15
+ s.add_runtime_dependency 'json'
16
+ s.add_runtime_dependency 'rest-client'
26
17
 
27
18
  s.files = Dir['**/*']
28
19
  s.test_files = Dir['test/**/*'] + Dir['spec/**/*']
29
20
  s.executables = Dir['bin/*'].map { |f| File.basename(f) }
30
- s.require_paths = ["lib"]
21
+ s.require_paths = ['lib']
31
22
 
32
23
  ## Make sure you can build the gem on older versions of RubyGems too:
33
- s.rubygems_version = "1.8.23"
34
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
24
+ s.rubygems_version = '1.8.23'
25
+ s.required_ruby_version = '>= 2.4.0'
26
+ s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
35
27
  s.specification_version = 3 if s.respond_to? :specification_version
36
-
37
- dependencies.each do |type, name, version|
38
- if s.respond_to?("add_#{type}_dependency")
39
- s.send("add_#{type}_dependency", name, version)
40
- else
41
- s.add_dependency(name, version)
42
- end
43
- end
44
28
  end
metadata CHANGED
@@ -1,99 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vero
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Lamont
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-25 00:00:00.000000000 Z
11
+ date: 2020-12-23 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rails
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '3.0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '3.0'
27
- - !ruby/object:Gem::Dependency
28
- name: rspec
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: delayed_job
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 3.0.0
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: 3.0.0
55
- - !ruby/object:Gem::Dependency
56
- name: delayed_job_active_record
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: resque
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: sidekiq
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: 3.5.1
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: 3.5.1
97
13
  - !ruby/object:Gem::Dependency
98
14
  name: json
99
15
  requirement: !ruby/object:Gem::Requirement
@@ -122,21 +38,7 @@ dependencies:
122
38
  - - ">="
123
39
  - !ruby/object:Gem::Version
124
40
  version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: sucker_punch
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: 1.6.0
132
- type: :runtime
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
- - !ruby/object:Gem::Version
138
- version: 1.6.0
139
- description:
41
+ description:
140
42
  email: support@getvero.com
141
43
  executables: []
142
44
  extensions: []
@@ -151,6 +53,7 @@ files:
151
53
  - lib/vero/api.rb
152
54
  - lib/vero/api/base_api.rb
153
55
  - lib/vero/api/events/track_api.rb
56
+ - lib/vero/api/users/delete_api.rb
154
57
  - lib/vero/api/users/edit_api.rb
155
58
  - lib/vero/api/users/edit_tags_api.rb
156
59
  - lib/vero/api/users/reidentify_api.rb
@@ -169,7 +72,7 @@ files:
169
72
  - lib/vero/senders/invalid.rb
170
73
  - lib/vero/senders/resque.rb
171
74
  - lib/vero/senders/sidekiq.rb
172
- - lib/vero/senders/thread.rb
75
+ - lib/vero/senders/sucker_punch.rb
173
76
  - lib/vero/trackable.rb
174
77
  - lib/vero/trackable/base.rb
175
78
  - lib/vero/trackable/interface.rb
@@ -179,6 +82,7 @@ files:
179
82
  - lib/vero/view_helpers/javascript.rb
180
83
  - spec/lib/api/base_api_spec.rb
181
84
  - spec/lib/api/events/track_api_spec.rb
85
+ - spec/lib/api/users/delete_api_spec.rb
182
86
  - spec/lib/api/users/edit_api_spec.rb
183
87
  - spec/lib/api/users/edit_tags_api_spec.rb
184
88
  - spec/lib/api/users/reidentify_spec.rb
@@ -202,7 +106,7 @@ files:
202
106
  homepage: http://www.getvero.com/
203
107
  licenses: []
204
108
  metadata: {}
205
- post_install_message:
109
+ post_install_message:
206
110
  rdoc_options: []
207
111
  require_paths:
208
112
  - lib
@@ -210,37 +114,38 @@ required_ruby_version: !ruby/object:Gem::Requirement
210
114
  requirements:
211
115
  - - ">="
212
116
  - !ruby/object:Gem::Version
213
- version: '0'
117
+ version: 2.4.0
214
118
  required_rubygems_version: !ruby/object:Gem::Requirement
215
119
  requirements:
216
120
  - - ">="
217
121
  - !ruby/object:Gem::Version
218
122
  version: '0'
219
123
  requirements: []
220
- rubyforge_project:
221
- rubygems_version: 2.4.5
222
- signing_key:
124
+ rubyforge_project:
125
+ rubygems_version: 2.6.14.4
126
+ signing_key:
223
127
  specification_version: 3
224
128
  summary: Ruby gem for Vero
225
129
  test_files:
226
- - spec/lib/api/base_api_spec.rb
227
- - spec/lib/api/events/track_api_spec.rb
228
- - spec/lib/api/users/edit_api_spec.rb
229
- - spec/lib/api/users/edit_tags_api_spec.rb
230
- - spec/lib/api/users/reidentify_spec.rb
231
- - spec/lib/api/users/resubscribe_api_spec.rb
232
- - spec/lib/api/users/track_api_spec.rb
233
- - spec/lib/api/users/unsubscribe_api_spec.rb
234
- - spec/lib/api_spec.rb
235
- - spec/lib/app_spec.rb
130
+ - spec/spec_helper.rb
131
+ - spec/support/vero_user_support.rb
132
+ - spec/support/user_support.rb
133
+ - spec/support/base_config_shared_examples.rb
134
+ - spec/lib/sender_spec.rb
236
135
  - spec/lib/config_spec.rb
136
+ - spec/lib/api_spec.rb
137
+ - spec/lib/trackable_spec.rb
237
138
  - spec/lib/context_spec.rb
238
- - spec/lib/dsl_spec.rb
239
- - spec/lib/sender_spec.rb
240
139
  - spec/lib/senders/sidekiq_spec.rb
241
- - spec/lib/trackable_spec.rb
140
+ - spec/lib/dsl_spec.rb
242
141
  - spec/lib/view_helpers_spec.rb
243
- - spec/spec_helper.rb
244
- - spec/support/base_config_shared_examples.rb
245
- - spec/support/user_support.rb
246
- - spec/support/vero_user_support.rb
142
+ - spec/lib/api/base_api_spec.rb
143
+ - spec/lib/api/users/reidentify_spec.rb
144
+ - spec/lib/api/users/edit_tags_api_spec.rb
145
+ - spec/lib/api/users/delete_api_spec.rb
146
+ - spec/lib/api/users/unsubscribe_api_spec.rb
147
+ - spec/lib/api/users/track_api_spec.rb
148
+ - spec/lib/api/users/resubscribe_api_spec.rb
149
+ - spec/lib/api/users/edit_api_spec.rb
150
+ - spec/lib/api/events/track_api_spec.rb
151
+ - spec/lib/app_spec.rb