vero 0.5.1 → 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.
@@ -63,6 +63,8 @@ GEM
63
63
  rack (1.4.3)
64
64
  rack-cache (1.2)
65
65
  rack (>= 0.4)
66
+ rack-protection (1.3.2)
67
+ rack
66
68
  rack-ssl (1.3.2)
67
69
  rack
68
70
  rack-test (0.6.2)
@@ -85,6 +87,14 @@ GEM
85
87
  rake (10.0.3)
86
88
  rdoc (3.12)
87
89
  json (~> 1.4)
90
+ redis (3.0.2)
91
+ redis-namespace (1.2.1)
92
+ redis (~> 3.0.0)
93
+ resque (1.23.0)
94
+ multi_json (~> 1.0)
95
+ redis-namespace (~> 1.0)
96
+ sinatra (>= 0.9.2)
97
+ vegas (~> 0.1.2)
88
98
  rest-client (1.6.7)
89
99
  mime-types (>= 1.16)
90
100
  rspec (2.11.0)
@@ -98,6 +108,10 @@ GEM
98
108
  rubinius-actor (0.0.2)
99
109
  rubinius-core-api
100
110
  rubinius-core-api (0.0.1)
111
+ sinatra (1.3.4)
112
+ rack (~> 1.4)
113
+ rack-protection (~> 1.3)
114
+ tilt (~> 1.3, >= 1.3.3)
101
115
  sprockets (2.1.3)
102
116
  hike (~> 1.2)
103
117
  rack (~> 1.0)
@@ -108,6 +122,8 @@ GEM
108
122
  polyglot
109
123
  polyglot (>= 0.3.1)
110
124
  tzinfo (0.3.33)
125
+ vegas (0.1.11)
126
+ rack (>= 1.0.0)
111
127
 
112
128
  PLATFORMS
113
129
  ruby
@@ -116,5 +132,6 @@ DEPENDENCIES
116
132
  delayed_job
117
133
  delayed_job_active_record
118
134
  rails
135
+ resque
119
136
  rspec
120
137
  vero!
@@ -29,8 +29,9 @@ By default, events are sent asynchronously using a background thread. We do howe
29
29
  config.async = :none # Synchronously
30
30
  config.async = :thread # Background thread (default)
31
31
  config.async = :delayed_job # DelayedJob
32
+ config.async = :resque # Resque
32
33
 
33
- **Note:** Background threads are not supported by Ruby 1.8.7 or earlier. You must explicitly set `config.async` to either `:none` or `:delayed_job`.
34
+ **Note:** Background threads are not supported by Ruby 1.8.7 or earlier. You must explicitly set `config.async` to either `:none`, `:delayed_job` or `:resque`.
34
35
 
35
36
  **Note:** If you're using DelayedJob and Mongoid, you must add `gem "delayed_job_mongoid"` to your Gemfile.
36
37
 
@@ -34,10 +34,12 @@ module Vero
34
34
  module Senders
35
35
  autoload :Base, 'vero/senders/base'
36
36
  autoload :DelayedJob, 'vero/senders/delayed_job'
37
+ autoload :Resque, 'vero/senders/resque'
37
38
  autoload :Invalid, 'vero/senders/invalid'
38
39
  autoload :Thread, 'vero/senders/thread'
39
40
  end
40
41
  autoload :Sender, 'vero/sender'
42
+ autoload :ResqueWorker, 'vero/senders/resque'
41
43
  end
42
44
 
43
45
  require 'vero/railtie' if defined?(Rails)
@@ -35,7 +35,11 @@ module Vero
35
35
  end
36
36
 
37
37
  def self.send(api_class, sender_strategy, domain, options)
38
- sender_class = self.senders.fetch(sender_strategy) { self.senders[false] }
38
+ sender_class = if self.senders[sender_strategy]
39
+ self.senders[sender_strategy]
40
+ else
41
+ self.senders[false]
42
+ end
39
43
  (sender_class.new).call(api_class, domain, options)
40
44
  rescue => e
41
45
  options_s = JSON.dump(options)
@@ -0,0 +1,27 @@
1
+ require 'json'
2
+ require 'resque'
3
+
4
+ module Vero
5
+ class ResqueWorker
6
+ @queue = :vero
7
+
8
+ def self.perform(api_class_name, domain, options)
9
+ api_class = eval(api_class_name)
10
+ new_options = {}
11
+ options.each do |k,v|
12
+ new_options[k.to_sym] = v
13
+ end
14
+
15
+ api_class.new(domain, new_options).perform
16
+ Vero::App.log(self, "method: #{api_class.name}, options: #{options.to_json}, response: resque job queued")
17
+ end
18
+ end
19
+
20
+ module Senders
21
+ class Resque
22
+ def call(api_class, domain, options)
23
+ ::Resque.enqueue(ResqueWorker, api_class.to_s, domain, options)
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,3 +1,3 @@
1
1
  module Vero
2
- VERSION = '0.5.1'
2
+ VERSION = '0.5.2'
3
3
  end
@@ -35,6 +35,7 @@ describe Vero::Sender do
35
35
 
36
36
  it "should automatically find senders that are not defined" do
37
37
  subject.senders[:delayed_job].should == Vero::Senders::DelayedJob
38
+ subject.senders[:resque].should == Vero::Senders::Resque
38
39
  subject.senders[:invalid].should == Vero::Senders::Invalid
39
40
  subject.senders[:none].should == Vero::Senders::Base
40
41
  end
@@ -17,6 +17,7 @@ Gem::Specification.new do |s|
17
17
  [:development, 'rspec'],
18
18
  [:development, 'delayed_job'],
19
19
  [:development, 'delayed_job_active_record'],
20
+ [:development, 'resque'],
20
21
  [:runtime, 'json'],
21
22
  [:runtime, 'rest-client'],
22
23
  [:runtime, 'girl_friday']
metadata CHANGED
@@ -1,130 +1,150 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: vero
3
- version: !ruby/object:Gem::Version
4
- hash: 9
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.2
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 5
9
- - 1
10
- version: 0.5.1
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - James Lamont
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2013-02-12 00:00:00 +11:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2013-02-14 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: rails
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
- version: "0"
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
33
22
  type: :development
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: rspec
37
23
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- hash: 3
44
- segments:
45
- - 0
46
- version: "0"
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rspec
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
47
38
  type: :development
48
- version_requirements: *id002
49
- - !ruby/object:Gem::Dependency
50
- name: delayed_job
51
39
  prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
53
- none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- hash: 3
58
- segments:
59
- - 0
60
- version: "0"
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: delayed_job
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
61
54
  type: :development
62
- version_requirements: *id003
63
- - !ruby/object:Gem::Dependency
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
64
63
  name: delayed_job_active_record
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
65
71
  prerelease: false
66
- requirement: &id004 !ruby/object:Gem::Requirement
67
- none: false
68
- requirements:
69
- - - ">="
70
- - !ruby/object:Gem::Version
71
- hash: 3
72
- segments:
73
- - 0
74
- version: "0"
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: resque
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
75
86
  type: :development
76
- version_requirements: *id004
77
- - !ruby/object:Gem::Dependency
78
- name: json
79
87
  prerelease: false
80
- requirement: &id005 !ruby/object:Gem::Requirement
81
- none: false
82
- requirements:
83
- - - ">="
84
- - !ruby/object:Gem::Version
85
- hash: 3
86
- segments:
87
- - 0
88
- version: "0"
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: json
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
89
102
  type: :runtime
90
- version_requirements: *id005
91
- - !ruby/object:Gem::Dependency
92
- name: rest-client
93
103
  prerelease: false
94
- requirement: &id006 !ruby/object:Gem::Requirement
95
- none: false
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- hash: 3
100
- segments:
101
- - 0
102
- version: "0"
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: rest-client
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
103
118
  type: :runtime
104
- version_requirements: *id006
105
- - !ruby/object:Gem::Dependency
106
- name: girl_friday
107
119
  prerelease: false
108
- requirement: &id007 !ruby/object:Gem::Requirement
109
- none: false
110
- requirements:
111
- - - ">="
112
- - !ruby/object:Gem::Version
113
- hash: 3
114
- segments:
115
- - 0
116
- version: "0"
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: girl_friday
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
117
134
  type: :runtime
118
- version_requirements: *id007
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
119
142
  description:
120
143
  email: support@getvero.com
121
144
  executables: []
122
-
123
145
  extensions: []
124
-
125
146
  extra_rdoc_files: []
126
-
127
- files:
147
+ files:
128
148
  - Gemfile
129
149
  - Gemfile.lock
130
150
  - lib/generators/vero_generator.rb
@@ -143,6 +163,7 @@ files:
143
163
  - lib/vero/senders/base.rb
144
164
  - lib/vero/senders/delayed_job.rb
145
165
  - lib/vero/senders/invalid.rb
166
+ - lib/vero/senders/resque.rb
146
167
  - lib/vero/senders/thread.rb
147
168
  - lib/vero/trackable/base.rb
148
169
  - lib/vero/trackable/interface.rb
@@ -169,41 +190,31 @@ files:
169
190
  - spec/support/user_support.rb
170
191
  - spec/support/vero_user_support.rb
171
192
  - vero.gemspec
172
- has_rdoc: true
173
193
  homepage: http://www.getvero.com/
174
194
  licenses: []
175
-
176
195
  post_install_message:
177
196
  rdoc_options: []
178
-
179
- require_paths:
197
+ require_paths:
180
198
  - lib
181
- required_ruby_version: !ruby/object:Gem::Requirement
199
+ required_ruby_version: !ruby/object:Gem::Requirement
182
200
  none: false
183
- requirements:
184
- - - ">="
185
- - !ruby/object:Gem::Version
186
- hash: 3
187
- segments:
188
- - 0
189
- version: "0"
190
- required_rubygems_version: !ruby/object:Gem::Requirement
201
+ requirements:
202
+ - - ! '>='
203
+ - !ruby/object:Gem::Version
204
+ version: '0'
205
+ required_rubygems_version: !ruby/object:Gem::Requirement
191
206
  none: false
192
- requirements:
193
- - - ">="
194
- - !ruby/object:Gem::Version
195
- hash: 3
196
- segments:
197
- - 0
198
- version: "0"
207
+ requirements:
208
+ - - ! '>='
209
+ - !ruby/object:Gem::Version
210
+ version: '0'
199
211
  requirements: []
200
-
201
212
  rubyforge_project:
202
- rubygems_version: 1.6.2
213
+ rubygems_version: 1.8.23
203
214
  signing_key:
204
215
  specification_version: 3
205
216
  summary: Ruby gem for Vero
206
- test_files:
217
+ test_files:
207
218
  - spec/lib/api/events/track_api_spec.rb
208
219
  - spec/lib/api/users/edit_api_spec.rb
209
220
  - spec/lib/api/users/edit_tags_api_spec.rb