mayak 0.0.5 → 0.0.8

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: d3d6392483fc1750edbb5b8769f26ff2b5e481b833c2c558d39705328bbf4b67
4
- data.tar.gz: a857d9f7f887e00b17e45417e5c0cd9735a298d1cbc872e356b7be39f3f9674c
3
+ metadata.gz: c2d43465f84c778599cc747d43d0599571cf9b056308f2a751993102853e1818
4
+ data.tar.gz: e4e478b00ac90a7f2f6cd659f139f504bc6ddf69649af7cc023823f2ff96999f
5
5
  SHA512:
6
- metadata.gz: ace47144adc22d958b094723be44eab7539795aae79ed580dfc1b0f85c6caa6d7745c30867797c4e6de42049e1e7b943cb491feb42d6550a498eed9121028b07
7
- data.tar.gz: 7a8fe28722acbd2575a9ad53836463603b04916ffb544c5c4aea8a14e42b76398fce4644a29297a5a2cd02340a25afd1a1ba5b0a79a00e04efacae99078556c1
6
+ metadata.gz: ebfc537f9958d211f4b11d7313e46e73468240a60840fd63cb47c96cd0ac70532d594c8aa75df8975882228f070d1cd6594c7d9eee0a73b6900081a3c28e0301
7
+ data.tar.gz: 1f039589fd38aff458b6659e087ab65068071671fa4a55de30cd52820b0053eb22af6dcced5ab709c273aebf8e7a577d4388dcaf02b67d1e2f46fc8d2c71eccb
@@ -18,7 +18,7 @@ module Mayak
18
18
 
19
19
  sig(:final) { params(other: Mayak::Http::Request).returns(T::Boolean) }
20
20
  def ==(other)
21
- verb == other.verb && url.to_s == other.url.to_s && headers && other.headers && body == other.body
21
+ verb == other.verb && url.to_s == other.url.to_s && headers == other.headers && body == other.body
22
22
  end
23
23
 
24
24
  sig(:final) { params(other: Mayak::Http::Request).returns(T::Boolean) }
data/lib/mayak/numeric.rb CHANGED
@@ -37,10 +37,17 @@ module Mayak
37
37
  when BigDecimal
38
38
  Mayak::Monads::Maybe::Some[BigDecimal].new(value)
39
39
  when Float
40
- Mayak::Monads::Maybe::Some[BigDecimal].new(value.to_d)
40
+ Mayak::Monads::Maybe::Some[BigDecimal].new(BigDecimal(value, Float::DIG + 1))
41
41
  end
42
42
  rescue ArgumentError, TypeError
43
43
  Mayak::Monads::Maybe::None[BigDecimal].new
44
44
  end
45
+
46
+ sig { params(value: BigDecimal, total: BigDecimal).returns(BigDecimal) }
47
+ def self.percent_of(value:, total:)
48
+ return BigDecimal(0) if total.zero?
49
+
50
+ value / total * BigDecimal(100)
51
+ end
45
52
  end
46
53
  end
data/mayak.gemspec CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "mayak"
7
- spec.version = "0.0.5"
7
+ spec.version = "0.0.8"
8
8
  spec.summary = "Set of fully typed utility classes and interfaces integrated with Sorbet."
9
9
  spec.description = spec.summary
10
10
  spec.authors = ["Daniil Bober"]
@@ -18,4 +18,5 @@ Gem::Specification.new do |spec|
18
18
 
19
19
  spec.add_development_dependency "bundler"
20
20
  spec.add_development_dependency "rspec"
21
+ spec.add_development_dependency "parlour"
21
22
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mayak
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniil Bober
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-27 00:00:00.000000000 Z
11
+ date: 2024-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sorbet-runtime
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: parlour
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  description: Set of fully typed utility classes and interfaces integrated with Sorbet.
70
84
  email:
71
85
  executables: []