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.
@@ -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
+