ruby-nuggets 0.1.6.233 → 0.1.7.234

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  == VERSION
4
4
 
5
- This documentation refers to ruby-nuggets version 0.1.6
5
+ This documentation refers to ruby-nuggets version 0.1.7
6
6
 
7
7
 
8
8
  == DESCRIPTION
@@ -27,12 +27,24 @@
27
27
 
28
28
  class Numeric
29
29
 
30
+ def positive?
31
+ self > 0
32
+ end
33
+
34
+ def negative?
35
+ self < 0
36
+ end
37
+
38
+ def non_negative?
39
+ !negative?
40
+ end
41
+
30
42
  # call-seq:
31
43
  # num.signum => -1, 0, 1
32
44
  #
33
45
  # Returns the sign of _num_.
34
46
  def signum
35
- self > 0 ? 1 : self < 0 ? -1 : 0
47
+ positive? ? 1 : negative? ? -1 : 0
36
48
  end
37
49
 
38
50
  alias_method :sign, :signum
@@ -0,0 +1,68 @@
1
+ #--
2
+ ###############################################################################
3
+ # #
4
+ # A component of ruby-nuggets, some extensions to the Ruby programming #
5
+ # language. #
6
+ # #
7
+ # Copyright (C) 2007-2008 Jens Wille #
8
+ # #
9
+ # Authors: #
10
+ # Jens Wille <jens.wille@uni-koeln.de> #
11
+ # #
12
+ # ruby-nuggets is free software; you can redistribute it and/or modify it #
13
+ # under the terms of the GNU General Public License as published by the Free #
14
+ # Software Foundation; either version 3 of the License, or (at your option) #
15
+ # any later version. #
16
+ # #
17
+ # ruby-nuggets is distributed in the hope that it will be useful, but WITHOUT #
18
+ # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
19
+ # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
20
+ # more details. #
21
+ # #
22
+ # You should have received a copy of the GNU General Public License along #
23
+ # with ruby-nuggets. If not, see <http://www.gnu.org/licenses/>. #
24
+ # #
25
+ ###############################################################################
26
+ #++
27
+
28
+ class Numeric
29
+
30
+ # call-seq:
31
+ # num.to_multiple_of(target, what) => aNumeric
32
+ #
33
+ # Returns the nearest multiple of +target+ according to +what+.
34
+ def to_multiple_of(target, what = :round)
35
+ (to_f / target).send(what) * target
36
+ end
37
+
38
+ # call-seq:
39
+ # num.round_to(target) => aNumeric
40
+ #
41
+ # Rounds _num_ to the nearest multiple of +target+.
42
+ def round_to(target)
43
+ to_multiple_of(target, :round)
44
+ end
45
+
46
+ # call-seq:
47
+ # num.floor_to(target) => aNumeric
48
+ #
49
+ # Returns the largest multiple of +target+ less than or equal to _num_.
50
+ def floor_to(target)
51
+ to_multiple_of(target, :floor)
52
+ end
53
+
54
+ # call-seq:
55
+ # num.ceil_to(target) => aNumeric
56
+ #
57
+ # Returns the smallest multiple of +target+ greater than or equal to _num_.
58
+ def ceil_to(target)
59
+ to_multiple_of(target, :ceil)
60
+ end
61
+
62
+ end
63
+
64
+ if $0 == __FILE__
65
+ [123, -123, 0, 0.001, 5.67, -12.3].each { |n|
66
+ p [n, n.round_to(10), n.floor_to(10), n.ceil_to(10)]
67
+ }
68
+ end
@@ -4,7 +4,7 @@ module Nuggets
4
4
 
5
5
  MAJOR = 0
6
6
  MINOR = 1
7
- TINY = 6
7
+ TINY = 7
8
8
 
9
9
  class << self
10
10
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-nuggets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6.233
4
+ version: 0.1.7.234
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jens Wille
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-04-22 00:00:00 +02:00
12
+ date: 2008-04-25 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -51,6 +51,7 @@ files:
51
51
  - lib/nuggets/array/combination.rb
52
52
  - lib/nuggets/numeric/between.rb
53
53
  - lib/nuggets/numeric/signum.rb
54
+ - lib/nuggets/numeric/to_multiple.rb
54
55
  - lib/nuggets/util/ansicolor2css.rb
55
56
  - lib/nuggets/util/content_type.rb
56
57
  - lib/nuggets/util/dotted_decimal.rb
@@ -68,14 +69,14 @@ homepage: http://prometheus.rubyforge.org/ruby-nuggets
68
69
  post_install_message:
69
70
  rdoc_options:
70
71
  - --line-numbers
72
+ - --all
71
73
  - --inline-source
72
74
  - --title
73
75
  - ruby-nuggets Application documentation
74
- - --charset
75
- - UTF-8
76
76
  - --main
77
77
  - README
78
- - --all
78
+ - --charset
79
+ - UTF-8
79
80
  require_paths:
80
81
  - lib
81
82
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -93,7 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
94
  requirements: []
94
95
 
95
96
  rubyforge_project: prometheus
96
- rubygems_version: 1.1.0
97
+ rubygems_version: 1.1.1
97
98
  signing_key:
98
99
  specification_version: 2
99
100
  summary: Some extensions to the Ruby programming language.