rfunk 0.5.0 → 0.6.0

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: c1093410c5b9f09c2d27a51264793c2b018a6591
4
- data.tar.gz: 09c356f3da1466a01486c6dc3dc164f392616e5e
3
+ metadata.gz: 2755cc6e05fdef2c651a6b23c5ed3c8c8694eb95
4
+ data.tar.gz: b77625631432a5be513ff0080207dabf50378617
5
5
  SHA512:
6
- metadata.gz: af3cf4a13a0a8e29f13879b8d24cbe9dd260c84f28773105cbfc6d484027d0a4c38c96107e7e0976f066c4ed72542d7b9a5ca56b2a5cabf6f6a18cdabfa8adb7
7
- data.tar.gz: e7013c2584a0971ea445e798df3c85ea50feec45b061f75a81789c4e33332872c7a406a6960445f262cdfc6c43c9f08f2577fd9c702df4e9ed525f2b930dbd05
6
+ metadata.gz: 33a95bb66359db61a1f77d516c54bab29947b409a8f070b29e9417859687449164d2731df64caa1a872d374de8bdc9da731b86d34e69d6823de8f63beec623b3
7
+ data.tar.gz: 3b9e2543049283b50f00f66edf1ebc5a59bb70ef1a7bf3c5b6f2d3e0f49f6a3c8e64206b1b60680891d63b1e9cf6892f90313b90d1445f6c4928a3499d380e2f
@@ -2,7 +2,7 @@ module RFunk
2
2
  module AttributeFunction
3
3
  def fun(method_name, &block)
4
4
  lambda = lambda { |*args|
5
- block.call(Function.new, *args)
5
+ instance_exec(*args.unshift(Function.new), &block)
6
6
  }
7
7
 
8
8
  define_method method_name, &lambda
@@ -1,9 +1,12 @@
1
1
  module RFunk
2
2
  class ErrorChecking
3
3
  def raise_expected_type(name, value, type)
4
- unless value.is_a?(type)
5
- message = "Expected a type of '#{type}' for attribute '#{name}'"
6
- raise TypeError, message
4
+ case value
5
+ when Some
6
+ expected_type?(name, value.value, type)
7
+ when None
8
+ else
9
+ expected_type?(name, value, type)
7
10
  end
8
11
  end
9
12
 
@@ -19,5 +22,14 @@ module RFunk
19
22
  message = "Could not set variables '#{keys}', because variables are immutable."
20
23
  raise ImmutableError, message if keys.any?
21
24
  end
25
+
26
+ private
27
+
28
+ def expected_type?(name, value, type)
29
+ unless value.is_a?(type)
30
+ message = "Expected a type of '#{type}' for attribute '#{name}'"
31
+ raise TypeError, message
32
+ end
33
+ end
22
34
  end
23
35
  end
data/lib/rfunk/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module RFunk
2
- VERSION = '0.5.0'
2
+ VERSION = '0.6.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rfunk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Falkowski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-18 00:00:00.000000000 Z
11
+ date: 2014-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ice_nine