why_not 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +3 -0
- data/Rakefile +1 -6
- data/lib/why_not.rb +8 -0
- data/spec/why_not_spec.rb +16 -0
- metadata +5 -5
data/README.rdoc
CHANGED
data/Rakefile
CHANGED
@@ -13,7 +13,7 @@ spec = Gem::Specification.new do |s|
|
|
13
13
|
s.description = 'not_empty?, not_blank?, not_defined? ... why not? This is Ruby, come on.'
|
14
14
|
s.summary = 'Comprehensive negation for all Ruby predicate methods.'
|
15
15
|
|
16
|
-
s.add_dependency('meta_programming', '>= 0.0.
|
16
|
+
s.add_dependency('meta_programming', '>= 0.0.6')
|
17
17
|
|
18
18
|
exclude_folders = '' # 'spec/rails/{doc,lib,log,nbproject,tmp,vendor,test}'
|
19
19
|
exclude_files = [] # FileList['**/*.log'] + FileList[exclude_folders+'/**/*'] + FileList[exclude_folders]
|
@@ -49,11 +49,6 @@ Rake::RDocTask.new(:rdoc) do |rdoc|
|
|
49
49
|
rdoc.rdoc_files.include('README.rdoc', 'LICENSE', 'lib/**/*.rb')
|
50
50
|
end
|
51
51
|
|
52
|
-
desc 'Clean up gem build.'
|
53
|
-
task :clean do
|
54
|
-
FileUtils.rm_f Dir.glob('*.gem')
|
55
|
-
end
|
56
|
-
|
57
52
|
desc 'Generate a gemspec file.'
|
58
53
|
task :gemspec do
|
59
54
|
File.open("#{spec.name}.gemspec", 'w') do |f|
|
data/lib/why_not.rb
CHANGED
@@ -6,6 +6,14 @@ class Object
|
|
6
6
|
regular_method = $1.to_sym
|
7
7
|
!object.__send__(regular_method, *args)
|
8
8
|
end
|
9
|
+
define_ghost_method(/^is(nt|_not)_.+\?$/) do |object, symbol, *args|
|
10
|
+
(method = symbol.to_s) =~ /^is(nt|_not)_/
|
11
|
+
regular_method = case $1
|
12
|
+
when 'nt' then method.gsub(/^isnt_/, 'is_').to_sym
|
13
|
+
when '_not' then method.gsub(/^is_not_/, 'is_').to_sym
|
14
|
+
end
|
15
|
+
!object.__send__(regular_method, *args)
|
16
|
+
end
|
9
17
|
end
|
10
18
|
|
11
19
|
|
data/spec/why_not_spec.rb
CHANGED
@@ -2,6 +2,22 @@ require 'spec_helper'
|
|
2
2
|
require 'lib/why_not'
|
3
3
|
|
4
4
|
describe "WhyNot" do
|
5
|
+
describe "/^is(nt|_not)_.+\?$/ method" do
|
6
|
+
it "should work for isnt_a? method" do
|
7
|
+
[].isnt_a?(Array).should be_false
|
8
|
+
[].isnt_a?(String).should be_true
|
9
|
+
end
|
10
|
+
it "should work for is_not_a? method" do
|
11
|
+
[].is_not_a?(Array).should be_false
|
12
|
+
[].is_not_a?(String).should be_true
|
13
|
+
end
|
14
|
+
it "should raise error for is_not_azzz?" do
|
15
|
+
lambda { [].is_not_azzz?(Array) }.should raise_exception(NoMethodError)
|
16
|
+
end
|
17
|
+
it "should raise error for isnt_azzz?" do
|
18
|
+
lambda { [].isnt_azzz?(Array) }.should raise_exception(NoMethodError)
|
19
|
+
end
|
20
|
+
end
|
5
21
|
describe "/^not_.*\?$/ method" do
|
6
22
|
it "should work for empty? method on arrays" do
|
7
23
|
array = []
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 3
|
9
|
+
version: 0.0.3
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Jeff Patmon
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-05-01 00:00:00 -07:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -27,8 +27,8 @@ dependencies:
|
|
27
27
|
segments:
|
28
28
|
- 0
|
29
29
|
- 0
|
30
|
-
-
|
31
|
-
version: 0.0.
|
30
|
+
- 6
|
31
|
+
version: 0.0.6
|
32
32
|
type: :runtime
|
33
33
|
version_requirements: *id001
|
34
34
|
description: not_empty?, not_blank?, not_defined? ... why not? This is Ruby, come on.
|