mayak 0.0.13 → 0.0.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mayak/function.rb +14 -0
  3. data/mayak.gemspec +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c6c4f7f03caf2fb0cacb67575dca900e755c596ba01629b77ef9a3019497fb54
4
- data.tar.gz: 612a525bb6a22ad1a06710efa8f93dead79184d0d6b87966b4cb8fa709068f58
3
+ metadata.gz: 221a2d0600601424c1b7f01078c26369743c85a240df39ac5a8b28dd68b6618e
4
+ data.tar.gz: 3b1abd6a9ecb58ea5ea251c1e93ca1ae53186c3902bcd9ba94f24f997d46b531
5
5
  SHA512:
6
- metadata.gz: 66348f91eb555c9f2056dce09b3a4dfc17e0d626eace68604380c9047e0b592d2cef835291220e2be9e08428b6977d2662a2c2a57cfb04abbb9c32401010ab19
7
- data.tar.gz: d45c494d75ecc2b17fa306972aab09520006330d255773e4c10a75eada180d19ef6ec2784a79cabdbb3287de87e825a35fff831b09b7ff80d25426a602593671
6
+ metadata.gz: 1bdce4716909e84e70db5aec924f2c80fd86e82cfbd7502382e9ac3d6e48dbbae55d3d5afe449037f23865ec4a81bc3042369cecf5815ab1527ffc8a2dc348c5
7
+ data.tar.gz: 52008707af1699cf0cd7c35acf3feca9f3593577a7ad8a76e239e36310ae4f9e316a9b87f6bc9d0d7cd8b00a0324c26bd5344e4f3c54dded86af14e93bad2821
@@ -18,6 +18,20 @@ module Mayak
18
18
  @blk = T.let(blk, T.proc.params(input: Input).returns(Output))
19
19
  end
20
20
 
21
+ sig {
22
+ type_parameters(
23
+ :Input,
24
+ :Output
25
+ ).params(
26
+ proc: T.proc.params(arg0: T.type_parameter(:Input)).returns(T.type_parameter(:Output))
27
+ ).returns(
28
+ ::Mayak::Function[T.type_parameter(:Input), T.type_parameter(:Output)]
29
+ )
30
+ }
31
+ def self.from_proc(proc)
32
+ ::Mayak::Function[T.type_parameter(:Input), T.type_parameter(:Output)].new { |input| proc.call(input) }
33
+ end
34
+
21
35
  sig { params(input: Input).returns(Output) }
22
36
  def call(input)
23
37
  blk.call(input)
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.13"
7
+ spec.version = "0.0.14"
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"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mayak
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniil Bober