canivete 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +1 -0
- data/Rakefile +1 -1
- data/lib/canivete/deprecate.rb +42 -22
- metadata +5 -12
data/README.markdown
CHANGED
data/Rakefile
CHANGED
data/lib/canivete/deprecate.rb
CHANGED
@@ -1,29 +1,49 @@
|
|
1
1
|
module Canivete
|
2
|
+
module Deprecate
|
3
|
+
def self.included(base)
|
4
|
+
base.extend Deprecate
|
5
|
+
end
|
2
6
|
|
3
|
-
|
7
|
+
def method_added(method_name)
|
8
|
+
unless @_deprecation_options.nil?
|
9
|
+
module_eval <<END
|
10
|
+
alias_method :deprecated_#{method_name}, :#{method_name}
|
11
|
+
def #{method_name}(*args, &block)
|
12
|
+
warn "#{build_message(method_name)}"
|
13
|
+
deprecated_#{method_name}(*args, &block)
|
14
|
+
end
|
15
|
+
END
|
16
|
+
end
|
17
|
+
super
|
18
|
+
end
|
4
19
|
|
5
|
-
|
6
|
-
|
7
|
-
|
20
|
+
def deprecate(opts = {})
|
21
|
+
@_deprecation_options = opts
|
22
|
+
end
|
8
23
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
24
|
+
private
|
25
|
+
|
26
|
+
def build_message(method_name)
|
27
|
+
msg = "Warning: calling deprecated method #{self}.#{method_name}."
|
28
|
+
msg += " Use #{compute_new_method}." unless new_method.nil?
|
29
|
+
@_deprecation_options = nil
|
30
|
+
return msg
|
31
|
+
end
|
32
|
+
|
33
|
+
def compute_new_method
|
34
|
+
if new_method.class.eql? Symbol
|
35
|
+
"#{class_for_new_method}##{new_method}"
|
36
|
+
else
|
37
|
+
new_method
|
38
|
+
end
|
39
|
+
end
|
23
40
|
|
24
|
-
|
25
|
-
|
26
|
-
|
41
|
+
def new_method
|
42
|
+
@_deprecation_options[:for]
|
43
|
+
end
|
27
44
|
|
28
|
-
|
45
|
+
def class_for_new_method
|
46
|
+
@_deprecation_options[:on] || self
|
47
|
+
end
|
48
|
+
end
|
29
49
|
end
|
metadata
CHANGED
@@ -1,12 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: canivete
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
segments:
|
6
|
-
- 0
|
7
|
-
- 0
|
8
|
-
- 3
|
9
|
-
version: 0.0.3
|
4
|
+
version: 0.0.4
|
10
5
|
platform: ruby
|
11
6
|
authors:
|
12
7
|
- Douglas Campos
|
@@ -14,7 +9,7 @@ autorequire:
|
|
14
9
|
bindir: bin
|
15
10
|
cert_chain: []
|
16
11
|
|
17
|
-
date: 2010-04-
|
12
|
+
date: 2010-04-28 00:00:00 -03:00
|
18
13
|
default_executable:
|
19
14
|
dependencies: []
|
20
15
|
|
@@ -44,20 +39,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
44
39
|
requirements:
|
45
40
|
- - ">="
|
46
41
|
- !ruby/object:Gem::Version
|
47
|
-
segments:
|
48
|
-
- 0
|
49
42
|
version: "0"
|
43
|
+
version:
|
50
44
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
51
45
|
requirements:
|
52
46
|
- - ">="
|
53
47
|
- !ruby/object:Gem::Version
|
54
|
-
segments:
|
55
|
-
- 0
|
56
48
|
version: "0"
|
49
|
+
version:
|
57
50
|
requirements: []
|
58
51
|
|
59
52
|
rubyforge_project:
|
60
|
-
rubygems_version: 1.3.
|
53
|
+
rubygems_version: 1.3.5
|
61
54
|
signing_key:
|
62
55
|
specification_version: 3
|
63
56
|
summary: ruby future swiss knife
|