rackamole 0.3.8 → 0.3.9
Sign up to get free protection for your applications and to get access to all the features.
- data/HISTORY +3 -1
- data/lib/rackamole.rb +1 -1
- data/lib/rackamole/mole.rb +14 -7
- data/spec/rackamole/mole_spec.rb +10 -1
- data/tasks/spec.rake +0 -3
- metadata +16 -18
data/HISTORY
CHANGED
@@ -72,4 +72,6 @@
|
|
72
72
|
0.3.7 Updates to use the latest mongo ruby gem
|
73
73
|
NOTE: Some api changed in this version of the mongo ruby driver and hosed OrderedHash refs.
|
74
74
|
|
75
|
-
0.3.8 Updates for ruby 1.9 compatibility
|
75
|
+
0.3.8 Updates for ruby 1.9 compatibility
|
76
|
+
|
77
|
+
0.3.9 Merged Tatsuya - nested filter parameters
|
data/lib/rackamole.rb
CHANGED
data/lib/rackamole/mole.rb
CHANGED
@@ -384,12 +384,19 @@ module Rack
|
|
384
384
|
end
|
385
385
|
|
386
386
|
# filters out params hash and convert values to json
|
387
|
-
def filter_params( source, excludes )
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
387
|
+
def filter_params( source, excludes, nest=false )
|
388
|
+
results = nest ? {} : BSON::OrderedHash.new
|
389
|
+
source.keys.sort{ |a,b| a.to_s <=> b.to_s }.each do |k|
|
390
|
+
unless excludes.include? k.to_sym
|
391
|
+
results[k.to_sym] = if source[k].is_a?(Hash)
|
392
|
+
filter_params( source[k], excludes, true)
|
393
|
+
else
|
394
|
+
source[k]
|
395
|
+
end
|
396
|
+
results[k.to_sym] = results[k.to_sym].to_json unless nest
|
397
|
+
end
|
398
|
+
end
|
399
|
+
results
|
393
400
|
end
|
394
401
|
|
395
402
|
# Trim stack trace
|
@@ -433,4 +440,4 @@ module Rack
|
|
433
440
|
# end
|
434
441
|
# end
|
435
442
|
end
|
436
|
-
end
|
443
|
+
end
|
data/spec/rackamole/mole_spec.rb
CHANGED
@@ -557,7 +557,16 @@ describe Rack::Mole do
|
|
557
557
|
session.keys.size.should == 2
|
558
558
|
session.has_key?( :bobo ).should == false
|
559
559
|
end
|
560
|
-
|
560
|
+
|
561
|
+
it "should check deeply" do
|
562
|
+
@opts[:param_excludes] = [:password]
|
563
|
+
app( @opts )
|
564
|
+
get "/", { :blee => 'duh', :member => {:password => 'secret', :name => 'Kamui'} }, @test_env
|
565
|
+
|
566
|
+
params = @test_store.mole_result[:params]
|
567
|
+
params.keys.size.should == 2
|
568
|
+
params[:member].should == {:name=>'Kamui'}.to_json
|
569
|
+
end
|
561
570
|
end
|
562
571
|
|
563
572
|
# ---------------------------------------------------------------------------
|
data/tasks/spec.rake
CHANGED
@@ -3,10 +3,8 @@ if HAVE_SPEC_RAKE_SPECTASK and not PROJ.spec.files.to_a.empty?
|
|
3
3
|
require 'spec/rake/verify_rcov'
|
4
4
|
|
5
5
|
if defined?(Rcov)
|
6
|
-
puts "!!!!!! HERE !!!!!!!!!"
|
7
6
|
class Rcov::CodeCoverageAnalyzer
|
8
7
|
def update_script_lines__
|
9
|
-
puts "AAA"
|
10
8
|
if '1.9'.respond_to?(:force_encoding)
|
11
9
|
SCRIPT_LINES__.each do |k,v|
|
12
10
|
v.each { |src| src.force_encoding('utf-8') }
|
@@ -45,7 +43,6 @@ namespace :spec do
|
|
45
43
|
t.rcov = true
|
46
44
|
t.rcov_dir = PROJ.rcov.dir
|
47
45
|
t.rcov_opts = PROJ.rcov.opts + ['--exclude', 'gems\/,spec\/', '--rails']
|
48
|
-
puts t.inspect
|
49
46
|
end
|
50
47
|
|
51
48
|
RCov::VerifyTask.new(:verify) do |t|
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 3
|
8
|
-
-
|
9
|
-
version: 0.3.
|
8
|
+
- 9
|
9
|
+
version: 0.3.9
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Fernand Galiana
|
@@ -14,13 +14,14 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-07-16 00:00:00 -06:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: logging
|
22
22
|
prerelease: false
|
23
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
24
25
|
requirements:
|
25
26
|
- - ">="
|
26
27
|
- !ruby/object:Gem::Version
|
@@ -35,6 +36,7 @@ dependencies:
|
|
35
36
|
name: hitimes
|
36
37
|
prerelease: false
|
37
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
38
40
|
requirements:
|
39
41
|
- - ">="
|
40
42
|
- !ruby/object:Gem::Version
|
@@ -49,6 +51,7 @@ dependencies:
|
|
49
51
|
name: mongo
|
50
52
|
prerelease: false
|
51
53
|
requirement: &id003 !ruby/object:Gem::Requirement
|
54
|
+
none: false
|
52
55
|
requirements:
|
53
56
|
- - ">="
|
54
57
|
- !ruby/object:Gem::Version
|
@@ -63,6 +66,7 @@ dependencies:
|
|
63
66
|
name: bson
|
64
67
|
prerelease: false
|
65
68
|
requirement: &id004 !ruby/object:Gem::Requirement
|
69
|
+
none: false
|
66
70
|
requirements:
|
67
71
|
- - ">="
|
68
72
|
- !ruby/object:Gem::Version
|
@@ -77,6 +81,7 @@ dependencies:
|
|
77
81
|
name: bson_ext
|
78
82
|
prerelease: false
|
79
83
|
requirement: &id005 !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
80
85
|
requirements:
|
81
86
|
- - ">="
|
82
87
|
- !ruby/object:Gem::Version
|
@@ -91,6 +96,7 @@ dependencies:
|
|
91
96
|
name: chronic
|
92
97
|
prerelease: false
|
93
98
|
requirement: &id006 !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
94
100
|
requirements:
|
95
101
|
- - ">="
|
96
102
|
- !ruby/object:Gem::Version
|
@@ -105,6 +111,7 @@ dependencies:
|
|
105
111
|
name: twitter4r
|
106
112
|
prerelease: false
|
107
113
|
requirement: &id007 !ruby/object:Gem::Requirement
|
114
|
+
none: false
|
108
115
|
requirements:
|
109
116
|
- - ">="
|
110
117
|
- !ruby/object:Gem::Version
|
@@ -119,6 +126,7 @@ dependencies:
|
|
119
126
|
name: erubis
|
120
127
|
prerelease: false
|
121
128
|
requirement: &id008 !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
122
130
|
requirements:
|
123
131
|
- - ">="
|
124
132
|
- !ruby/object:Gem::Version
|
@@ -133,6 +141,7 @@ dependencies:
|
|
133
141
|
name: mail
|
134
142
|
prerelease: false
|
135
143
|
requirement: &id009 !ruby/object:Gem::Requirement
|
144
|
+
none: false
|
136
145
|
requirements:
|
137
146
|
- - ">="
|
138
147
|
- !ruby/object:Gem::Version
|
@@ -147,6 +156,7 @@ dependencies:
|
|
147
156
|
name: ruby-growl
|
148
157
|
prerelease: false
|
149
158
|
requirement: &id010 !ruby/object:Gem::Requirement
|
159
|
+
none: false
|
150
160
|
requirements:
|
151
161
|
- - ">="
|
152
162
|
- !ruby/object:Gem::Version
|
@@ -156,20 +166,6 @@ dependencies:
|
|
156
166
|
version: "2.0"
|
157
167
|
type: :runtime
|
158
168
|
version_requirements: *id010
|
159
|
-
- !ruby/object:Gem::Dependency
|
160
|
-
name: bones
|
161
|
-
prerelease: false
|
162
|
-
requirement: &id011 !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - ">="
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
segments:
|
167
|
-
- 2
|
168
|
-
- 5
|
169
|
-
- 1
|
170
|
-
version: 2.5.1
|
171
|
-
type: :development
|
172
|
-
version_requirements: *id011
|
173
169
|
description: " The MOle is a rack application that monitors user interactions with your web site. We are not \n talking about counting page hits here. The MOle tracks all the information available to capture\n the essence of a user interaction with your application. Using the MOle, you are able to see\n which feature is a hit or a bust. As an added bonus, the MOle also track performance and exceptions \n that might have escaped your test suites or alpha env. To boot your managers will love you for it! \n\n Whether you are releasing a new application or improving on an old one, it is always a good thing \n to know if anyone is using your application and if they are, how they are using it. \n What features are your users most fond of and which features find their way into the abyss? \n You will be able to rapidly assess whether or not your application is a hit and if\n your coolest features are thought as such by your users. You will be able to elegantly record user\n interactions and leverage these findings for the next iteration of your application. "
|
174
170
|
email: fernand.galiana@gmail.com
|
175
171
|
executables: []
|
@@ -243,6 +239,7 @@ rdoc_options:
|
|
243
239
|
require_paths:
|
244
240
|
- lib
|
245
241
|
required_ruby_version: !ruby/object:Gem::Requirement
|
242
|
+
none: false
|
246
243
|
requirements:
|
247
244
|
- - ">="
|
248
245
|
- !ruby/object:Gem::Version
|
@@ -250,6 +247,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
250
247
|
- 0
|
251
248
|
version: "0"
|
252
249
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
250
|
+
none: false
|
253
251
|
requirements:
|
254
252
|
- - ">="
|
255
253
|
- !ruby/object:Gem::Version
|
@@ -261,7 +259,7 @@ requirements: []
|
|
261
259
|
rubyforge_project: !binary |
|
262
260
|
AA==
|
263
261
|
|
264
|
-
rubygems_version: 1.3.
|
262
|
+
rubygems_version: 1.3.7
|
265
263
|
signing_key:
|
266
264
|
specification_version: 3
|
267
265
|
summary: The MOle is a rack application that monitors user interactions with your web site
|