irregular_method 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -23,7 +23,7 @@ The purpose of irregular_method is to allow methods with regular expression name
23
23
 
24
24
  All reg_def methods are passed back the MatchData and the arguments passed to the call. For instance, let's say we have this class:
25
25
 
26
- class Layer < ActiveRecord::Base
26
+ class Layer
27
27
 
28
28
  cattr_accessor :layers
29
29
  attr_accessible :index
@@ -63,8 +63,9 @@ You may have noticed that you can pass an array to to the reg_def. It will check
63
63
  ---
64
64
 
65
65
  == Important Things (not from Demetri Martin)
66
+ * irregular_method can be used on ANY ruby object.
66
67
 
67
- The reference to 'self' IS a reference to the instance of the class. Normally, it would be a reference to the class since it's being evaluated as a class method, but there's a workaround. In any case, using self to reference the instance of the class you're working with is absolutely correct.
68
+ * The reference to 'self' IS a reference to the instance of the class. Normally, it would be a reference to the class since it's being evaluated as a class method, but there's a workaround. In any case, using self to reference the instance of the class you're working with is absolutely correct.
68
69
 
69
70
  == Copyright
70
71
 
data/Rakefile CHANGED
@@ -6,7 +6,7 @@ begin
6
6
  Jeweler::Tasks.new do |gem|
7
7
  gem.name = "irregular_method"
8
8
  gem.summary = "Method missing is messy. Fix it by defining regular expression methods."
9
- gem.description = "Writing a bunch of case statements to handle regular expressions in method missing is just plain annoying. I suggest they get separated out and defined as their own methods. Well... ruby doesn't really let that happen, but there is an alternative."
9
+ gem.description = "Writing a bunch of case statements to handle regular expressions in method missing is just plain annoying. I suggest they get separated out and defined as their own methods. Well... ruby doesn't really let that happen, so this is the alternative."
10
10
  gem.email = "mdnelson30@gmail.com"
11
11
  gem.homepage = "http://github.com/mnelson/irregular_method"
12
12
  gem.authors = ["Mike Nelson"]
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
@@ -5,12 +5,12 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{irregular_method}
8
- s.version = "0.1.1"
8
+ s.version = "0.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Mike Nelson"]
12
- s.date = %q{2010-02-18}
13
- s.description = %q{Writing a bunch of case statements to handle regular expressions in method missing is just plain annoying. I suggest they get separated out and defined as their own methods. Well... ruby doesn't really let that happen, but there is an alternative.}
12
+ s.date = %q{2010-02-20}
13
+ s.description = %q{Writing a bunch of case statements to handle regular expressions in method missing is just plain annoying. I suggest they get separated out and defined as their own methods. Well... ruby doesn't really let that happen, so this is the alternative.}
14
14
  s.email = %q{mdnelson30@gmail.com}
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE",
@@ -27,6 +27,7 @@ Gem::Specification.new do |s|
27
27
  "lib/irregular_method.rb",
28
28
  "spec/irregular_method_spec.rb",
29
29
  "spec/models/method_missing.rb",
30
+ "spec/models/plain_object.rb",
30
31
  "spec/models/user.rb",
31
32
  "spec/schema.rb",
32
33
  "spec/spec.opts",
@@ -40,6 +41,7 @@ Gem::Specification.new do |s|
40
41
  s.test_files = [
41
42
  "spec/irregular_method_spec.rb",
42
43
  "spec/models/method_missing.rb",
44
+ "spec/models/plain_object.rb",
43
45
  "spec/models/user.rb",
44
46
  "spec/schema.rb",
45
47
  "spec/spec_helper.rb"
@@ -60,4 +60,4 @@ module Irregular
60
60
  end
61
61
  end
62
62
 
63
- ::ActiveRecord::Base.send :include, ::Irregular::Method
63
+ ::Object.send :include, ::Irregular::Method
@@ -1,7 +1,13 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
3
  describe "IrregularMethod" do
4
- it "should implement and bind reg_def properly" do
4
+
5
+ it "should integrate with plain objects" do
6
+ p = PlainObject.new
7
+ p.important_really_awesome_things.should eql("Plain Object's say things like: really_awesome_things")
8
+ end
9
+
10
+ it "should implement and bind reg_def properly" do
5
11
  mm = MethodMissing.create(:name => 'mm1')
6
12
  MethodMissing.irregular_methods.size.should eql(4)
7
13
 
@@ -20,4 +26,5 @@ describe "IrregularMethod" do
20
26
  u.method_missing.nothing_test.should eql('mm2 found: nothing')
21
27
 
22
28
  end
29
+
23
30
  end
@@ -0,0 +1,11 @@
1
+ class PlainObject
2
+
3
+ reg_def(/^important_(.+)$/) do |match, args|
4
+ self.say_it(match[1])
5
+ end
6
+
7
+ def say_it(text)
8
+ "Plain Object's say things like: #{text}"
9
+ end
10
+
11
+ end
data/spec/schema.rb CHANGED
@@ -5,7 +5,7 @@ ActiveRecord::Schema.define :version => 0 do
5
5
  t.timestamps
6
6
  end
7
7
 
8
- create_table :user, :force => true do |t|
8
+ create_table :users, :force => true do |t|
9
9
  t.string :name
10
10
  t.integer :method_missing_id
11
11
  t.timestamps
data/spec/spec_helper.rb CHANGED
@@ -7,6 +7,7 @@ require 'spec'
7
7
  require 'spec/autorun'
8
8
  require 'models/method_missing'
9
9
  require 'models/user'
10
+ require 'models/plain_object'
10
11
 
11
12
  ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + '/debug.log')
12
13
  ActiveRecord::Base.configurations = YAML::load(IO.read(File.dirname(__FILE__) + '/database.yml'))
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: irregular_method
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Nelson
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-02-18 00:00:00 -05:00
12
+ date: 2010-02-20 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -22,7 +22,7 @@ dependencies:
22
22
  - !ruby/object:Gem::Version
23
23
  version: 1.2.9
24
24
  version:
25
- description: Writing a bunch of case statements to handle regular expressions in method missing is just plain annoying. I suggest they get separated out and defined as their own methods. Well... ruby doesn't really let that happen, but there is an alternative.
25
+ description: Writing a bunch of case statements to handle regular expressions in method missing is just plain annoying. I suggest they get separated out and defined as their own methods. Well... ruby doesn't really let that happen, so this is the alternative.
26
26
  email: mdnelson30@gmail.com
27
27
  executables: []
28
28
 
@@ -42,6 +42,7 @@ files:
42
42
  - lib/irregular_method.rb
43
43
  - spec/irregular_method_spec.rb
44
44
  - spec/models/method_missing.rb
45
+ - spec/models/plain_object.rb
45
46
  - spec/models/user.rb
46
47
  - spec/schema.rb
47
48
  - spec/spec.opts
@@ -77,6 +78,7 @@ summary: Method missing is messy. Fix it by defining regular expression methods.
77
78
  test_files:
78
79
  - spec/irregular_method_spec.rb
79
80
  - spec/models/method_missing.rb
81
+ - spec/models/plain_object.rb
80
82
  - spec/models/user.rb
81
83
  - spec/schema.rb
82
84
  - spec/spec_helper.rb