map_by_method 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG ADDED
File without changes
data/README ADDED
@@ -0,0 +1,3 @@
1
+ README for map_by_method
2
+ ========================
3
+
data/Rakefile ADDED
@@ -0,0 +1,79 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'rake/clean'
4
+ require 'rake/packagetask'
5
+ require 'rake/gempackagetask'
6
+ require 'rake/rdoctask'
7
+ require 'rake/contrib/rubyforgepublisher'
8
+ require 'fileutils'
9
+ include FileUtils
10
+ require File.join(File.dirname(__FILE__), 'lib', 'map_by_method', 'version')
11
+
12
+ AUTHOR = "you"
13
+ EMAIL = "your contact email for bug fixes and info"
14
+ DESCRIPTION = "description of gem"
15
+ HOMEPATH = 'http://map_by_method.rubyforge.org'
16
+
17
+
18
+ NAME = "map_by_method"
19
+ REV = File.read(".svn/entries")[/committed-rev="(d+)"/, 1] rescue nil
20
+ VERS = ENV['VERSION'] || (MapByMethod::VERSION::STRING + (REV ? ".#{REV}" : ""))
21
+ CLEAN.include ['**/.*.sw?', '*.gem', '.config']
22
+ RDOC_OPTS = ['--quiet', '--title', "map_by_method documentation",
23
+ "--opname", "index.html",
24
+ "--line-numbers",
25
+ "--main", "README",
26
+ "--inline-source"]
27
+ BIN_FILES = %w( )
28
+
29
+ desc "Packages up map_by_method gem."
30
+ task :default => [:test]
31
+ task :package => [:clean]
32
+
33
+ task :test do
34
+ require File.dirname(__FILE__) + '/test/all_tests.rb'
35
+ end
36
+
37
+ spec =
38
+ Gem::Specification.new do |s|
39
+ s.name = NAME
40
+ s.version = VERS
41
+ s.platform = Gem::Platform::RUBY
42
+ s.has_rdoc = true
43
+ s.extra_rdoc_files = ["README", "CHANGELOG"]
44
+ s.rdoc_options += RDOC_OPTS + ['--exclude', '^(examples|extras)/']
45
+ s.summary = DESCRIPTION
46
+ s.description = DESCRIPTION
47
+ s.author = AUTHOR
48
+ s.email = EMAIL
49
+ s.homepage = HOMEPATH
50
+ s.executables = BIN_FILES
51
+ s.bindir = "bin"
52
+ s.require_path = "lib"
53
+
54
+ #s.add_dependency('activesupport', '>=1.3.1')
55
+ #s.required_ruby_version = '>= 1.8.2'
56
+
57
+ s.files = %w(README CHANGELOG Rakefile) +
58
+ Dir.glob("{bin,doc,test,lib,templates,extras,website,script}/**/*") +
59
+ Dir.glob("ext/**/*.{h,c,rb}") +
60
+ Dir.glob("examples/**/*.rb") +
61
+ Dir.glob("tools/*.rb")
62
+
63
+ # s.extensions = FileList["ext/**/extconf.rb"].to_a
64
+ end
65
+
66
+ Rake::GemPackageTask.new(spec) do |p|
67
+ p.need_tar = false
68
+ p.gem_spec = spec
69
+ end
70
+
71
+ task :install do
72
+ name = "#{NAME}-#{VERS}.gem"
73
+ sh %{rake package}
74
+ sh %{sudo gem install pkg/#{name}}
75
+ end
76
+
77
+ task :uninstall => [:clean] do
78
+ sh %{sudo gem uninstall #{NAME}}
79
+ end
@@ -0,0 +1,9 @@
1
+ module MapByMethod #:nodoc:
2
+ module VERSION #:nodoc:
3
+ MAJOR = 0
4
+ MINOR = 1
5
+ TINY = 0
6
+
7
+ STRING = [MAJOR, MINOR, TINY].join('.')
8
+ end
9
+ end
@@ -0,0 +1,34 @@
1
+ module MapByMethod
2
+ def self.included(base)
3
+ super
4
+
5
+ base.module_eval <<-EOS
6
+ def method_missing(method, *args, &block)
7
+ super
8
+ rescue NoMethodError
9
+ error = $!
10
+ begin
11
+ re = /(map|collect|select|each|reject)_([\\w\\_]+\\??)/
12
+ if (match = method.to_s.match(re))
13
+ iterator, callmethod = match[1..2]
14
+ return self.send(iterator) {|item| item.send callmethod}
15
+ end
16
+ return self.map {|item| item.send method.to_s.singularize.to_sym}
17
+ rescue NoMethodError
18
+ nil
19
+ end
20
+ raise error
21
+ end
22
+ EOS
23
+ end
24
+ end
25
+
26
+ unless String.instance_methods.include? "singularize"
27
+ class String
28
+ def singularize
29
+ self.gsub(/e?s\Z/,'')
30
+ end
31
+ end
32
+ end
33
+
34
+ Array.send :include, MapByMethod
data/test/all_tests.rb ADDED
@@ -0,0 +1 @@
1
+ Dir['**/*_test.rb'].each { |test_case| require test_case }
@@ -0,0 +1,2 @@
1
+ require 'test/unit'
2
+ require File.dirname(__FILE__) + '/../lib/map_by_method'
metadata ADDED
@@ -0,0 +1,63 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.8.11
3
+ specification_version: 1
4
+ name: map_by_method
5
+ version: !ruby/object:Gem::Version
6
+ version: 0.1.0
7
+ date: 2006-10-10 00:00:00 +02:00
8
+ summary: description of gem
9
+ require_paths:
10
+ - lib
11
+ email: your contact email for bug fixes and info
12
+ homepage: http://map_by_method.rubyforge.org
13
+ rubyforge_project:
14
+ description: description of gem
15
+ autorequire:
16
+ default_executable:
17
+ bindir: bin
18
+ has_rdoc: true
19
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ requirements:
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
24
+ version:
25
+ platform: ruby
26
+ signing_key:
27
+ cert_chain:
28
+ authors:
29
+ - you
30
+ files:
31
+ - README
32
+ - CHANGELOG
33
+ - Rakefile
34
+ - test/all_tests.rb
35
+ - test/test_helper.rb
36
+ - lib/map_by_method.rb
37
+ - lib/map_by_method
38
+ - lib/map_by_method/version.rb
39
+ test_files: []
40
+
41
+ rdoc_options:
42
+ - --quiet
43
+ - --title
44
+ - map_by_method documentation
45
+ - --opname
46
+ - index.html
47
+ - --line-numbers
48
+ - --main
49
+ - README
50
+ - --inline-source
51
+ - --exclude
52
+ - ^(examples|extras)/
53
+ extra_rdoc_files:
54
+ - README
55
+ - CHANGELOG
56
+ executables: []
57
+
58
+ extensions: []
59
+
60
+ requirements: []
61
+
62
+ dependencies: []
63
+