map_by_method 0.1.0

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/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
+