canivete 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
+
@@ -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
@@ -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
+