rtype 0.6.5 → 0.6.6

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
  SHA1:
3
- metadata.gz: e2be0f81f879eb14cec746991740c174607e0246
4
- data.tar.gz: 42cdefc859a0d3b3063716bb4c8b1c064adfe9ad
3
+ metadata.gz: a159edd67900a539b8feea9186d429667af1a160
4
+ data.tar.gz: 7cb75c0716d949ffce2e312032d613051a57c138
5
5
  SHA512:
6
- metadata.gz: 8f8f677e527e1ae79b30bcb7dce0dcf0b9f13eed3212c33980c58b1e9f3272bd76ae892a606f6de89ce4693ac9a102fbe7a12ae833839e7ce59e6b00ad1a53f5
7
- data.tar.gz: afbc41fd9ba4f9377c352170ea24bed21b1fdd65087563a0a04b2f8acff0a4f3d26ebde19a22b8ccc81c7f73e7049b37d5e83070e3dc67077687c2ba67f2e61a
6
+ metadata.gz: f057cb5fb3bf0c21f6efecae853342f85617f823ef55060fb186bb74474c337fd741cdeeead59ac9fe81552d3c4d675fe9e2f19e9f9ad8292d24f15083b1d098
7
+ data.tar.gz: 47e53f18661b3817f18259caf52b158a65f2d3912ec89072ef166f452b8573e2da00e349beba64c41668047d9a0f6b9eba025dc67ffa32cf128e3b7b96941249
data/README.md CHANGED
@@ -29,7 +29,7 @@ Test::invert(state: 0)
29
29
 
30
30
  ## Requirements
31
31
  - Ruby >= 2.1
32
- - If you need to use old ruby, see [rtype-legacy](https://github.com/sputnikgugja/rtype/tree/master/benchmark/benchmark.rb) for ruby 1.9+
32
+ - If you need to use old ruby, see [rtype-legacy](https://github.com/sputnikgugja/rtype-legacy) for ruby 1.9+
33
33
  - MRI
34
34
  - If C native extension is used. otherwise it is not required
35
35
  - JRuby (JRuby 9000+)
data/lib/rtype/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Rtype
2
- VERSION = "0.6.5".freeze
2
+ VERSION = "0.6.6".freeze
3
3
  # rtype java extension version. nil If the extension is not used
4
4
  JAVA_EXT_VERSION = nil unless const_defined?(:JAVA_EXT_VERSION, false)
5
5
  # rtype c extension version. nil If the extension is not used
data/lib/rtype.rb CHANGED
@@ -405,6 +405,9 @@ private
405
405
  # @param return_sig
406
406
  # @return [void]
407
407
  def define_typed_method_to_proxy(owner, method_name, expected_args, expected_kwargs, return_sig)
408
+ priv = owner.private_method_defined?(method_name)
409
+ prot = owner.protected_method_defined?(method_name)
410
+
408
411
  if expected_kwargs.empty?
409
412
  # `send` is faster than `method(...).call`
410
413
  owner.send(:_rtype_proxy).send :define_method, method_name do |*args, &block|
@@ -422,6 +425,12 @@ private
422
425
  result
423
426
  end
424
427
  end
428
+
429
+ if priv
430
+ owner.send(:_rtype_proxy).send(:private, method_name)
431
+ elsif prot
432
+ owner.send(:_rtype_proxy).send(:protected, method_name)
433
+ end
425
434
  nil
426
435
  end
427
436
 
data/spec/rtype_spec.rb CHANGED
@@ -609,7 +609,7 @@ describe Rtype do
609
609
  it 'is hash-type argument, not keyword argument' do
610
610
  klass.send :rtype, :return_arg, [{a: String}, {}] => Any
611
611
  expect {
612
- instance.return_arg({a: 123}, {})
612
+ instance.return_arg({a: 123})
613
613
  }.to raise_error Rtype::ArgumentTypeError
614
614
  end
615
615
  end
@@ -744,9 +744,11 @@ describe Rtype do
744
744
 
745
745
  describe 'method visibility works' do
746
746
  it 'protected' do
747
+ klass.send :rtype, :protected_func, [] => Any
747
748
  expect {instance.protected_func}.to raise_error NoMethodError
748
749
  end
749
750
  it 'private' do
751
+ klass.send :rtype, :private_func, [] => Any
750
752
  expect {instance.private_func}.to raise_error NoMethodError
751
753
  end
752
754
  end
@@ -776,7 +778,7 @@ describe Rtype do
776
778
  it 'raises error' do
777
779
  klass.send :rtype, :return_arg, [{a: String}, {}] => Any
778
780
  expect {
779
- instance.return_arg({a: "str", b: "str"}, {})
781
+ instance.return_arg({a: "str", b: "str"})
780
782
  }.to raise_error Rtype::ArgumentTypeError
781
783
  end
782
784
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rtype
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.5
4
+ version: 0.6.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sputnik Gugja
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-31 00:00:00.000000000 Z
11
+ date: 2016-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake