safe-me 0.9.2 → 0.9.3
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.
- data/README.rdoc +5 -1
- data/lib/safe-me/type_safer.rb +6 -0
- data/lib/safe-me/version.rb +1 -1
- data/safe/foo_safe.rb +4 -0
- data/spec/classes/foo.rb +4 -0
- data/spec/safe-me/safe-me_spec.rb +8 -0
- metadata +3 -7
data/README.rdoc
CHANGED
@@ -37,7 +37,11 @@ The DSL ist very simple. Let me explain on an example:
|
|
37
37
|
#for each argument the method takes, you have to call argument
|
38
38
|
#with the type as parameter
|
39
39
|
argument Integer
|
40
|
-
|
40
|
+
|
41
|
+
#there is also a method called arguments, which takes multiple types
|
42
|
+
#so you don't have to call argument for every single arg
|
43
|
+
arguments String, Array.ofType(Integer), unchecked
|
44
|
+
end
|
41
45
|
end
|
42
46
|
|
43
47
|
For now there are 5 kinds of possible argument types.
|
data/lib/safe-me/type_safer.rb
CHANGED
data/lib/safe-me/version.rb
CHANGED
data/safe/foo_safe.rb
CHANGED
data/spec/classes/foo.rb
CHANGED
@@ -44,5 +44,13 @@ describe SafeMe do
|
|
44
44
|
lambda{Foo.new.unchecked_method 1, [1,2,3,"a"]}.should_not raise_error(ArgumentError)
|
45
45
|
end
|
46
46
|
end
|
47
|
+
|
48
|
+
describe "adding typechecking to a method with only one call of arguments for several args" do
|
49
|
+
it "should only allow those types as args" do
|
50
|
+
lambda{Foo.new.test_arguments 1, 2, "foo", nil}.should_not raise_error(ArgumentError)
|
51
|
+
lambda{Foo.new.test_arguments "1", "2", 1, [1,2,3]}.should raise_error(ArgumentError)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
47
55
|
end
|
48
56
|
end
|
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: safe-me
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 63
|
5
4
|
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 0
|
8
7
|
- 9
|
9
|
-
-
|
10
|
-
version: 0.9.
|
8
|
+
- 3
|
9
|
+
version: 0.9.3
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Dario Rexin
|
@@ -15,7 +14,7 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2010-
|
17
|
+
date: 2010-11-09 00:00:00 +01:00
|
19
18
|
default_executable:
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
@@ -26,7 +25,6 @@ dependencies:
|
|
26
25
|
requirements:
|
27
26
|
- - ">="
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
hash: 3
|
30
28
|
segments:
|
31
29
|
- 0
|
32
30
|
version: "0"
|
@@ -78,7 +76,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
78
76
|
requirements:
|
79
77
|
- - ">="
|
80
78
|
- !ruby/object:Gem::Version
|
81
|
-
hash: 3
|
82
79
|
segments:
|
83
80
|
- 0
|
84
81
|
version: "0"
|
@@ -87,7 +84,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
84
|
requirements:
|
88
85
|
- - ">="
|
89
86
|
- !ruby/object:Gem::Version
|
90
|
-
hash: 3
|
91
87
|
segments:
|
92
88
|
- 0
|
93
89
|
version: "0"
|