basic_math 0.0.0 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c3156ab48d12e3710877bef2646e2aa9b4625d5ad4c60136908b4469f93c0089
4
- data.tar.gz: 1e4eed7b0179fbf41d820fcb86e4a394841b633417b92da9550125bda27ebea0
3
+ metadata.gz: bd85b84ef95a622278f6d4877460e2737b3e635770db08a9f6d6ea7a408c139f
4
+ data.tar.gz: fdd3fe7a9facc6fae201c9f959a53da71c09ff4ae4df629d47daef09a0b0d9fe
5
5
  SHA512:
6
- metadata.gz: 8a6646279daab79cff2ee3e312b8b78b8384157ad9454a98b6a57d9fe59384c182919f89ad7a11732e288e0898eb0de49264dc62c7969fb92c884cac4b08cd44
7
- data.tar.gz: 2a3a4f2512d33a0bea144480714b91dfb6bdb51941de07eeca455715d755c318a4307116812088741b09c44046355a0d8fbf9085a62a383ac47ef9309b34a4a6
6
+ metadata.gz: 41e923924b7a0b4932d8ce3c9cabe8ed0ea15a086f17a1be2adab9c8d4c32f1c6e2d254632fe5ae48cbbeaf2c5bc2f39106b514d03baff6b0be708a7aebdd305
7
+ data.tar.gz: 6401e6f90b743cc84737479174eec4e095e5bd57db82434048f938bc6270059a0c8549dbbfbbad3ea9542461b103368a9bfed66bbe73bd5203e146372eb5836e
data/bin/basic_math.rb ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'basic_math'
4
+
5
+ @parameter1 = Integer(ARGV[0]) rescue nil
6
+ @parameter2 = Integer(ARGV[2]) rescue nil
7
+
8
+ begin
9
+ if (@parameter1.is_a? Numeric) && (@parameter2.is_a? Numeric)
10
+ puts BasicMath.cal @parameter1, ARGV[1], @parameter2
11
+ else
12
+ raise
13
+ end
14
+ rescue
15
+ puts "The first and last parameter must be a number"
16
+ end
@@ -0,0 +1,45 @@
1
+ class Basic
2
+ # Arguments:
3
+ # parameter1: (Integer)
4
+ # parameter2: (Integer)
5
+ # mark: (String)
6
+ def initialize(parameter1, mark, parameter2)
7
+ @parameter1 = parameter1
8
+ @parameter2 = parameter2
9
+ @mark = mark
10
+ end
11
+
12
+ # Arguments:
13
+ # parameter1: (Integer)
14
+ # parameter2: (Integer)
15
+ def is_number(parameter1, parameter2)
16
+ return (parameter1.is_a? Numeric) && (parameter2.is_a? Numeric)
17
+ end
18
+
19
+ def calculate
20
+ if is_number @parameter1, @parameter2
21
+ case @mark
22
+ when "+"
23
+ @parameter1 + @parameter2
24
+ when "-"
25
+ @parameter1 - @parameter2
26
+ when "*"
27
+ @parameter1 * @parameter2
28
+ when "/"
29
+ begin
30
+ if @parameter2 != 0
31
+ @parameter1/@parameter2.to_f
32
+ else
33
+ raise
34
+ end
35
+ rescue
36
+ "Error divide by 0"
37
+ end
38
+ else
39
+ "This mark is not supported yet"
40
+ end
41
+ else
42
+ "The first and last parameter must be a number"
43
+ end
44
+ end
45
+ end
data/lib/basic_math.rb CHANGED
@@ -1,5 +1,18 @@
1
+ require 'basic_math/basic'
2
+
3
+ # The main BasicMath driver
1
4
  class BasicMath
2
- def self.plus(a, b)
3
- puts a+b;
5
+
6
+ # Example:
7
+ # >> BasicMath.cal(3, '+', 5)
8
+ # >> 8
9
+ #
10
+ # Arguments:
11
+ # parameter1: (Integer)
12
+ # parameter2: (Integer)
13
+ # mark: (String)
14
+ def self.cal(parameter1, mark, parameter2)
15
+ total = Basic.new parameter1, mark, parameter2
16
+ total.calculate
4
17
  end
5
18
  end
metadata CHANGED
@@ -1,23 +1,26 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: basic_math
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tran Nguyen Kha
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-28 00:00:00.000000000 Z
11
+ date: 2021-12-31 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: 'Basic Math: Plus, Subtract, multiplication, Divide'
14
14
  email: khatn@neo-lab.vn
15
- executables: []
15
+ executables:
16
+ - basic_math.rb
16
17
  extensions: []
17
18
  extra_rdoc_files: []
18
19
  files:
20
+ - bin/basic_math.rb
19
21
  - lib/basic_math.rb
20
- homepage: https://rubygems.org/gems/hola
22
+ - lib/basic_math/basic.rb
23
+ homepage: https://rubygems.org/gems/basic_math
21
24
  licenses:
22
25
  - MIT
23
26
  metadata: {}