ruby-mext 0.21.0 → 0.21.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 641330c8c2cd9031e4ef3be9947cff95bae6b687c3b1466843a3df066d53243f
4
- data.tar.gz: 04e7e322a7dcbfc7da30fd8a5858aa52dda0c8201a83142118b58f65ba8780b0
3
+ metadata.gz: af5724f948e0ea3cdfd938e89f37c4daf105d42d3c114faa68385269907ced28
4
+ data.tar.gz: 17886d733497b5553741ee31022f13378a3f38d0043182b10391abebdc9fd511
5
5
  SHA512:
6
- metadata.gz: 63b6f8e53ede313224d7ed45c65157b73bad7e5ced9436beac0efa9eb92f81331ac0e731dac6f3535917609014e670e1c3cd6a9aeabe66324566efc395d2a613
7
- data.tar.gz: 107500aec8b7c15107192e71b0e23c780432c88d8f2964b1124ce293dbc10438213174ea4fd716804be1de39ae197c0ff265aee225013995c9344af45ddf9ccc
6
+ metadata.gz: 833603ff9cf2f2845fb5e3757fb5c7cef2679650439c65d3e2ea3cc7506fbea5cbd37920f56ecc067dff3820f35fba4b6a9afb0c9339b8286fc404012142fc90
7
+ data.tar.gz: 109db15f348ca299e959d3bd61d6371ac5f1d553e56ab9d0f5ddd8e8269f44a5e9b63a2bb9ba80667a06eee6f959f7649d3b21c91bcd113b1bb7c19fc6dc7798
@@ -11,11 +11,32 @@ module Mext
11
11
  class Meter
12
12
 
13
13
  attr_accessor :numerator, :divisor
14
+
15
+ alias_method :denominator, :divisor
14
16
 
15
17
  def initialize(n, d)
16
18
  self.numerator = n.to_f
17
19
  self.divisor = d.to_f
18
20
  end
21
+
22
+ def to_r
23
+ Rational(self.numerator, self.divisor)
24
+ end
25
+
26
+ def to_s
27
+ "#{self.numerator}/#{self.divisor}"
28
+ end
29
+ #
30
+ # we use the logic of +Rational+ to perform logic on +Meter+
31
+ #
32
+ [:==, :<, :<=, :>, :>=, :<=>, :===].each { |m| define_method(m) { |other| common_logic(m, other) } }
33
+
34
+ private
35
+
36
+ def common_logic(method, other)
37
+ raise ArgumentError unless other.kind_of?(Meter) || other.kind_of?(Rational)
38
+ self.to_r.send(method, other.to_r)
39
+ end
19
40
 
20
41
  end
21
42
 
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mext
2
- VERSION = '0.21.0'
2
+ VERSION = '0.21.1'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-mext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.0
4
+ version: 0.21.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicola Bernardini