canivete 0.0.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.markdown +22 -0
- data/Rakefile +54 -0
- data/lib/canivete.rb +1 -0
- data/lib/canivete/deprecate.rb +29 -0
- metadata +65 -0
data/README.markdown
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
# Canivete - Ruby Not-so-swiss knife
|
2
|
+
|
3
|
+
Basically this gem provides you with a very handy set of utilities. Currently, only the deprecate functionality is included
|
4
|
+
|
5
|
+
Instructions:
|
6
|
+
|
7
|
+
gem install canivete
|
8
|
+
|
9
|
+
require 'canivete/deprecate'
|
10
|
+
|
11
|
+
class Test
|
12
|
+
include Canivete::Deprecate
|
13
|
+
|
14
|
+
deprecate
|
15
|
+
def soon_to_die_method
|
16
|
+
puts "goodbye"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
Test.new.soon_to_die_method
|
21
|
+
Warning: calling deprecated method Test.soon_to_die_method
|
22
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rubygems/specification'
|
3
|
+
require 'rake'
|
4
|
+
require 'rake/gempackagetask'
|
5
|
+
require 'spec/rake/spectask'
|
6
|
+
|
7
|
+
GEM = "canivete"
|
8
|
+
GEM_VERSION = "0.0.3"
|
9
|
+
SUMMARY = "ruby future swiss knife"
|
10
|
+
AUTHOR = "Douglas Campos"
|
11
|
+
EMAIL = "douglas@theros.info"
|
12
|
+
HOMEPAGE = "http://qmx.me"
|
13
|
+
|
14
|
+
spec = Gem::Specification.new do |s|
|
15
|
+
s.name = GEM
|
16
|
+
s.version = GEM_VERSION
|
17
|
+
s.platform = Gem::Platform::RUBY
|
18
|
+
s.summary = SUMMARY
|
19
|
+
s.require_paths = ['lib']
|
20
|
+
s.files = FileList['lib/**/*', '[A-Z]*'].to_a
|
21
|
+
|
22
|
+
s.author = AUTHOR
|
23
|
+
s.email = EMAIL
|
24
|
+
s.homepage = HOMEPAGE
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
Spec::Rake::SpecTask.new do |t|
|
29
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
30
|
+
t.spec_opts = %w(-fs --color)
|
31
|
+
end
|
32
|
+
|
33
|
+
Rake::GemPackageTask.new(spec) do |pkg|
|
34
|
+
pkg.gem_spec = spec
|
35
|
+
end
|
36
|
+
|
37
|
+
desc "Install the gem locally"
|
38
|
+
task :install => [:package] do
|
39
|
+
sh %{sudo gem install pkg/#{GEM}-#{GEM_VERSION}}
|
40
|
+
end
|
41
|
+
|
42
|
+
desc "Create a gemspec file"
|
43
|
+
task :make_spec do
|
44
|
+
File.open("#{GEM}.gemspec", "w") do |file|
|
45
|
+
file.puts spec.to_ruby
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
desc "Run all examples with RCov"
|
50
|
+
Spec::Rake::SpecTask.new('rcov') do |t|
|
51
|
+
t.spec_files = FileList['spec/**/*_spec.rb']
|
52
|
+
t.rcov = true
|
53
|
+
t.rcov_opts = ['--no-html', '-T', '--exclude', 'spec']
|
54
|
+
end
|
data/lib/canivete.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'canivete/deprecate'
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Canivete
|
2
|
+
|
3
|
+
module Deprecate
|
4
|
+
|
5
|
+
def self.included(base)
|
6
|
+
base.extend(Deprecate)
|
7
|
+
end
|
8
|
+
|
9
|
+
def method_added(methodName)
|
10
|
+
if self.instance_variable_get(:@_deprecate_it) != nil
|
11
|
+
puts "#{methodName} will be redefined"
|
12
|
+
self.instance_variable_set(:@_deprecate_it, nil)
|
13
|
+
module_eval <<END
|
14
|
+
alias_method :deprecated_#{methodName}, :#{methodName}
|
15
|
+
def #{methodName}(*args, &block)
|
16
|
+
warn "Warning: calling deprecated method #{self}.#{methodName}"
|
17
|
+
deprecated_#{methodName}(*args, &block)
|
18
|
+
end
|
19
|
+
END
|
20
|
+
end
|
21
|
+
super
|
22
|
+
end
|
23
|
+
|
24
|
+
def deprecate
|
25
|
+
self.instance_variable_set :@_deprecate_it, true
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
metadata
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: canivete
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 0
|
8
|
+
- 3
|
9
|
+
version: 0.0.3
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- Douglas Campos
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2010-04-23 00:00:00 -03:00
|
18
|
+
default_executable:
|
19
|
+
dependencies: []
|
20
|
+
|
21
|
+
description:
|
22
|
+
email: douglas@theros.info
|
23
|
+
executables: []
|
24
|
+
|
25
|
+
extensions: []
|
26
|
+
|
27
|
+
extra_rdoc_files: []
|
28
|
+
|
29
|
+
files:
|
30
|
+
- lib/canivete/deprecate.rb
|
31
|
+
- lib/canivete.rb
|
32
|
+
- README.markdown
|
33
|
+
- Rakefile
|
34
|
+
has_rdoc: true
|
35
|
+
homepage: http://qmx.me
|
36
|
+
licenses: []
|
37
|
+
|
38
|
+
post_install_message:
|
39
|
+
rdoc_options: []
|
40
|
+
|
41
|
+
require_paths:
|
42
|
+
- lib
|
43
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
segments:
|
48
|
+
- 0
|
49
|
+
version: "0"
|
50
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
segments:
|
55
|
+
- 0
|
56
|
+
version: "0"
|
57
|
+
requirements: []
|
58
|
+
|
59
|
+
rubyforge_project:
|
60
|
+
rubygems_version: 1.3.6
|
61
|
+
signing_key:
|
62
|
+
specification_version: 3
|
63
|
+
summary: ruby future swiss knife
|
64
|
+
test_files: []
|
65
|
+
|