range_ext 0.0.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/.gitignore +4 -0
- data/Gemfile +4 -0
- data/README +5 -0
- data/Rakefile +2 -0
- data/lib/range_ext.rb +34 -0
- data/lib/range_ext/version.rb +3 -0
- data/range_ext.gemspec +21 -0
- metadata +74 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/README
ADDED
data/Rakefile
ADDED
data/lib/range_ext.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
class Range
|
2
|
+
range = (1..2)
|
3
|
+
# Overriding method only when it's included from Enumerable
|
4
|
+
unless range.method(:min).owner == self
|
5
|
+
def min
|
6
|
+
b = self.begin
|
7
|
+
e = self.end
|
8
|
+
|
9
|
+
if block_given?
|
10
|
+
yield(b, e)
|
11
|
+
else
|
12
|
+
c = b <=> e
|
13
|
+
|
14
|
+
return c > 0 ? nil : b
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
# Overriding method only when it's included from Enumerable
|
20
|
+
unless range.method(:max).owner == self
|
21
|
+
def max
|
22
|
+
b = self.begin
|
23
|
+
e = self.end
|
24
|
+
|
25
|
+
if block_given?
|
26
|
+
yield(b, e)
|
27
|
+
else
|
28
|
+
c = b <=> e
|
29
|
+
|
30
|
+
return c > 0 ? nil : e
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/range_ext.gemspec
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "range_ext/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "range_ext"
|
7
|
+
s.version = RangeExt::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Piotr Pawel Debosz"]
|
10
|
+
s.email = ["piotr.debosz@gmail.com"]
|
11
|
+
s.homepage = ""
|
12
|
+
s.summary = %q{Range_ext improves Ruby core Range#min, Range#max methods}
|
13
|
+
s.description = %q{Range_ext improves Ruby core Range#min, Range#max methods}
|
14
|
+
|
15
|
+
s.rubyforge_project = "range_ext"
|
16
|
+
|
17
|
+
s.files = `git ls-files`.split("\n")
|
18
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
19
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
|
+
s.require_paths = ["lib"]
|
21
|
+
end
|
metadata
ADDED
@@ -0,0 +1,74 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: range_ext
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 29
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 0
|
9
|
+
- 1
|
10
|
+
version: 0.0.1
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Piotr Pawel Debosz
|
14
|
+
autorequire:
|
15
|
+
bindir: bin
|
16
|
+
cert_chain: []
|
17
|
+
|
18
|
+
date: 2011-06-23 00:00:00 +02:00
|
19
|
+
default_executable:
|
20
|
+
dependencies: []
|
21
|
+
|
22
|
+
description: Range_ext improves Ruby core Range#min, Range#max methods
|
23
|
+
email:
|
24
|
+
- piotr.debosz@gmail.com
|
25
|
+
executables: []
|
26
|
+
|
27
|
+
extensions: []
|
28
|
+
|
29
|
+
extra_rdoc_files: []
|
30
|
+
|
31
|
+
files:
|
32
|
+
- .gitignore
|
33
|
+
- Gemfile
|
34
|
+
- README
|
35
|
+
- Rakefile
|
36
|
+
- lib/range_ext.rb
|
37
|
+
- lib/range_ext/version.rb
|
38
|
+
- range_ext.gemspec
|
39
|
+
has_rdoc: true
|
40
|
+
homepage: ""
|
41
|
+
licenses: []
|
42
|
+
|
43
|
+
post_install_message:
|
44
|
+
rdoc_options: []
|
45
|
+
|
46
|
+
require_paths:
|
47
|
+
- lib
|
48
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
hash: 3
|
54
|
+
segments:
|
55
|
+
- 0
|
56
|
+
version: "0"
|
57
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
hash: 3
|
63
|
+
segments:
|
64
|
+
- 0
|
65
|
+
version: "0"
|
66
|
+
requirements: []
|
67
|
+
|
68
|
+
rubyforge_project: range_ext
|
69
|
+
rubygems_version: 1.6.2
|
70
|
+
signing_key:
|
71
|
+
specification_version: 3
|
72
|
+
summary: Range_ext improves Ruby core Range#min, Range#max methods
|
73
|
+
test_files: []
|
74
|
+
|