rack-auth-ip 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +2 -2
- data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-block_rb.html +1 -1
- data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-callbacks_rb.html +1 -1
- data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-change_rb.html +1 -1
- data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-hunk_rb.html +1 -1
- data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs_rb.html +1 -1
- data/doc/output/coverage/-Library-Ruby-Gems-gems-rcov-0_8_1_2_0-lib-rcov_rb.html +989 -989
- data/doc/output/coverage/-System-Library-Frameworks-Ruby_framework-Versions-1_8-usr-lib-ruby-1_8-drb-drb_rb.html +1764 -1764
- data/doc/output/coverage/-System-Library-Frameworks-Ruby_framework-Versions-1_8-usr-lib-ruby-1_8-drb-eq_rb.html +17 -17
- data/doc/output/coverage/-System-Library-Frameworks-Ruby_framework-Versions-1_8-usr-lib-ruby-1_8-drb-invokemethod_rb.html +37 -37
- data/doc/output/coverage/-System-Library-Frameworks-Ruby_framework-Versions-1_8-usr-lib-ruby-1_8-forwardable_rb.html +219 -219
- data/doc/output/coverage/-System-Library-Frameworks-Ruby_framework-Versions-1_8-usr-lib-ruby-1_8-ipaddr_rb.html +530 -530
- data/doc/output/coverage/-System-Library-Frameworks-Ruby_framework-Versions-1_8-usr-lib-ruby-1_8-pp_rb.html +648 -648
- data/doc/output/coverage/-System-Library-Frameworks-Ruby_framework-Versions-1_8-usr-lib-ruby-1_8-prettyprint_rb.html +897 -897
- data/doc/output/coverage/-System-Library-Frameworks-Ruby_framework-Versions-1_8-usr-lib-ruby-1_8-timeout_rb.html +106 -106
- data/doc/output/coverage/index.html +11 -65
- data/doc/output/coverage/lib-rack-auth-ip_rb.html +51 -53
- data/lib/rack/auth/ip.rb +1 -1
- metadata +2 -4
- data/doc/output/coverage/-Library-Ruby-Gems-gems-rack-0_3_0-lib-rack-auth-abstract-handler_rb.html +0 -638
- data/doc/output/coverage/-Library-Ruby-Gems-gems-rack-0_3_0-lib-rack-auth-abstract-request_rb.html +0 -647
@@ -553,7 +553,7 @@ span.run100 {
|
|
553
553
|
</style>
|
554
554
|
</head>
|
555
555
|
<body><h3>C0 code coverage information</h3>
|
556
|
-
<p>Generated on Sat May 24
|
556
|
+
<p>Generated on Sat May 24 15:19:19 +0900 2008 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
|
557
557
|
</p>
|
558
558
|
<hr/>
|
559
559
|
<pre><span class='marked0'>Code reported as executed by Ruby looks like this...
|
@@ -598,111 +598,111 @@ span.run100 {
|
|
598
598
|
</tr>
|
599
599
|
</tbody>
|
600
600
|
</table>
|
601
|
-
<pre><span class="
|
602
|
-
</span><span class="
|
603
|
-
</span><span class="
|
604
|
-
</span><span class="
|
605
|
-
</span><span class="
|
606
|
-
</span><span class="
|
607
|
-
</span><span class="
|
608
|
-
</span><span class="
|
609
|
-
</span><span class="
|
610
|
-
</span><span class="
|
611
|
-
</span><span class="
|
612
|
-
</span><span class="
|
613
|
-
</span><span class="
|
614
|
-
</span><span class="
|
615
|
-
</span><span class="
|
616
|
-
</span><span class="
|
617
|
-
</span><span class="
|
618
|
-
</span><span class="
|
619
|
-
</span><span class="
|
620
|
-
</span><span class="
|
621
|
-
</span><span class="
|
622
|
-
</span><span class="
|
623
|
-
</span><span class="
|
624
|
-
</span><span class="
|
625
|
-
</span><span class="
|
626
|
-
</span><span class="
|
627
|
-
</span><span class="
|
628
|
-
</span><span class="
|
629
|
-
</span><span class="
|
630
|
-
</span><span class="
|
631
|
-
</span><span class="
|
632
|
-
</span><span class="
|
633
|
-
</span><span class="
|
634
|
-
</span><span class="
|
635
|
-
</span><span class="
|
636
|
-
</span><span class="
|
637
|
-
</span><span class="
|
638
|
-
</span><span class="
|
639
|
-
</span><span class="
|
640
|
-
</span><span class="
|
641
|
-
</span><span class="
|
642
|
-
</span><span class="
|
643
|
-
</span><span class="
|
644
|
-
</span><span class="
|
645
|
-
</span><span class="
|
646
|
-
</span><span class="
|
647
|
-
</span><span class="
|
648
|
-
</span><span class="
|
649
|
-
</span><span class="
|
650
|
-
</span><span class="
|
651
|
-
</span><span class="
|
652
|
-
</span><span class="
|
653
|
-
</span><span class="
|
654
|
-
</span><span class="
|
655
|
-
</span><span class="
|
656
|
-
</span><span class="
|
657
|
-
</span><span class="
|
658
|
-
</span><span class="
|
659
|
-
</span><span class="
|
660
|
-
</span><span class="
|
661
|
-
</span><span class="
|
662
|
-
</span><span class="
|
663
|
-
</span><span class="
|
664
|
-
</span><span class="
|
665
|
-
</span><span class="
|
666
|
-
</span><span class="
|
667
|
-
</span><span class="
|
668
|
-
</span><span class="
|
669
|
-
</span><span class="
|
670
|
-
</span><span class="
|
671
|
-
</span><span class="
|
672
|
-
</span><span class="
|
673
|
-
</span><span class="
|
674
|
-
</span><span class="
|
675
|
-
</span><span class="
|
676
|
-
</span><span class="
|
677
|
-
</span><span class="
|
678
|
-
</span><span class="
|
679
|
-
</span><span class="
|
680
|
-
</span><span class="
|
681
|
-
</span><span class="
|
682
|
-
</span><span class="
|
683
|
-
</span><span class="
|
684
|
-
</span><span class="
|
685
|
-
</span><span class="
|
686
|
-
</span><span class="
|
687
|
-
</span><span class="
|
688
|
-
</span><span class="
|
689
|
-
</span><span class="
|
690
|
-
</span><span class="
|
691
|
-
</span><span class="
|
692
|
-
</span><span class="
|
693
|
-
</span><span class="
|
694
|
-
</span><span class="
|
695
|
-
</span><span class="
|
696
|
-
</span><span class="
|
697
|
-
</span><span class="
|
698
|
-
</span><span class="
|
699
|
-
</span><span class="
|
700
|
-
</span><span class="
|
701
|
-
</span><span class="
|
702
|
-
</span><span class="
|
703
|
-
</span><span class="
|
704
|
-
</span><span class="
|
705
|
-
</span><span class="
|
601
|
+
<pre><span class="inferred0"><a name="line1"></a> 1 #--
|
602
|
+
</span><span class="inferred1"><a name="line2"></a> 2 # = timeout.rb
|
603
|
+
</span><span class="inferred0"><a name="line3"></a> 3 #
|
604
|
+
</span><span class="inferred1"><a name="line4"></a> 4 # execution timeout
|
605
|
+
</span><span class="inferred0"><a name="line5"></a> 5 #
|
606
|
+
</span><span class="inferred1"><a name="line6"></a> 6 # = Copyright
|
607
|
+
</span><span class="inferred0"><a name="line7"></a> 7 #
|
608
|
+
</span><span class="inferred1"><a name="line8"></a> 8 # Copyright:: (C) 2000 Network Applied Communication Laboratory, Inc.
|
609
|
+
</span><span class="inferred0"><a name="line9"></a> 9 # Copyright:: (C) 2000 Information-technology Promotion Agency, Japan
|
610
|
+
</span><span class="inferred1"><a name="line10"></a> 10 #
|
611
|
+
</span><span class="inferred0"><a name="line11"></a> 11 #++
|
612
|
+
</span><span class="inferred1"><a name="line12"></a> 12 #
|
613
|
+
</span><span class="inferred0"><a name="line13"></a> 13 # = Description
|
614
|
+
</span><span class="inferred1"><a name="line14"></a> 14 #
|
615
|
+
</span><span class="inferred0"><a name="line15"></a> 15 # A way of performing a potentially long-running operation in a thread, and
|
616
|
+
</span><span class="inferred1"><a name="line16"></a> 16 # terminating it's execution if it hasn't finished within fixed amount of
|
617
|
+
</span><span class="inferred0"><a name="line17"></a> 17 # time.
|
618
|
+
</span><span class="inferred1"><a name="line18"></a> 18 #
|
619
|
+
</span><span class="inferred0"><a name="line19"></a> 19 # Previous versions of timeout didn't use a module for namespace. This version
|
620
|
+
</span><span class="inferred1"><a name="line20"></a> 20 # provides both Timeout.timeout, and a backwards-compatible #timeout.
|
621
|
+
</span><span class="inferred0"><a name="line21"></a> 21 #
|
622
|
+
</span><span class="inferred1"><a name="line22"></a> 22 # = Synopsis
|
623
|
+
</span><span class="inferred0"><a name="line23"></a> 23 #
|
624
|
+
</span><span class="inferred1"><a name="line24"></a> 24 # require 'timeout'
|
625
|
+
</span><span class="inferred0"><a name="line25"></a> 25 # status = Timeout::timeout(5) {
|
626
|
+
</span><span class="inferred1"><a name="line26"></a> 26 # # Something that should be interrupted if it takes too much time...
|
627
|
+
</span><span class="inferred0"><a name="line27"></a> 27 # }
|
628
|
+
</span><span class="inferred1"><a name="line28"></a> 28 #
|
629
|
+
</span><span class="inferred0"><a name="line29"></a> 29
|
630
|
+
</span><span class="marked1"><a name="line30"></a> 30 module Timeout
|
631
|
+
</span><span class="inferred0"><a name="line31"></a> 31
|
632
|
+
</span><span class="inferred1"><a name="line32"></a> 32 ##
|
633
|
+
</span><span class="inferred0"><a name="line33"></a> 33 # Raised by Timeout#timeout when the block times out.
|
634
|
+
</span><span class="inferred1"><a name="line34"></a> 34
|
635
|
+
</span><span class="marked0"><a name="line35"></a> 35 class Error<Interrupt
|
636
|
+
</span><span class="inferred1"><a name="line36"></a> 36 end
|
637
|
+
</span><span class="inferred0"><a name="line37"></a> 37
|
638
|
+
</span><span class="inferred1"><a name="line38"></a> 38 ##
|
639
|
+
</span><span class="inferred0"><a name="line39"></a> 39 # Executes the method's block. If the block execution terminates before +sec+
|
640
|
+
</span><span class="inferred1"><a name="line40"></a> 40 # seconds has passed, it returns true. If not, it terminates the execution
|
641
|
+
</span><span class="inferred0"><a name="line41"></a> 41 # and raises +exception+ (which defaults to Timeout::Error).
|
642
|
+
</span><span class="inferred1"><a name="line42"></a> 42 #
|
643
|
+
</span><span class="inferred0"><a name="line43"></a> 43 # Note that this is both a method of module Timeout, so you can 'include
|
644
|
+
</span><span class="inferred1"><a name="line44"></a> 44 # Timeout' into your classes so they have a #timeout method, as well as a
|
645
|
+
</span><span class="inferred0"><a name="line45"></a> 45 # module method, so you can call it directly as Timeout.timeout().
|
646
|
+
</span><span class="inferred1"><a name="line46"></a> 46
|
647
|
+
</span><span class="marked0"><a name="line47"></a> 47 def timeout(sec, exception=Error)
|
648
|
+
</span><span class="marked1"><a name="line48"></a> 48 return yield if sec == nil or sec.zero?
|
649
|
+
</span><span class="uncovered0"><a name="line49"></a> 49 raise ThreadError, "timeout within critical session" if Thread.critical
|
650
|
+
</span><span class="uncovered1"><a name="line50"></a> 50 begin
|
651
|
+
</span><span class="uncovered0"><a name="line51"></a> 51 x = Thread.current
|
652
|
+
</span><span class="uncovered1"><a name="line52"></a> 52 y = Thread.start {
|
653
|
+
</span><span class="uncovered0"><a name="line53"></a> 53 sleep sec
|
654
|
+
</span><span class="uncovered1"><a name="line54"></a> 54 x.raise exception, "execution expired" if x.alive?
|
655
|
+
</span><span class="uncovered0"><a name="line55"></a> 55 }
|
656
|
+
</span><span class="uncovered1"><a name="line56"></a> 56 yield sec
|
657
|
+
</span><span class="uncovered0"><a name="line57"></a> 57 # return true
|
658
|
+
</span><span class="uncovered1"><a name="line58"></a> 58 ensure
|
659
|
+
</span><span class="uncovered0"><a name="line59"></a> 59 y.kill if y and y.alive?
|
660
|
+
</span><span class="uncovered1"><a name="line60"></a> 60 end
|
661
|
+
</span><span class="uncovered0"><a name="line61"></a> 61 end
|
662
|
+
</span><span class="inferred1"><a name="line62"></a> 62
|
663
|
+
</span><span class="marked0"><a name="line63"></a> 63 module_function :timeout
|
664
|
+
</span><span class="inferred1"><a name="line64"></a> 64
|
665
|
+
</span><span class="inferred0"><a name="line65"></a> 65 end
|
666
|
+
</span><span class="inferred1"><a name="line66"></a> 66
|
667
|
+
</span><span class="inferred0"><a name="line67"></a> 67 ##
|
668
|
+
</span><span class="inferred1"><a name="line68"></a> 68 # Identical to:
|
669
|
+
</span><span class="inferred0"><a name="line69"></a> 69 #
|
670
|
+
</span><span class="inferred1"><a name="line70"></a> 70 # Timeout::timeout(n, e, &block).
|
671
|
+
</span><span class="inferred0"><a name="line71"></a> 71 #
|
672
|
+
</span><span class="inferred1"><a name="line72"></a> 72 # Defined for backwards compatibility with earlier versions of timeout.rb, see
|
673
|
+
</span><span class="inferred0"><a name="line73"></a> 73 # Timeout#timeout.
|
674
|
+
</span><span class="inferred1"><a name="line74"></a> 74
|
675
|
+
</span><span class="marked0"><a name="line75"></a> 75 def timeout(n, e=Timeout::Error, &block) # :nodoc:
|
676
|
+
</span><span class="uncovered1"><a name="line76"></a> 76 Timeout::timeout(n, e, &block)
|
677
|
+
</span><span class="uncovered0"><a name="line77"></a> 77 end
|
678
|
+
</span><span class="inferred1"><a name="line78"></a> 78
|
679
|
+
</span><span class="inferred0"><a name="line79"></a> 79 ##
|
680
|
+
</span><span class="inferred1"><a name="line80"></a> 80 # Another name for Timeout::Error, defined for backwards compatibility with
|
681
|
+
</span><span class="inferred0"><a name="line81"></a> 81 # earlier versions of timeout.rb.
|
682
|
+
</span><span class="inferred1"><a name="line82"></a> 82
|
683
|
+
</span><span class="marked0"><a name="line83"></a> 83 TimeoutError = Timeout::Error # :nodoc:
|
684
|
+
</span><span class="inferred1"><a name="line84"></a> 84
|
685
|
+
</span><span class="marked0"><a name="line85"></a> 85 if __FILE__ == $0
|
686
|
+
</span><span class="uncovered1"><a name="line86"></a> 86 p timeout(5) {
|
687
|
+
</span><span class="uncovered0"><a name="line87"></a> 87 45
|
688
|
+
</span><span class="uncovered1"><a name="line88"></a> 88 }
|
689
|
+
</span><span class="uncovered0"><a name="line89"></a> 89 p timeout(5, TimeoutError) {
|
690
|
+
</span><span class="uncovered1"><a name="line90"></a> 90 45
|
691
|
+
</span><span class="uncovered0"><a name="line91"></a> 91 }
|
692
|
+
</span><span class="uncovered1"><a name="line92"></a> 92 p timeout(nil) {
|
693
|
+
</span><span class="uncovered0"><a name="line93"></a> 93 54
|
694
|
+
</span><span class="uncovered1"><a name="line94"></a> 94 }
|
695
|
+
</span><span class="uncovered0"><a name="line95"></a> 95 p timeout(0) {
|
696
|
+
</span><span class="uncovered1"><a name="line96"></a> 96 54
|
697
|
+
</span><span class="uncovered0"><a name="line97"></a> 97 }
|
698
|
+
</span><span class="uncovered1"><a name="line98"></a> 98 p timeout(5) {
|
699
|
+
</span><span class="uncovered0"><a name="line99"></a> 99 loop {
|
700
|
+
</span><span class="uncovered1"><a name="line100"></a>100 p 10
|
701
|
+
</span><span class="uncovered0"><a name="line101"></a>101 sleep 1
|
702
|
+
</span><span class="uncovered1"><a name="line102"></a>102 }
|
703
|
+
</span><span class="uncovered0"><a name="line103"></a>103 }
|
704
|
+
</span><span class="uncovered1"><a name="line104"></a>104 end
|
705
|
+
</span><span class="inferred0"><a name="line105"></a>105
|
706
706
|
</span></pre><hr/>
|
707
707
|
<p>Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'>rcov code coverage analysis tool for Ruby</a>
|
708
708
|
version 0.8.1.2.</p>
|
@@ -148,7 +148,7 @@ table.report tr.dark {
|
|
148
148
|
</script>
|
149
149
|
</head>
|
150
150
|
<body><h3>C0 code coverage information</h3>
|
151
|
-
<p>Generated on Sat May 24
|
151
|
+
<p>Generated on Sat May 24 15:19:15 +0900 2008 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
|
152
152
|
</p>
|
153
153
|
<hr/>
|
154
154
|
<table class='report'><thead><tr><td class='heading'>Name</td>
|
@@ -159,11 +159,11 @@ table.report tr.dark {
|
|
159
159
|
</tr>
|
160
160
|
</thead>
|
161
161
|
<tbody><tr class='light'><td>TOTAL</td>
|
162
|
-
<td class='lines_total'><tt>
|
162
|
+
<td class='lines_total'><tt>7146</tt>
|
163
163
|
</td>
|
164
|
-
<td class='lines_code'><tt>
|
164
|
+
<td class='lines_code'><tt>4131</tt>
|
165
165
|
</td>
|
166
|
-
<td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>
|
166
|
+
<td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>42.9%</tt>
|
167
167
|
</td>
|
168
168
|
<td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='43'/>
|
169
169
|
<td class='uncovered' width='57'/>
|
@@ -173,7 +173,7 @@ table.report tr.dark {
|
|
173
173
|
</tr>
|
174
174
|
</table>
|
175
175
|
</td>
|
176
|
-
<td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_code'>
|
176
|
+
<td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_code'>15.9%</tt>
|
177
177
|
</td>
|
178
178
|
<td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='16'/>
|
179
179
|
<td class='uncovered' width='84'/>
|
@@ -319,60 +319,6 @@ table.report tr.dark {
|
|
319
319
|
</table>
|
320
320
|
</td>
|
321
321
|
</tr>
|
322
|
-
<tr class='light'><td><a href='-Library-Ruby-Gems-gems-rack-0_3_0-lib-rack-auth-abstract-handler_rb.html'>/Library/Ruby/Gems/gems/rack-0.3.0/lib/rack/auth/abstract/handler.rb</a>
|
323
|
-
</td>
|
324
|
-
<td class='lines_total'><tt>28</tt>
|
325
|
-
</td>
|
326
|
-
<td class='lines_code'><tt>17</tt>
|
327
|
-
</td>
|
328
|
-
<td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>64.3%</tt>
|
329
|
-
</td>
|
330
|
-
<td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='64'/>
|
331
|
-
<td class='uncovered' width='36'/>
|
332
|
-
</tr>
|
333
|
-
</table>
|
334
|
-
</td>
|
335
|
-
</tr>
|
336
|
-
</table>
|
337
|
-
</td>
|
338
|
-
<td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_code'>47.1%</tt>
|
339
|
-
</td>
|
340
|
-
<td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='47'/>
|
341
|
-
<td class='uncovered' width='53'/>
|
342
|
-
</tr>
|
343
|
-
</table>
|
344
|
-
</td>
|
345
|
-
</tr>
|
346
|
-
</table>
|
347
|
-
</td>
|
348
|
-
</tr>
|
349
|
-
<tr class='dark'><td><a href='-Library-Ruby-Gems-gems-rack-0_3_0-lib-rack-auth-abstract-request_rb.html'>/Library/Ruby/Gems/gems/rack-0.3.0/lib/rack/auth/abstract/request.rb</a>
|
350
|
-
</td>
|
351
|
-
<td class='lines_total'><tt>37</tt>
|
352
|
-
</td>
|
353
|
-
<td class='lines_code'><tt>26</tt>
|
354
|
-
</td>
|
355
|
-
<td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>54.1%</tt>
|
356
|
-
</td>
|
357
|
-
<td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='54'/>
|
358
|
-
<td class='uncovered' width='46'/>
|
359
|
-
</tr>
|
360
|
-
</table>
|
361
|
-
</td>
|
362
|
-
</tr>
|
363
|
-
</table>
|
364
|
-
</td>
|
365
|
-
<td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_code'>42.3%</tt>
|
366
|
-
</td>
|
367
|
-
<td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='42'/>
|
368
|
-
<td class='uncovered' width='58'/>
|
369
|
-
</tr>
|
370
|
-
</table>
|
371
|
-
</td>
|
372
|
-
</tr>
|
373
|
-
</table>
|
374
|
-
</td>
|
375
|
-
</tr>
|
376
322
|
<tr class='light'><td><a href='-Library-Ruby-Gems-gems-rcov-0_8_1_2_0-lib-rcov_rb.html'>/Library/Ruby/Gems/gems/rcov-0.8.1.2.0/lib/rcov.rb</a>
|
377
323
|
</td>
|
378
324
|
<td class='lines_total'><tt>988</tt>
|
@@ -618,11 +564,11 @@ table.report tr.dark {
|
|
618
564
|
</tr>
|
619
565
|
<tr class='dark'><td><a href='lib-rack-auth-ip_rb.html'>lib/rack/auth/ip.rb</a>
|
620
566
|
</td>
|
621
|
-
<td class='lines_total'><tt>
|
567
|
+
<td class='lines_total'><tt>44</tt>
|
622
568
|
</td>
|
623
|
-
<td class='lines_code'><tt>
|
569
|
+
<td class='lines_code'><tt>38</tt>
|
624
570
|
</td>
|
625
|
-
<td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>93.
|
571
|
+
<td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>93.2%</tt>
|
626
572
|
</td>
|
627
573
|
<td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='93'/>
|
628
574
|
<td class='uncovered' width='7'/>
|
@@ -632,10 +578,10 @@ table.report tr.dark {
|
|
632
578
|
</tr>
|
633
579
|
</table>
|
634
580
|
</td>
|
635
|
-
<td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_code'>92.
|
581
|
+
<td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_code'>92.1%</tt>
|
636
582
|
</td>
|
637
|
-
<td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='
|
638
|
-
<td class='uncovered' width='
|
583
|
+
<td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='92'/>
|
584
|
+
<td class='uncovered' width='8'/>
|
639
585
|
</tr>
|
640
586
|
</table>
|
641
587
|
</td>
|
@@ -553,7 +553,7 @@ span.run100 {
|
|
553
553
|
</style>
|
554
554
|
</head>
|
555
555
|
<body><h3>C0 code coverage information</h3>
|
556
|
-
<p>Generated on Sat May 24
|
556
|
+
<p>Generated on Sat May 24 15:19:19 +0900 2008 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
|
557
557
|
</p>
|
558
558
|
<hr/>
|
559
559
|
<pre><span class='marked0'>Code reported as executed by Ruby looks like this...
|
@@ -571,11 +571,11 @@ span.run100 {
|
|
571
571
|
</thead>
|
572
572
|
<tbody><tr class='light'><td><a href='lib-rack-auth-ip_rb.html'>lib/rack/auth/ip.rb</a>
|
573
573
|
</td>
|
574
|
-
<td class='lines_total'><tt>
|
574
|
+
<td class='lines_total'><tt>44</tt>
|
575
575
|
</td>
|
576
|
-
<td class='lines_code'><tt>
|
576
|
+
<td class='lines_code'><tt>38</tt>
|
577
577
|
</td>
|
578
|
-
<td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>93.
|
578
|
+
<td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>93.2%</tt>
|
579
579
|
</td>
|
580
580
|
<td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='93'/>
|
581
581
|
<td class='uncovered' width='7'/>
|
@@ -585,10 +585,10 @@ span.run100 {
|
|
585
585
|
</tr>
|
586
586
|
</table>
|
587
587
|
</td>
|
588
|
-
<td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_code'>92.
|
588
|
+
<td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_code'>92.1%</tt>
|
589
589
|
</td>
|
590
|
-
<td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='
|
591
|
-
<td class='uncovered' width='
|
590
|
+
<td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='92'/>
|
591
|
+
<td class='uncovered' width='8'/>
|
592
592
|
</tr>
|
593
593
|
</table>
|
594
594
|
</td>
|
@@ -598,52 +598,50 @@ span.run100 {
|
|
598
598
|
</tr>
|
599
599
|
</tbody>
|
600
600
|
</table>
|
601
|
-
<pre><span class="
|
602
|
-
</span><span class="
|
603
|
-
</span><span class="
|
604
|
-
</span><span class="
|
605
|
-
</span><span class="
|
606
|
-
</span><span class="
|
607
|
-
</span><span class="
|
608
|
-
</span><span class="
|
609
|
-
</span><span class="
|
610
|
-
</span><span class="
|
611
|
-
</span><span class="
|
612
|
-
</span><span class="
|
613
|
-
</span><span class="
|
614
|
-
</span><span class="
|
615
|
-
</span><span class="
|
616
|
-
</span><span class="
|
617
|
-
</span><span class="
|
618
|
-
</span><span class="
|
619
|
-
</span><span class="
|
620
|
-
</span><span class="
|
621
|
-
</span><span class="
|
622
|
-
</span><span class="
|
623
|
-
</span><span class="
|
624
|
-
</span><span class="
|
625
|
-
</span><span class="
|
626
|
-
</span><span class="
|
627
|
-
</span><span class="
|
628
|
-
</span><span class="
|
629
|
-
</span><span class="
|
630
|
-
</span><span class="
|
631
|
-
</span><span class="
|
632
|
-
</span><span class="
|
633
|
-
</span><span class="
|
634
|
-
</span><span class="
|
635
|
-
</span><span class="
|
636
|
-
</span><span class="
|
637
|
-
</span><span class="
|
638
|
-
</span><span class="
|
639
|
-
</span><span class="
|
640
|
-
</span><span class="
|
641
|
-
</span><span class="
|
642
|
-
</span><span class="
|
643
|
-
</span><span class="
|
644
|
-
</span><span class="
|
645
|
-
</span><span class="inferred0"><a name="line45"></a>45 end
|
646
|
-
</span><span class="inferred1"><a name="line46"></a>46 end
|
601
|
+
<pre><span class="marked1"><a name="line1"></a> 1 require 'ipaddr'
|
602
|
+
</span><span class="marked0"><a name="line2"></a> 2 module Rack
|
603
|
+
</span><span class="marked1"><a name="line3"></a> 3 module Auth
|
604
|
+
</span><span class="marked0"><a name="line4"></a> 4 class IP
|
605
|
+
</span><span class="marked1"><a name="line5"></a> 5 module Util
|
606
|
+
</span><span class="inferred0"><a name="line6"></a> 6 # consider using reverse proxy
|
607
|
+
</span><span class="marked1"><a name="line7"></a> 7 def detect_ip env
|
608
|
+
</span><span class="marked0"><a name="line8"></a> 8 if env['HTTP_X_FORWARDED_FOR']
|
609
|
+
</span><span class="marked1"><a name="line9"></a> 9 env['HTTP_X_FORWARDED_FOR'].split(',').pop
|
610
|
+
</span><span class="inferred0"><a name="line10"></a>10 else
|
611
|
+
</span><span class="marked1"><a name="line11"></a>11 env["REMOTE_ADDR"]
|
612
|
+
</span><span class="inferred0"><a name="line12"></a>12 end
|
613
|
+
</span><span class="marked1"><a name="line13"></a>13 end
|
614
|
+
</span><span class="inferred0"><a name="line14"></a>14
|
615
|
+
</span><span class="marked1"><a name="line15"></a>15 module_function :detect_ip
|
616
|
+
</span><span class="inferred0"><a name="line16"></a>16 end
|
617
|
+
</span><span class="marked1"><a name="line17"></a>17 include Util
|
618
|
+
</span><span class="inferred0"><a name="line18"></a>18
|
619
|
+
</span><span class="marked1"><a name="line19"></a>19 def initialize app, ip_list=nil
|
620
|
+
</span><span class="marked0"><a name="line20"></a>20 @app = app
|
621
|
+
</span><span class="marked1"><a name="line21"></a>21 @ip_list = ip_list
|
622
|
+
</span><span class="inferred0"><a name="line22"></a>22
|
623
|
+
</span><span class="marked1"><a name="line23"></a>23 if @ip_list
|
624
|
+
</span><span class="marked0"><a name="line24"></a>24 @ip_list = @ip_list.map {|ip| IPAddr.new(ip) }
|
625
|
+
</span><span class="inferred1"><a name="line25"></a>25 end
|
626
|
+
</span><span class="inferred0"><a name="line26"></a>26 end
|
627
|
+
</span><span class="inferred1"><a name="line27"></a>27
|
628
|
+
</span><span class="marked0"><a name="line28"></a>28 def call env
|
629
|
+
</span><span class="marked1"><a name="line29"></a>29 req_ip = IPAddr.new(detect_ip(env))
|
630
|
+
</span><span class="inferred0"><a name="line30"></a>30
|
631
|
+
</span><span class="marked1"><a name="line31"></a>31 if @ip_list
|
632
|
+
</span><span class="marked0"><a name="line32"></a>32 if @ip_list.find {|ip| ip.include? req_ip }
|
633
|
+
</span><span class="marked1"><a name="line33"></a>33 return @app.call(env)
|
634
|
+
</span><span class="inferred0"><a name="line34"></a>34 end
|
635
|
+
</span><span class="inferred1"><a name="line35"></a>35 else
|
636
|
+
</span><span class="marked0"><a name="line36"></a>36 if yield(req_ip)
|
637
|
+
</span><span class="uncovered1"><a name="line37"></a>37 return @app.call(env)
|
638
|
+
</span><span class="uncovered0"><a name="line38"></a>38 end
|
639
|
+
</span><span class="uncovered1"><a name="line39"></a>39 end
|
640
|
+
</span><span class="marked0"><a name="line40"></a>40 return [403, {'Content-Type' => 'text/plain' }, 'Forbidden' ]
|
641
|
+
</span><span class="inferred1"><a name="line41"></a>41 end
|
642
|
+
</span><span class="inferred0"><a name="line42"></a>42 end
|
643
|
+
</span><span class="inferred1"><a name="line43"></a>43 end
|
644
|
+
</span><span class="inferred0"><a name="line44"></a>44 end
|
647
645
|
</span></pre><hr/>
|
648
646
|
<p>Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'>rcov code coverage analysis tool for Ruby</a>
|
649
647
|
version 0.8.1.2.</p>
|
data/lib/rack/auth/ip.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-auth-ip
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Keiji, Yoshimi
|
@@ -47,8 +47,6 @@ files:
|
|
47
47
|
- doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-change_rb.html
|
48
48
|
- doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-hunk_rb.html
|
49
49
|
- doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs_rb.html
|
50
|
-
- doc/output/coverage/-Library-Ruby-Gems-gems-rack-0_3_0-lib-rack-auth-abstract-handler_rb.html
|
51
|
-
- doc/output/coverage/-Library-Ruby-Gems-gems-rack-0_3_0-lib-rack-auth-abstract-request_rb.html
|
52
50
|
- doc/output/coverage/-Library-Ruby-Gems-gems-rcov-0_8_1_2_0-lib-rcov_rb.html
|
53
51
|
- doc/output/coverage/-System-Library-Frameworks-Ruby_framework-Versions-1_8-usr-lib-ruby-1_8-drb-drb_rb.html
|
54
52
|
- doc/output/coverage/-System-Library-Frameworks-Ruby_framework-Versions-1_8-usr-lib-ruby-1_8-drb-eq_rb.html
|
@@ -63,7 +61,7 @@ files:
|
|
63
61
|
- tasks/basic_config.rake
|
64
62
|
- tasks/basic_tasks.rake
|
65
63
|
has_rdoc: true
|
66
|
-
homepage: http://
|
64
|
+
homepage: http://github.com/walf443/rack-auth-ip/tree/master
|
67
65
|
post_install_message:
|
68
66
|
rdoc_options:
|
69
67
|
- --charset
|