rack-auth-ip 0.0.4 → 0.0.5

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/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'ipaddr_list'
4
+ # Specify your gem's dependencies in rack-auth-ip.gemspec
5
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2012 Keiji, Yoshimi
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,44 @@
1
+ # Rack::Auth::Ip
2
+ middleware to restrict ip address
3
+
4
+ == Synopsis
5
+
6
+ in your_app.ru
7
+ require 'rack/auth/ip'
8
+ # allow access only local network
9
+ use Rack::Auth::IP, %w( 192.168.0.0/24 )
10
+
11
+ # you can use block
12
+ # ip is IPAddr instance.
13
+ use Rack::Auth::IP do |ip|
14
+ Your::Model::IP.count({ :ip => ip.to_s }) != 0
15
+ end
16
+
17
+ == Description
18
+ middleware to restrict ip address
19
+
20
+ ## Installation
21
+
22
+ Add this line to your application's Gemfile:
23
+
24
+ gem 'rack-auth-ip'
25
+
26
+ And then execute:
27
+
28
+ $ bundle
29
+
30
+ Or install it yourself as:
31
+
32
+ $ gem install rack-auth-ip
33
+
34
+ ## Usage
35
+
36
+ TODO: Write usage instructions here
37
+
38
+ ## Contributing
39
+
40
+ 1. Fork it
41
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
42
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
43
+ 4. Push to the branch (`git push origin my-new-feature`)
44
+ 5. Create new Pull Request
data/Rakefile CHANGED
@@ -1,57 +1,2 @@
1
- require 'rubygems'
2
- require 'rake'
3
- require 'rake/clean'
4
- require 'rake/testtask'
5
- require 'rake/packagetask'
6
- require 'rake/gempackagetask'
7
- require 'rake/rdoctask'
8
- require 'rake/contrib/rubyforgepublisher'
9
- require 'rake/contrib/sshpublisher'
10
- require 'fileutils'
11
- include FileUtils
12
-
13
- load File.join(File.dirname(__FILE__), 'tasks', 'basic_config.rake')
14
-
15
- NAME = "rack-auth-ip"
16
- DESCRIPTION = <<-"END_DESCRIPTION"
17
- rack's moddleware to restrict ip address
18
- END_DESCRIPTION
19
- BIN_FILES = %w( )
20
- VERS = "0.0.4"
21
-
22
- EXTRA_RDOC_FILES = []
23
- HECKLE_ROOT_MODULES = ["Rack::Auth::Ip"]
24
-
25
- SPEC = Gem::Specification.new do |s|
26
- s.name = NAME
27
- s.version = VERS
28
- s.platform = Gem::Platform::RUBY
29
- s.has_rdoc = true
30
- s.extra_rdoc_files = DEFAULT_EXTRA_RDOC_FILES + EXTRA_RDOC_FILES
31
- s.rdoc_options += RDOC_OPTS + ['--title', "#{NAME} documentation"]
32
- s.summary = DESCRIPTION
33
- s.description = DESCRIPTION
34
- s.author = AUTHOR
35
- s.email = EMAIL
36
- s.homepage = 'http://github.com/walf443/rack-auth-ip/tree/master'
37
- s.executables = BIN_FILES
38
- s.rubyforge_project = RUBYFORGE_PROJECT
39
- s.bindir = "bin"
40
- s.require_path = "lib"
41
- s.autorequire = ""
42
- s.test_files = Dir["spec/*_spec.rb"]
43
-
44
- #s.add_dependency('activesupport', '>=1.3.1')
45
- #s.required_ruby_version = '>= 1.8.2'
46
- s.add_dependency('rack', '>= 0.3.0')
47
- s.add_dependency('ipaddr_list')
48
-
49
- if Gem::RubyGemsVersion >= "1.2"
50
- s.add_development_dependency('rspec', '>=1.1.4')
51
- end
52
-
53
- s.files = PKG_FILES + EXTRA_RDOC_FILES
54
- s.extensions = EXTENSIONS
55
- end
56
-
57
- import File.join(File.dirname(__FILE__), 'tasks', 'basic_tasks.rake')
1
+ #!/usr/bin/env rake
2
+ require "bundler/gem_tasks"
@@ -0,0 +1,3 @@
1
+ require "rack-auth-ip/version"
2
+ require 'rack/auth/ip"
3
+
@@ -0,0 +1,7 @@
1
+ module Rack
2
+ module Auth
3
+ module Ip
4
+ VERSION = "0.0.5"
5
+ end
6
+ end
7
+ end
data/lib/rack/auth/ip.rb CHANGED
@@ -50,7 +50,7 @@ module Rack
50
50
  return @app.call(env)
51
51
  end
52
52
  end
53
- return [403, {'Content-Type' => 'text/plain' }, 'Forbidden' ]
53
+ return [403, {'Content-Type' => 'text/plain' }, ['Forbidden'] ]
54
54
  end
55
55
  end
56
56
  end
@@ -0,0 +1,17 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/rack-auth-ip/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["Keiji, Yoshimi"]
6
+ gem.email = ["walf443@gmail.com"]
7
+ gem.description = %q{rack middleware for restrict ip}
8
+ gem.summary = %q{rack middleware for restrict ip}
9
+ gem.homepage = "http://github.com/walf443/rack-auth-ip"
10
+
11
+ gem.files = `git ls-files`.split($\)
12
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
13
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/.*_spec.rb})
14
+ gem.name = "rack-auth-ip"
15
+ gem.require_paths = ["lib"]
16
+ gem.version = Rack::Auth::Ip::VERSION
17
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  require 'rubygems'
2
- require 'spec'
2
+ require 'rspec'
3
3
  $LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__) + '/../lib/'))
4
4
 
metadata CHANGED
@@ -1,103 +1,61 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rack-auth-ip
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.4
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.5
5
+ prerelease:
5
6
  platform: ruby
6
- authors:
7
+ authors:
7
8
  - Keiji, Yoshimi
8
- autorequire: ""
9
+ autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
-
12
- date: 2008-09-13 00:00:00 +09:00
13
- default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: rack
17
- version_requirement:
18
- version_requirements: !ruby/object:Gem::Requirement
19
- requirements:
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 0.3.0
23
- version:
24
- - !ruby/object:Gem::Dependency
25
- name: ipaddr_list
26
- version_requirement:
27
- version_requirements: !ruby/object:Gem::Requirement
28
- requirements:
29
- - - ">="
30
- - !ruby/object:Gem::Version
31
- version: "0"
32
- version:
33
- description: rack's moddleware to restrict ip address
34
- email: walf443 at gmail.com
12
+ date: 2012-10-21 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description: rack middleware for restrict ip
15
+ email:
16
+ - walf443@gmail.com
35
17
  executables: []
36
-
37
18
  extensions: []
38
-
39
- extra_rdoc_files:
40
- - README
19
+ extra_rdoc_files: []
20
+ files:
21
+ - .gitignore
41
22
  - ChangeLog
42
- files:
23
+ - Gemfile
24
+ - LICENSE
25
+ - README.md
43
26
  - Rakefile
44
- - README
45
- - ChangeLog
46
- - lib/rack
47
- - lib/rack/auth
27
+ - lib/rack-auth-ip.rb
28
+ - lib/rack-auth-ip/version.rb
48
29
  - lib/rack/auth/ip.rb
30
+ - rack-auth-ip.gemspec
49
31
  - spec/rack-auth-ip_spec.rb
50
32
  - spec/spec.opts
51
33
  - spec/spec_helper.rb
52
- - doc/output
53
- - doc/output/coverage
54
- - doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-block_rb.html
55
- - doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-callbacks_rb.html
56
- - doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-change_rb.html
57
- - doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-hunk_rb.html
58
- - doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs_rb.html
59
- - doc/output/coverage/-Library-Ruby-Gems-gems-ipaddr_list-0_0_2-lib-ipaddr_list_rb.html
60
- - doc/output/coverage/-Library-Ruby-Gems-gems-rcov-0_8_1_2_0-lib-rcov_rb.html
61
- - doc/output/coverage/index.html
62
- - doc/output/coverage/lib-rack-auth-ip_rb.html
63
34
  - tasks/basic_config.rake
64
35
  - tasks/basic_tasks.rake
65
- has_rdoc: true
66
- homepage: http://github.com/walf443/rack-auth-ip/tree/master
36
+ homepage: http://github.com/walf443/rack-auth-ip
37
+ licenses: []
67
38
  post_install_message:
68
- rdoc_options:
69
- - --charset
70
- - utf-8
71
- - --opname
72
- - index.html
73
- - --line-numbers
74
- - --main
75
- - README
76
- - --inline-source
77
- - --exclude
78
- - ^(example|extras)/
79
- - --title
80
- - rack-auth-ip documentation
81
- require_paths:
39
+ rdoc_options: []
40
+ require_paths:
82
41
  - lib
83
- required_ruby_version: !ruby/object:Gem::Requirement
84
- requirements:
85
- - - ">="
86
- - !ruby/object:Gem::Version
87
- version: "0"
88
- version:
89
- required_rubygems_version: !ruby/object:Gem::Requirement
90
- requirements:
91
- - - ">="
92
- - !ruby/object:Gem::Version
93
- version: "0"
94
- version:
42
+ required_ruby_version: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ required_rubygems_version: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
95
54
  requirements: []
96
-
97
- rubyforge_project: akasakarb
98
- rubygems_version: 1.0.1
55
+ rubyforge_project:
56
+ rubygems_version: 1.8.23
99
57
  signing_key:
100
- specification_version: 2
101
- summary: rack's moddleware to restrict ip address
102
- test_files:
58
+ specification_version: 3
59
+ summary: rack middleware for restrict ip
60
+ test_files:
103
61
  - spec/rack-auth-ip_spec.rb
data/README DELETED
@@ -1,37 +0,0 @@
1
-
2
- = rack-auth-ip
3
- middleware to restrict ip address
4
-
5
- == Synopsis
6
-
7
- in your_app.ru
8
- require 'rack/auth/ip'
9
- # allow access only local network
10
- use Rack::Auth::IP, %w( 192.168.0.0/24 )
11
-
12
- # you can use block
13
- # ip is IPAddr instance.
14
- use Rack::Auth::IP do |ip|
15
- Your::Model::IP.count({ :ip => ip.to_s }) != 0
16
- end
17
-
18
- == Description
19
- middleware to restrict ip address
20
-
21
- == Installation
22
-
23
- === Archive Installation
24
-
25
- rake install
26
-
27
- === Gem Installation
28
-
29
- gem install rack-auth-ip
30
-
31
- == Features/Problems
32
-
33
- == Copyright
34
-
35
- Author:: Keiji, Yoshimi <walf443 at gmail.com>
36
- Copyright:: Copyright (c) 2008 Keiji, Yoshimi
37
- License:: you can redistribute it and/or modify it under the same terms as Ruby itself.
@@ -1,661 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'><head><title>/Library/Ruby/Gems/gems/diff-lcs-1.1.2/lib/diff/lcs/block.rb - C0 code coverage information</title>
3
- <style type='text/css'>body { background-color: rgb(240, 240, 245); }</style>
4
- <style type='text/css'>span.cross-ref-title {
5
- font-size: 140%;
6
- }
7
- span.cross-ref a {
8
- text-decoration: none;
9
- }
10
- span.cross-ref {
11
- background-color:#f3f7fa;
12
- border: 1px dashed #333;
13
- margin: 1em;
14
- padding: 0.5em;
15
- overflow: hidden;
16
- }
17
- a.crossref-toggle {
18
- text-decoration: none;
19
- }
20
- span.marked0 {
21
- background-color: rgb(185, 210, 200);
22
- display: block;
23
- }
24
- span.marked1 {
25
- background-color: rgb(190, 215, 205);
26
- display: block;
27
- }
28
- span.inferred0 {
29
- background-color: rgb(175, 200, 200);
30
- display: block;
31
- }
32
- span.inferred1 {
33
- background-color: rgb(180, 205, 205);
34
- display: block;
35
- }
36
- span.uncovered0 {
37
- background-color: rgb(225, 110, 110);
38
- display: block;
39
- }
40
- span.uncovered1 {
41
- background-color: rgb(235, 120, 120);
42
- display: block;
43
- }
44
- span.overview {
45
- border-bottom: 8px solid black;
46
- }
47
- div.overview {
48
- border-bottom: 8px solid black;
49
- }
50
- body {
51
- font-family: verdana, arial, helvetica;
52
- }
53
- div.footer {
54
- font-size: 68%;
55
- margin-top: 1.5em;
56
- }
57
- h1, h2, h3, h4, h5, h6 {
58
- margin-bottom: 0.5em;
59
- }
60
- h5 {
61
- margin-top: 0.5em;
62
- }
63
- .hidden {
64
- display: none;
65
- }
66
- div.separator {
67
- height: 10px;
68
- }
69
- /* Commented out for better readability, esp. on IE */
70
- /*
71
- table tr td, table tr th {
72
- font-size: 68%;
73
- }
74
- td.value table tr td {
75
- font-size: 11px;
76
- }
77
- */
78
- table.percent_graph {
79
- height: 12px;
80
- border: #808080 1px solid;
81
- empty-cells: show;
82
- }
83
- table.percent_graph td.covered {
84
- height: 10px;
85
- background: #00f000;
86
- }
87
- table.percent_graph td.uncovered {
88
- height: 10px;
89
- background: #e00000;
90
- }
91
- table.percent_graph td.NA {
92
- height: 10px;
93
- background: #eaeaea;
94
- }
95
- table.report {
96
- border-collapse: collapse;
97
- width: 100%;
98
- }
99
- table.report td.heading {
100
- background: #dcecff;
101
- border: #d0d0d0 1px solid;
102
- font-weight: bold;
103
- text-align: center;
104
- }
105
- table.report td.heading:hover {
106
- background: #c0ffc0;
107
- }
108
- table.report td.text {
109
- border: #d0d0d0 1px solid;
110
- }
111
- table.report td.value,
112
- table.report td.lines_total,
113
- table.report td.lines_code {
114
- text-align: right;
115
- border: #d0d0d0 1px solid;
116
- }
117
- table.report tr.light {
118
- background-color: rgb(240, 240, 245);
119
- }
120
- table.report tr.dark {
121
- background-color: rgb(230, 230, 235);
122
- }
123
- </style>
124
- <script type='text/javascript'>
125
- // <![CDATA[
126
- function toggleCode( id ) {
127
- if ( document.getElementById )
128
- elem = document.getElementById( id );
129
- else if ( document.all )
130
- elem = eval( "document.all." + id );
131
- else
132
- return false;
133
-
134
- elemStyle = elem.style;
135
-
136
- if ( elemStyle.display != "block" ) {
137
- elemStyle.display = "block"
138
- } else {
139
- elemStyle.display = "none"
140
- }
141
-
142
- return true;
143
- }
144
-
145
- // Make cross-references hidden by default
146
- document.writeln( "<style type=\"text/css\">span.cross-ref { display: none }</style>" )
147
- // ]]>
148
- </script>
149
- <style type='text/css'>span.run0 {
150
- background-color: rgb(178, 204, 255);
151
- display: block;
152
- }
153
- span.run1 {
154
- background-color: rgb(178, 206, 255);
155
- display: block;
156
- }
157
- span.run2 {
158
- background-color: rgb(178, 209, 255);
159
- display: block;
160
- }
161
- span.run3 {
162
- background-color: rgb(178, 211, 255);
163
- display: block;
164
- }
165
- span.run4 {
166
- background-color: rgb(178, 214, 255);
167
- display: block;
168
- }
169
- span.run5 {
170
- background-color: rgb(178, 218, 255);
171
- display: block;
172
- }
173
- span.run6 {
174
- background-color: rgb(178, 220, 255);
175
- display: block;
176
- }
177
- span.run7 {
178
- background-color: rgb(178, 223, 255);
179
- display: block;
180
- }
181
- span.run8 {
182
- background-color: rgb(178, 225, 255);
183
- display: block;
184
- }
185
- span.run9 {
186
- background-color: rgb(178, 228, 255);
187
- display: block;
188
- }
189
- span.run10 {
190
- background-color: rgb(178, 232, 255);
191
- display: block;
192
- }
193
- span.run11 {
194
- background-color: rgb(178, 234, 255);
195
- display: block;
196
- }
197
- span.run12 {
198
- background-color: rgb(178, 237, 255);
199
- display: block;
200
- }
201
- span.run13 {
202
- background-color: rgb(178, 239, 255);
203
- display: block;
204
- }
205
- span.run14 {
206
- background-color: rgb(178, 242, 255);
207
- display: block;
208
- }
209
- span.run15 {
210
- background-color: rgb(178, 246, 255);
211
- display: block;
212
- }
213
- span.run16 {
214
- background-color: rgb(178, 248, 255);
215
- display: block;
216
- }
217
- span.run17 {
218
- background-color: rgb(178, 251, 255);
219
- display: block;
220
- }
221
- span.run18 {
222
- background-color: rgb(178, 253, 255);
223
- display: block;
224
- }
225
- span.run19 {
226
- background-color: rgb(178, 255, 253);
227
- display: block;
228
- }
229
- span.run20 {
230
- background-color: rgb(178, 255, 249);
231
- display: block;
232
- }
233
- span.run21 {
234
- background-color: rgb(178, 255, 247);
235
- display: block;
236
- }
237
- span.run22 {
238
- background-color: rgb(178, 255, 244);
239
- display: block;
240
- }
241
- span.run23 {
242
- background-color: rgb(178, 255, 242);
243
- display: block;
244
- }
245
- span.run24 {
246
- background-color: rgb(178, 255, 239);
247
- display: block;
248
- }
249
- span.run25 {
250
- background-color: rgb(178, 255, 235);
251
- display: block;
252
- }
253
- span.run26 {
254
- background-color: rgb(178, 255, 233);
255
- display: block;
256
- }
257
- span.run27 {
258
- background-color: rgb(178, 255, 230);
259
- display: block;
260
- }
261
- span.run28 {
262
- background-color: rgb(178, 255, 228);
263
- display: block;
264
- }
265
- span.run29 {
266
- background-color: rgb(178, 255, 225);
267
- display: block;
268
- }
269
- span.run30 {
270
- background-color: rgb(178, 255, 221);
271
- display: block;
272
- }
273
- span.run31 {
274
- background-color: rgb(178, 255, 219);
275
- display: block;
276
- }
277
- span.run32 {
278
- background-color: rgb(178, 255, 216);
279
- display: block;
280
- }
281
- span.run33 {
282
- background-color: rgb(178, 255, 214);
283
- display: block;
284
- }
285
- span.run34 {
286
- background-color: rgb(178, 255, 211);
287
- display: block;
288
- }
289
- span.run35 {
290
- background-color: rgb(178, 255, 207);
291
- display: block;
292
- }
293
- span.run36 {
294
- background-color: rgb(178, 255, 205);
295
- display: block;
296
- }
297
- span.run37 {
298
- background-color: rgb(178, 255, 202);
299
- display: block;
300
- }
301
- span.run38 {
302
- background-color: rgb(178, 255, 200);
303
- display: block;
304
- }
305
- span.run39 {
306
- background-color: rgb(178, 255, 197);
307
- display: block;
308
- }
309
- span.run40 {
310
- background-color: rgb(178, 255, 193);
311
- display: block;
312
- }
313
- span.run41 {
314
- background-color: rgb(178, 255, 191);
315
- display: block;
316
- }
317
- span.run42 {
318
- background-color: rgb(178, 255, 188);
319
- display: block;
320
- }
321
- span.run43 {
322
- background-color: rgb(178, 255, 186);
323
- display: block;
324
- }
325
- span.run44 {
326
- background-color: rgb(178, 255, 183);
327
- display: block;
328
- }
329
- span.run45 {
330
- background-color: rgb(178, 255, 179);
331
- display: block;
332
- }
333
- span.run46 {
334
- background-color: rgb(179, 255, 178);
335
- display: block;
336
- }
337
- span.run47 {
338
- background-color: rgb(182, 255, 178);
339
- display: block;
340
- }
341
- span.run48 {
342
- background-color: rgb(184, 255, 178);
343
- display: block;
344
- }
345
- span.run49 {
346
- background-color: rgb(187, 255, 178);
347
- display: block;
348
- }
349
- span.run50 {
350
- background-color: rgb(191, 255, 178);
351
- display: block;
352
- }
353
- span.run51 {
354
- background-color: rgb(193, 255, 178);
355
- display: block;
356
- }
357
- span.run52 {
358
- background-color: rgb(196, 255, 178);
359
- display: block;
360
- }
361
- span.run53 {
362
- background-color: rgb(198, 255, 178);
363
- display: block;
364
- }
365
- span.run54 {
366
- background-color: rgb(201, 255, 178);
367
- display: block;
368
- }
369
- span.run55 {
370
- background-color: rgb(205, 255, 178);
371
- display: block;
372
- }
373
- span.run56 {
374
- background-color: rgb(207, 255, 178);
375
- display: block;
376
- }
377
- span.run57 {
378
- background-color: rgb(210, 255, 178);
379
- display: block;
380
- }
381
- span.run58 {
382
- background-color: rgb(212, 255, 178);
383
- display: block;
384
- }
385
- span.run59 {
386
- background-color: rgb(215, 255, 178);
387
- display: block;
388
- }
389
- span.run60 {
390
- background-color: rgb(219, 255, 178);
391
- display: block;
392
- }
393
- span.run61 {
394
- background-color: rgb(221, 255, 178);
395
- display: block;
396
- }
397
- span.run62 {
398
- background-color: rgb(224, 255, 178);
399
- display: block;
400
- }
401
- span.run63 {
402
- background-color: rgb(226, 255, 178);
403
- display: block;
404
- }
405
- span.run64 {
406
- background-color: rgb(229, 255, 178);
407
- display: block;
408
- }
409
- span.run65 {
410
- background-color: rgb(233, 255, 178);
411
- display: block;
412
- }
413
- span.run66 {
414
- background-color: rgb(235, 255, 178);
415
- display: block;
416
- }
417
- span.run67 {
418
- background-color: rgb(238, 255, 178);
419
- display: block;
420
- }
421
- span.run68 {
422
- background-color: rgb(240, 255, 178);
423
- display: block;
424
- }
425
- span.run69 {
426
- background-color: rgb(243, 255, 178);
427
- display: block;
428
- }
429
- span.run70 {
430
- background-color: rgb(247, 255, 178);
431
- display: block;
432
- }
433
- span.run71 {
434
- background-color: rgb(249, 255, 178);
435
- display: block;
436
- }
437
- span.run72 {
438
- background-color: rgb(252, 255, 178);
439
- display: block;
440
- }
441
- span.run73 {
442
- background-color: rgb(255, 255, 178);
443
- display: block;
444
- }
445
- span.run74 {
446
- background-color: rgb(255, 252, 178);
447
- display: block;
448
- }
449
- span.run75 {
450
- background-color: rgb(255, 248, 178);
451
- display: block;
452
- }
453
- span.run76 {
454
- background-color: rgb(255, 246, 178);
455
- display: block;
456
- }
457
- span.run77 {
458
- background-color: rgb(255, 243, 178);
459
- display: block;
460
- }
461
- span.run78 {
462
- background-color: rgb(255, 240, 178);
463
- display: block;
464
- }
465
- span.run79 {
466
- background-color: rgb(255, 238, 178);
467
- display: block;
468
- }
469
- span.run80 {
470
- background-color: rgb(255, 234, 178);
471
- display: block;
472
- }
473
- span.run81 {
474
- background-color: rgb(255, 232, 178);
475
- display: block;
476
- }
477
- span.run82 {
478
- background-color: rgb(255, 229, 178);
479
- display: block;
480
- }
481
- span.run83 {
482
- background-color: rgb(255, 226, 178);
483
- display: block;
484
- }
485
- span.run84 {
486
- background-color: rgb(255, 224, 178);
487
- display: block;
488
- }
489
- span.run85 {
490
- background-color: rgb(255, 220, 178);
491
- display: block;
492
- }
493
- span.run86 {
494
- background-color: rgb(255, 218, 178);
495
- display: block;
496
- }
497
- span.run87 {
498
- background-color: rgb(255, 215, 178);
499
- display: block;
500
- }
501
- span.run88 {
502
- background-color: rgb(255, 212, 178);
503
- display: block;
504
- }
505
- span.run89 {
506
- background-color: rgb(255, 210, 178);
507
- display: block;
508
- }
509
- span.run90 {
510
- background-color: rgb(255, 206, 178);
511
- display: block;
512
- }
513
- span.run91 {
514
- background-color: rgb(255, 204, 178);
515
- display: block;
516
- }
517
- span.run92 {
518
- background-color: rgb(255, 201, 178);
519
- display: block;
520
- }
521
- span.run93 {
522
- background-color: rgb(255, 198, 178);
523
- display: block;
524
- }
525
- span.run94 {
526
- background-color: rgb(255, 196, 178);
527
- display: block;
528
- }
529
- span.run95 {
530
- background-color: rgb(255, 192, 178);
531
- display: block;
532
- }
533
- span.run96 {
534
- background-color: rgb(255, 189, 178);
535
- display: block;
536
- }
537
- span.run97 {
538
- background-color: rgb(255, 187, 178);
539
- display: block;
540
- }
541
- span.run98 {
542
- background-color: rgb(255, 184, 178);
543
- display: block;
544
- }
545
- span.run99 {
546
- background-color: rgb(255, 182, 178);
547
- display: block;
548
- }
549
- span.run100 {
550
- background-color: rgb(255, 178, 178);
551
- display: block;
552
- }
553
- </style>
554
- </head>
555
- <body><h3>C0 code coverage information</h3>
556
- <p>Generated on Sat Sep 13 07:41:02 +0900 2008 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
557
- </p>
558
- <hr/>
559
- <pre><span class='marked0'>Code reported as executed by Ruby looks like this...
560
- </span><span class='marked1'>and this: this line is also marked as covered.
561
- </span><span class='inferred0'>Lines considered as run by rcov, but not reported by Ruby, look like this,
562
- </span><span class='inferred1'>and this: these lines were inferred by rcov (using simple heuristics).
563
- </span><span class='uncovered0'>Finally, here&apos;s a line marked as not executed.
564
- </span></pre>
565
- <table class='report'><thead><tr><td class='heading'>Name</td>
566
- <td class='heading'>Total lines</td>
567
- <td class='heading'>Lines of code</td>
568
- <td class='heading'>Total coverage</td>
569
- <td class='heading'>Code coverage</td>
570
- </tr>
571
- </thead>
572
- <tbody><tr class='light'><td><a href='-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-block_rb.html'>/Library/Ruby/Gems/gems/diff-lcs-1.1.2/lib/diff/lcs/block.rb</a>
573
- </td>
574
- <td class='lines_total'><tt>51</tt>
575
- </td>
576
- <td class='lines_code'><tt>28</tt>
577
- </td>
578
- <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>52.9%</tt>
579
- &nbsp;</td>
580
- <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='53'/>
581
- <td class='uncovered' width='47'/>
582
- </tr>
583
- </table>
584
- </td>
585
- </tr>
586
- </table>
587
- </td>
588
- <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_code'>17.9%</tt>
589
- &nbsp;</td>
590
- <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='18'/>
591
- <td class='uncovered' width='82'/>
592
- </tr>
593
- </table>
594
- </td>
595
- </tr>
596
- </table>
597
- </td>
598
- </tr>
599
- </tbody>
600
- </table>
601
- <pre><span class="inferred0"><a name="line1"></a> 1 #! /usr/env/bin ruby
602
- </span><span class="inferred1"><a name="line2"></a> 2 #--
603
- </span><span class="inferred0"><a name="line3"></a> 3 # Copyright 2004 Austin Ziegler &lt;diff-lcs@halostatue.ca&gt;
604
- </span><span class="inferred1"><a name="line4"></a> 4 # adapted from:
605
- </span><span class="inferred0"><a name="line5"></a> 5 # Algorithm::Diff (Perl) by Ned Konz &lt;perl@bike-nomad.com&gt;
606
- </span><span class="inferred1"><a name="line6"></a> 6 # Smalltalk by Mario I. Wolczko &lt;mario@wolczko.com&gt;
607
- </span><span class="inferred0"><a name="line7"></a> 7 # implements McIlroy-Hunt diff algorithm
608
- </span><span class="inferred1"><a name="line8"></a> 8 #
609
- </span><span class="inferred0"><a name="line9"></a> 9 # This program is free software. It may be redistributed and/or modified under
610
- </span><span class="inferred1"><a name="line10"></a>10 # the terms of the GPL version 2 (or later), the Perl Artistic licence, or the
611
- </span><span class="inferred0"><a name="line11"></a>11 # Ruby licence.
612
- </span><span class="inferred1"><a name="line12"></a>12 #
613
- </span><span class="inferred0"><a name="line13"></a>13 # $Id: block.rb,v 1.3 2004/08/08 20:33:09 austin Exp $
614
- </span><span class="inferred1"><a name="line14"></a>14 #++
615
- </span><span class="inferred0"><a name="line15"></a>15 # Contains Diff::LCS::Block for bin/ldiff.
616
- </span><span class="inferred1"><a name="line16"></a>16
617
- </span><span class="inferred0"><a name="line17"></a>17 # A block is an operation removing, adding, or changing a group of items.
618
- </span><span class="inferred1"><a name="line18"></a>18 # Basically, this is just a list of changes, where each change adds or
619
- </span><span class="inferred0"><a name="line19"></a>19 # deletes a single item. Used by bin/ldiff.
620
- </span><span class="marked1"><a name="line20"></a>20 class Diff::LCS::Block
621
- </span><span class="marked0"><a name="line21"></a>21 attr_reader :changes, :insert, :remove
622
- </span><span class="inferred1"><a name="line22"></a>22
623
- </span><span class="marked0"><a name="line23"></a>23 def initialize(chunk)
624
- </span><span class="uncovered1"><a name="line24"></a>24 @changes = []
625
- </span><span class="uncovered0"><a name="line25"></a>25 @insert = []
626
- </span><span class="uncovered1"><a name="line26"></a>26 @remove = []
627
- </span><span class="uncovered0"><a name="line27"></a>27
628
- </span><span class="uncovered1"><a name="line28"></a>28 chunk.each do |item|
629
- </span><span class="uncovered0"><a name="line29"></a>29 @changes &lt;&lt; item
630
- </span><span class="uncovered1"><a name="line30"></a>30 @remove &lt;&lt; item if item.deleting?
631
- </span><span class="uncovered0"><a name="line31"></a>31 @insert &lt;&lt; item if item.adding?
632
- </span><span class="uncovered1"><a name="line32"></a>32 end
633
- </span><span class="uncovered0"><a name="line33"></a>33 end
634
- </span><span class="inferred1"><a name="line34"></a>34
635
- </span><span class="marked0"><a name="line35"></a>35 def diff_size
636
- </span><span class="uncovered1"><a name="line36"></a>36 @insert.size - @remove.size
637
- </span><span class="uncovered0"><a name="line37"></a>37 end
638
- </span><span class="inferred1"><a name="line38"></a>38
639
- </span><span class="marked0"><a name="line39"></a>39 def op
640
- </span><span class="uncovered1"><a name="line40"></a>40 case [@remove.empty?, @insert.empty?]
641
- </span><span class="uncovered0"><a name="line41"></a>41 when [false, false]
642
- </span><span class="uncovered1"><a name="line42"></a>42 '!'
643
- </span><span class="uncovered0"><a name="line43"></a>43 when [false, true]
644
- </span><span class="uncovered1"><a name="line44"></a>44 '-'
645
- </span><span class="uncovered0"><a name="line45"></a>45 when [true, false]
646
- </span><span class="uncovered1"><a name="line46"></a>46 '+'
647
- </span><span class="uncovered0"><a name="line47"></a>47 else # [true, true]
648
- </span><span class="uncovered1"><a name="line48"></a>48 '^'
649
- </span><span class="uncovered0"><a name="line49"></a>49 end
650
- </span><span class="uncovered1"><a name="line50"></a>50 end
651
- </span><span class="uncovered0"><a name="line51"></a>51 end
652
- </span></pre><hr/>
653
- <p>Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'>rcov code coverage analysis tool for Ruby</a>
654
- version 0.8.1.2.</p>
655
- <p><a href='http://validator.w3.org/check/referer'><img src='http://www.w3.org/Icons/valid-xhtml10' height='31' alt='Valid XHTML 1.0!' width='88'/>
656
- </a>
657
- <a href='http://jigsaw.w3.org/css-validator/check/referer'><img src='http://jigsaw.w3.org/css-validator/images/vcss' alt='Valid CSS!' style='border:0;width:88px;height:31px'/>
658
- </a>
659
- </p>
660
- </body>
661
- </html>