Class: Numeric

Inherits:
Object show all
Defined in:
lib/active_support/core_ext/object/blank.rb,
lib/active_support/core_ext/object/json.rb,
lib/active_support/core_ext/numeric/time.rb,
lib/active_support/core_ext/numeric/bytes.rb,
lib/active_support/core_ext/numeric/inquiry.rb,
lib/active_support/core_ext/object/duplicable.rb,
lib/active_support/core_ext/string/output_safety.rb

Overview

:nodoc:

Direct Known Subclasses

ActiveSupport::Duration::Scalar

Constant Summary collapse

KILOBYTE =
1024
MEGABYTE =
KILOBYTE * 1024
GIGABYTE =
MEGABYTE * 1024
TERABYTE =
GIGABYTE * 1024
PETABYTE =
TERABYTE * 1024
EXABYTE =
PETABYTE * 1024

Instance Method Summary collapse

Instance Method Details

#as_json(options = nil) ⇒ Object

:nodoc:



98
99
100
# File 'lib/active_support/core_ext/object/json.rb', line 98

def as_json(options = nil) #:nodoc:
  self
end

#blank?false

No number is blank:

1.blank? # => false
0.blank? # => false

Returns:

  • (false)


142
143
144
# File 'lib/active_support/core_ext/object/blank.rb', line 142

def blank?
  false
end

#bytesObject Also known as: byte

Enables the use of byte calculations and declarations, like 45.bytes + 2.6.megabytes

2.bytes # => 2


14
15
16
# File 'lib/active_support/core_ext/numeric/bytes.rb', line 14

def bytes
  self
end

#daysObject Also known as: day

Returns a Duration instance matching the number of days provided.

2.days # => 2 days


37
38
39
# File 'lib/active_support/core_ext/numeric/time.rb', line 37

def days
  ActiveSupport::Duration.days(self)
end

#exabytesObject Also known as: exabyte

Returns the number of bytes equivalent to the exabytes provided.

2.exabytes # => 2_305_843_009_213_693_952


62
63
64
# File 'lib/active_support/core_ext/numeric/bytes.rb', line 62

def exabytes
  self * EXABYTE
end

#fortnightsObject Also known as: fortnight

Returns a Duration instance matching the number of fortnights provided.

2.fortnights # => 4 weeks


53
54
55
# File 'lib/active_support/core_ext/numeric/time.rb', line 53

def fortnights
  ActiveSupport::Duration.weeks(self * 2)
end

#gigabytesObject Also known as: gigabyte

Returns the number of bytes equivalent to the gigabytes provided.

2.gigabytes # => 2_147_483_648


38
39
40
# File 'lib/active_support/core_ext/numeric/bytes.rb', line 38

def gigabytes
  self * GIGABYTE
end

#hoursObject Also known as: hour

Returns a Duration instance matching the number of hours provided.

2.hours # => 2 hours


29
30
31
# File 'lib/active_support/core_ext/numeric/time.rb', line 29

def hours
  ActiveSupport::Duration.hours(self)
end

#html_safe?Boolean

Returns:

  • (Boolean)


129
130
131
# File 'lib/active_support/core_ext/string/output_safety.rb', line 129

def html_safe?
  true
end

#in_millisecondsObject

Returns the number of milliseconds equivalent to the seconds provided. Used with the standard time durations.

2.in_milliseconds # => 2000
1.hour.in_milliseconds # => 3600000


63
64
65
# File 'lib/active_support/core_ext/numeric/time.rb', line 63

def in_milliseconds
  self * 1000
end

#kilobytesObject Also known as: kilobyte

Returns the number of bytes equivalent to the kilobytes provided.

2.kilobytes # => 2048


22
23
24
# File 'lib/active_support/core_ext/numeric/bytes.rb', line 22

def kilobytes
  self * KILOBYTE
end

#megabytesObject Also known as: megabyte

Returns the number of bytes equivalent to the megabytes provided.

2.megabytes # => 2_097_152


30
31
32
# File 'lib/active_support/core_ext/numeric/bytes.rb', line 30

def megabytes
  self * MEGABYTE
end

#minutesObject Also known as: minute

Returns a Duration instance matching the number of minutes provided.

2.minutes # => 2 minutes


21
22
23
# File 'lib/active_support/core_ext/numeric/time.rb', line 21

def minutes
  ActiveSupport::Duration.minutes(self)
end

#negative?Boolean

Returns true if the number is negative.

-1.negative? # => true
0.negative?  # => false
1.negative?  # => false

Returns:

  • (Boolean)


19
20
21
# File 'lib/active_support/core_ext/numeric/inquiry.rb', line 19

def negative?
  self < 0
end

#petabytesObject Also known as: petabyte

Returns the number of bytes equivalent to the petabytes provided.

2.petabytes # => 2_251_799_813_685_248


54
55
56
# File 'lib/active_support/core_ext/numeric/bytes.rb', line 54

def petabytes
  self * PETABYTE
end

#positive?Boolean

Returns true if the number is positive.

1.positive?  # => true
0.positive?  # => false
-1.positive? # => false

Returns:

  • (Boolean)


10
11
12
# File 'lib/active_support/core_ext/numeric/inquiry.rb', line 10

def positive?
  self > 0
end

#secondsObject Also known as: second

Returns a Duration instance matching the number of seconds provided.

2.seconds # => 2 seconds


13
14
15
# File 'lib/active_support/core_ext/numeric/time.rb', line 13

def seconds
  ActiveSupport::Duration.seconds(self)
end

#terabytesObject Also known as: terabyte

Returns the number of bytes equivalent to the terabytes provided.

2.terabytes # => 2_199_023_255_552


46
47
48
# File 'lib/active_support/core_ext/numeric/bytes.rb', line 46

def terabytes
  self * TERABYTE
end

#weeksObject Also known as: week

Returns a Duration instance matching the number of weeks provided.

2.weeks # => 2 weeks


45
46
47
# File 'lib/active_support/core_ext/numeric/time.rb', line 45

def weeks
  ActiveSupport::Duration.weeks(self)
end