rackamole 0.4.0 → 0.4.1
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.
- data/Gemfile +7 -0
- data/Gemfile.lock +11 -0
- data/README.rdoc +5 -13
- data/Rakefile +1 -1
- data/lib/rackamole/mole.rb +2 -1
- data/lib/rackamole/utils/agent_detect.rb +4 -4
- data/spec/rackamole/utils/agent_detect_spec.rb +21 -14
- data/spec/spec_helper.rb +0 -1
- data/version.txt +1 -1
- metadata +8 -59
data/Gemfile
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
source :rubygems
|
2
2
|
|
3
|
+
gem 'rake'
|
3
4
|
gem "logging"
|
4
5
|
gem "hitimes"
|
5
6
|
gem "mongo" , ">= 1.0.1"
|
@@ -15,4 +16,10 @@ group :development do
|
|
15
16
|
gem "bones"
|
16
17
|
gem "bones-git"
|
17
18
|
gem "bones-extras"
|
19
|
+
end
|
20
|
+
|
21
|
+
group :test do
|
22
|
+
# gem "simplecov"
|
23
|
+
# gem "rcov"
|
24
|
+
gem "rspec"
|
18
25
|
end
|
data/Gemfile.lock
CHANGED
@@ -17,6 +17,7 @@ GEM
|
|
17
17
|
chronic (0.2.3)
|
18
18
|
hoe (>= 1.2.1)
|
19
19
|
configuration (0.0.5)
|
20
|
+
diff-lcs (1.1.2)
|
20
21
|
erubis (2.6.6)
|
21
22
|
abstract (>= 1.0.0)
|
22
23
|
git (1.2.5)
|
@@ -41,6 +42,14 @@ GEM
|
|
41
42
|
bson (>= 1.0.4)
|
42
43
|
polyglot (0.3.1)
|
43
44
|
rake (0.8.7)
|
45
|
+
rspec (2.6.0)
|
46
|
+
rspec-core (~> 2.6.0)
|
47
|
+
rspec-expectations (~> 2.6.0)
|
48
|
+
rspec-mocks (~> 2.6.0)
|
49
|
+
rspec-core (2.6.4)
|
50
|
+
rspec-expectations (2.6.0)
|
51
|
+
diff-lcs (~> 1.1.2)
|
52
|
+
rspec-mocks (2.6.0)
|
44
53
|
ruby-growl (2.0)
|
45
54
|
rubyforge (2.0.4)
|
46
55
|
json_pure (>= 1.1.7)
|
@@ -64,5 +73,7 @@ DEPENDENCIES
|
|
64
73
|
logging
|
65
74
|
mail
|
66
75
|
mongo (>= 1.0.1)
|
76
|
+
rake
|
77
|
+
rspec
|
67
78
|
ruby-growl
|
68
79
|
twitter4r (>= 0.3.0)
|
data/README.rdoc
CHANGED
@@ -52,23 +52,15 @@
|
|
52
52
|
|
53
53
|
=== Rails applications
|
54
54
|
|
55
|
-
Edit your
|
55
|
+
Edit your environments ruby files and add the following lines:
|
56
56
|
|
57
|
-
require 'rackamole'
|
58
57
|
config.middleware.use Rack::Mole, { :app_name => "My Cool App", :user_key => :user_name }
|
59
58
|
|
60
59
|
This instructs the mole to start logging information to the console and look for the user name
|
61
|
-
in the session using the :user_name key.
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
include the mole interceptor to trap exceptions in production environment
|
66
|
-
|
67
|
-
class ApplicationController
|
68
|
-
include Rackamole::Interceptor
|
69
|
-
|
70
|
-
This will instruct the mole to trap the raised exception from your rails stack.
|
71
|
-
|
60
|
+
in the session using the :user_name key. In order to associate an action with a logged in user you
|
61
|
+
must set a session env variable, in this case we use user_name. There are other options available,
|
62
|
+
please take a look at the docs for more information.
|
63
|
+
|
72
64
|
=== Sinatra Applications
|
73
65
|
|
74
66
|
Add the following lines in the config section and smoke it...
|
data/Rakefile
CHANGED
data/lib/rackamole/mole.rb
CHANGED
@@ -419,7 +419,8 @@ module Rack
|
|
419
419
|
return nil unless defined?( RAILS_ENV )
|
420
420
|
# Check for invalid route exception...
|
421
421
|
begin
|
422
|
-
return
|
422
|
+
return Rails.application.routes.recognize_path( request.path, {:method => request.request_method.downcase.to_sym } )
|
423
|
+
# return ::ActionController::Routing::Routes.recognize_path( request.path, {:method => request.request_method.downcase.to_sym } )
|
423
424
|
rescue => boom
|
424
425
|
return nil
|
425
426
|
end
|
@@ -60,12 +60,12 @@ module Rackamole::Utils
|
|
60
60
|
machine_info = match[1]
|
61
61
|
tokens = machine_info.split( ";" )
|
62
62
|
unless tokens.empty?
|
63
|
-
|
64
|
-
platform = tokens[0].strip
|
63
|
+
platform = tokens.shift.strip
|
65
64
|
@info[:machine][:platform] = platform
|
66
65
|
|
67
|
-
|
68
|
-
|
66
|
+
os_info = tokens.shift
|
67
|
+
os_info = tokens.shift if os_info && os_info.match( /[MSIE|U]/ )
|
68
|
+
os = os_info.match( /(.+)\s([\w\d|\.]+)/ ) if os_info
|
69
69
|
if os
|
70
70
|
@info[:machine][:os] = os[1].strip if os[1]
|
71
71
|
@info[:machine][:version] = os[2].strip if os[2]
|
@@ -5,22 +5,29 @@ describe Rackamole::Utils::AgentDetect do
|
|
5
5
|
describe "os" do
|
6
6
|
it "should detect the os and version correctly" do
|
7
7
|
agents = [
|
8
|
-
"Opera/8.65 (X11; Linux i686; U; ru)",
|
9
|
-
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) Opera 8.65 [en]",
|
10
|
-
"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/1.5.0.12 (.NET CLR 3.5.30729)",
|
11
|
-
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.0.6) Gecko/2009011912 Firefox/1.5.0.12 Ubiquity/0.1.5",
|
12
|
-
"Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.0.12) Gecko/20080326 CentOS/1.5.0.12-14.el5.centos Firefox/1.5.0.12",
|
13
|
-
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.24 Safari/532.0",
|
14
|
-
"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.24 Safari/532.0",
|
15
|
-
"Mozilla/5.0 (iPod; U; CPU like Mac OS X; fr) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A102 Safari/522.12",
|
16
|
-
"Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/522.12",
|
17
|
-
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)",
|
18
|
-
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; CPT-IE401SP1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)",
|
19
|
-
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 1.1.4322; InfoPath.2)",
|
20
|
-
"Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)",
|
21
|
-
"Opera/9.80 (Windows NT 6.1; U; es-ES) Presto/2.6.30 Version/10.61"
|
8
|
+
# "Opera/8.65 (X11; Linux i686; U; ru)",
|
9
|
+
# "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) Opera 8.65 [en]",
|
10
|
+
# "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/1.5.0.12 (.NET CLR 3.5.30729)",
|
11
|
+
# "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.0.6) Gecko/2009011912 Firefox/1.5.0.12 Ubiquity/0.1.5",
|
12
|
+
# "Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.0.12) Gecko/20080326 CentOS/1.5.0.12-14.el5.centos Firefox/1.5.0.12",
|
13
|
+
# "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.24 Safari/532.0",
|
14
|
+
# "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.24 Safari/532.0",
|
15
|
+
# "Mozilla/5.0 (iPod; U; CPU like Mac OS X; fr) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A102 Safari/522.12",
|
16
|
+
# "Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/522.12",
|
17
|
+
# "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)",
|
18
|
+
# "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; CPT-IE401SP1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)",
|
19
|
+
# "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 1.1.4322; InfoPath.2)",
|
20
|
+
# "Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)",
|
21
|
+
# "Opera/9.80 (Windows NT 6.1; U; es-ES) Presto/2.6.30 Version/10.61",
|
22
|
+
"Safari/6533.17.8 CFNetwork/454.9.7 Darwin/10.4.0 (i386) (iMac10%2C1)",
|
23
|
+
# "Mozilla/5.0 (SnapPreviewBot) Gecko/20061206 Firefox/1.5.0.9",
|
24
|
+
# "StackRambler/2.0 (MSIE incompatible)"
|
22
25
|
]
|
23
26
|
expectations = [
|
27
|
+
{
|
28
|
+
:browser => { :name => "Safari", :version => "6533.17.8" },
|
29
|
+
:machine => { :platform => "i386", :os => "Darwin", :version => "10.4.0", :local => "N/A" }
|
30
|
+
},
|
24
31
|
{
|
25
32
|
:browser => { :name => "Opera", :version => "8.65" },
|
26
33
|
:machine => { :platform => "X11", :os => "Linux", :version => "i686", :local => "N/A" }
|
data/spec/spec_helper.rb
CHANGED
data/version.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.1
|
metadata
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rackamole
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 4
|
8
|
-
- 0
|
9
|
-
version: 0.4.0
|
4
|
+
prerelease:
|
5
|
+
version: 0.4.1
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- Fernand Galiana
|
@@ -14,7 +10,7 @@ autorequire:
|
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
12
|
|
17
|
-
date:
|
13
|
+
date: 2011-07-11 00:00:00 -06:00
|
18
14
|
default_executable:
|
19
15
|
dependencies:
|
20
16
|
- !ruby/object:Gem::Dependency
|
@@ -25,10 +21,6 @@ dependencies:
|
|
25
21
|
requirements:
|
26
22
|
- - ">="
|
27
23
|
- !ruby/object:Gem::Version
|
28
|
-
segments:
|
29
|
-
- 1
|
30
|
-
- 2
|
31
|
-
- 2
|
32
24
|
version: 1.2.2
|
33
25
|
type: :runtime
|
34
26
|
version_requirements: *id001
|
@@ -40,10 +32,6 @@ dependencies:
|
|
40
32
|
requirements:
|
41
33
|
- - ">="
|
42
34
|
- !ruby/object:Gem::Version
|
43
|
-
segments:
|
44
|
-
- 1
|
45
|
-
- 0
|
46
|
-
- 3
|
47
35
|
version: 1.0.3
|
48
36
|
type: :runtime
|
49
37
|
version_requirements: *id002
|
@@ -55,10 +43,6 @@ dependencies:
|
|
55
43
|
requirements:
|
56
44
|
- - ">="
|
57
45
|
- !ruby/object:Gem::Version
|
58
|
-
segments:
|
59
|
-
- 1
|
60
|
-
- 0
|
61
|
-
- 1
|
62
46
|
version: 1.0.1
|
63
47
|
type: :runtime
|
64
48
|
version_requirements: *id003
|
@@ -70,10 +54,6 @@ dependencies:
|
|
70
54
|
requirements:
|
71
55
|
- - ">="
|
72
56
|
- !ruby/object:Gem::Version
|
73
|
-
segments:
|
74
|
-
- 1
|
75
|
-
- 0
|
76
|
-
- 1
|
77
57
|
version: 1.0.1
|
78
58
|
type: :runtime
|
79
59
|
version_requirements: *id004
|
@@ -85,10 +65,6 @@ dependencies:
|
|
85
65
|
requirements:
|
86
66
|
- - ">="
|
87
67
|
- !ruby/object:Gem::Version
|
88
|
-
segments:
|
89
|
-
- 1
|
90
|
-
- 0
|
91
|
-
- 1
|
92
68
|
version: 1.0.1
|
93
69
|
type: :runtime
|
94
70
|
version_requirements: *id005
|
@@ -100,10 +76,6 @@ dependencies:
|
|
100
76
|
requirements:
|
101
77
|
- - ">="
|
102
78
|
- !ruby/object:Gem::Version
|
103
|
-
segments:
|
104
|
-
- 0
|
105
|
-
- 2
|
106
|
-
- 3
|
107
79
|
version: 0.2.3
|
108
80
|
type: :runtime
|
109
81
|
version_requirements: *id006
|
@@ -115,10 +87,6 @@ dependencies:
|
|
115
87
|
requirements:
|
116
88
|
- - ">="
|
117
89
|
- !ruby/object:Gem::Version
|
118
|
-
segments:
|
119
|
-
- 0
|
120
|
-
- 3
|
121
|
-
- 0
|
122
90
|
version: 0.3.0
|
123
91
|
type: :runtime
|
124
92
|
version_requirements: *id007
|
@@ -130,10 +98,6 @@ dependencies:
|
|
130
98
|
requirements:
|
131
99
|
- - ">="
|
132
100
|
- !ruby/object:Gem::Version
|
133
|
-
segments:
|
134
|
-
- 2
|
135
|
-
- 6
|
136
|
-
- 0
|
137
101
|
version: 2.6.0
|
138
102
|
type: :runtime
|
139
103
|
version_requirements: *id008
|
@@ -145,10 +109,6 @@ dependencies:
|
|
145
109
|
requirements:
|
146
110
|
- - ">="
|
147
111
|
- !ruby/object:Gem::Version
|
148
|
-
segments:
|
149
|
-
- 2
|
150
|
-
- 1
|
151
|
-
- 3
|
152
112
|
version: 2.1.3
|
153
113
|
type: :runtime
|
154
114
|
version_requirements: *id009
|
@@ -160,9 +120,6 @@ dependencies:
|
|
160
120
|
requirements:
|
161
121
|
- - ">="
|
162
122
|
- !ruby/object:Gem::Version
|
163
|
-
segments:
|
164
|
-
- 2
|
165
|
-
- 0
|
166
123
|
version: "2.0"
|
167
124
|
type: :runtime
|
168
125
|
version_requirements: *id010
|
@@ -174,14 +131,11 @@ dependencies:
|
|
174
131
|
requirements:
|
175
132
|
- - ">="
|
176
133
|
- !ruby/object:Gem::Version
|
177
|
-
|
178
|
-
- 3
|
179
|
-
- 4
|
180
|
-
- 7
|
181
|
-
version: 3.4.7
|
134
|
+
version: 3.7.0
|
182
135
|
type: :development
|
183
136
|
version_requirements: *id011
|
184
|
-
description: "
|
137
|
+
description: " Observe your web applications in the wild!\n \n\
|
138
|
+
== DESCRIPTION"
|
185
139
|
email: fernand.galiana@gmail.com
|
186
140
|
executables: []
|
187
141
|
|
@@ -192,7 +146,6 @@ extra_rdoc_files:
|
|
192
146
|
- README.rdoc
|
193
147
|
- lib/rackamole/alert/templates/alert.erb
|
194
148
|
- samples/rails/moled/public/robots.txt
|
195
|
-
- version.txt
|
196
149
|
files:
|
197
150
|
- ...
|
198
151
|
- Gemfile
|
@@ -331,23 +284,19 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
331
284
|
requirements:
|
332
285
|
- - ">="
|
333
286
|
- !ruby/object:Gem::Version
|
334
|
-
segments:
|
335
|
-
- 0
|
336
287
|
version: "0"
|
337
288
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
338
289
|
none: false
|
339
290
|
requirements:
|
340
291
|
- - ">="
|
341
292
|
- !ruby/object:Gem::Version
|
342
|
-
segments:
|
343
|
-
- 0
|
344
293
|
version: "0"
|
345
294
|
requirements: []
|
346
295
|
|
347
296
|
rubyforge_project: rackamole
|
348
|
-
rubygems_version: 1.
|
297
|
+
rubygems_version: 1.6.2
|
349
298
|
signing_key:
|
350
299
|
specification_version: 3
|
351
|
-
summary:
|
300
|
+
summary: Observe your web applications in the wild! == DESCRIPTION
|
352
301
|
test_files: []
|
353
302
|
|