AnnieNumbers 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 3cc99642afb45a50f56893bda1972576de6a769a2ff6614c1f2b57e4a9d8b002
4
+ data.tar.gz: d5ece46338730dd5e7f97decac14111f41db0648a2fe6675f02f93eb33885661
5
+ SHA512:
6
+ metadata.gz: 29147e3427465734d83f3f5dbe63b946418eeb0d9cd9e5bc92c29ddf93ab650d845798514bb1b1e530ab5d8c7323635412cde88fc83a65a29ca91a9ffec8240f
7
+ data.tar.gz: 42fdc2c9ecfbcc9a464b5309e558e429ba28ade37f7da7c5797d68fc431427db374830133a41f9d848ea9b20cb781a9c939c3fbcb69951dea5cdb825839293f5
@@ -0,0 +1,6 @@
1
+ require "AnnieNumbers/version"
2
+
3
+ module AnnieNumbers
4
+ class Error < StandardError; end
5
+ load "AnnieNumbers/IntegerMonkeyPatch.rb"
6
+ end
@@ -0,0 +1,88 @@
1
+ # MonkeyPatch Integers
2
+ class Integer
3
+ # #triangular? -> boolean
4
+ #
5
+ # Returns whether the number is triangular
6
+ #
7
+ # 1.triangular? #=> true
8
+ # 4.triangular? #=> false
9
+ # 24.triangular? #=> true
10
+ def triangular?
11
+ i = 1 # create starting number
12
+ while true
13
+ val = (i*(i+1))/2 # create the triangular number to base of i
14
+ if val == self
15
+ return true
16
+ end
17
+ if val > self
18
+ return false
19
+ end
20
+ i += 1
21
+ end
22
+ end
23
+
24
+ # Integer.triangular? -> boolean
25
+ #
26
+ # Returns whether the number is triangular
27
+ #
28
+ # Integer.triangular?(1) #=> true
29
+ # Integer.triangular?(2) #=> false
30
+ # Integer.triangular?(24) #=> true
31
+ def self.triangular?(n)
32
+ n = n.to_i
33
+ i = 1 # create starting number
34
+ while true
35
+ val = (i*(i+1))/2 # create the triangular number to base of i
36
+ if val == n
37
+ return true
38
+ end
39
+ if val > n
40
+ return false
41
+ end
42
+ i += 1
43
+ end
44
+ end
45
+
46
+ # Integer.square? -> boolean
47
+ #
48
+ # Returns whether the number is a square number
49
+ #
50
+ # 1.square? #=> true
51
+ # 8.square? #=> false
52
+ # 36.square? #=> true
53
+ def square?
54
+ i = 1 # create starting number
55
+ while true
56
+ val = i*i # create the square number of i
57
+ if val == self
58
+ return true
59
+ end
60
+ if val > self
61
+ return false
62
+ end
63
+ i += 1
64
+ end
65
+ end
66
+
67
+ # Integer.square? -> boolean
68
+ #
69
+ # Returns whether the number is a square number
70
+ #
71
+ # Integer.square?(1) #=> true
72
+ # Integer.square?(8) #=> false
73
+ # Integer.square?(36) #=> true
74
+ def self.square?(n)
75
+ n = n.to_i
76
+ i = 1 # create starting number
77
+ while true
78
+ val = i*i # create the square number of i
79
+ if val == n
80
+ return true
81
+ end
82
+ if val > n
83
+ return false
84
+ end
85
+ i += 1
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,3 @@
1
+ module AnnieNumbers
2
+ VERSION = "0.1.0"
3
+ end
metadata ADDED
@@ -0,0 +1,87 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: AnnieNumbers
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - trueFireblade
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2019-11-24 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ description:
56
+ email:
57
+ executables: []
58
+ extensions: []
59
+ extra_rdoc_files: []
60
+ files:
61
+ - lib/AnnieNumbers.rb
62
+ - lib/AnnieNumbers/IntegerMonkeyPatch.rb
63
+ - lib/AnnieNumbers/version.rb
64
+ homepage: https://rubygems.org/gems/AnnieNumbers
65
+ licenses:
66
+ - MIT
67
+ metadata: {}
68
+ post_install_message:
69
+ rdoc_options: []
70
+ require_paths:
71
+ - lib
72
+ required_ruby_version: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ required_rubygems_version: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ requirements: []
83
+ rubygems_version: 3.0.3
84
+ signing_key:
85
+ specification_version: 4
86
+ summary: Some stuff with numbers
87
+ test_files: []