vero 0.5.1 → 0.5.2

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