vero 0.9.1 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
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