rujitsu 0.2.5 → 0.3

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ = Version 0.3 (2009-11-30)
2
+
3
+ Added Object#in? to test for inclusion within a container (easier to use syntax than Array#include?)
4
+
1
5
  = Version 0.2.5 (2009-04-08)
2
6
 
3
7
  Adding a few debugging methods in rujitsu/inspect
data/Manifest CHANGED
@@ -8,11 +8,12 @@ lib/rujitsu/fixnum.rb
8
8
  lib/rujitsu/grammar.rb
9
9
  lib/rujitsu/inspect.rb
10
10
  lib/rujitsu/numeric.rb
11
+ lib/rujitsu/object.rb
11
12
  lib/rujitsu/range.rb
12
13
  lib/rujitsu/string.rb
13
- rujitsu.gemspec
14
14
  spec/fixnum_spec.rb
15
15
  spec/numeric_spec.rb
16
+ spec/object_spec.rb
16
17
  spec/range_spec.rb
17
18
  spec/spec.opts
18
19
  spec/spec_helper.rb
data/README.rdoc CHANGED
@@ -49,6 +49,16 @@ The String class has an extension that strips out URL-unfriendly characters.
49
49
  The String class has an extension that truncates it to a customisable length with a customisable suffix.
50
50
 
51
51
  "this is a string".truncate(:length => 15) # => "this is a st..."
52
+
53
+ === Testing for inclusion within a container
54
+
55
+ As Rubyists we are all familiar with using include? to test if our variable is one of a number of values.
56
+
57
+ if ['hello', 'world'].include?(@my_value) ...
58
+
59
+ However, it doesn't read correctly. Rujitsu allows you to write the following as it reads much more like English.
60
+
61
+ if @my_value.in? ['hello', 'world'] ...
52
62
 
53
63
  === Grammar
54
64
 
data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'echoe'
4
4
 
5
- Echoe.new('rujitsu', '0.2.5') do | config |
5
+ Echoe.new('rujitsu', '0.3') do | config |
6
6
  config.description = 'Various helper methods to smooth over Ruby development'
7
7
  config.url = 'http://github.com/rahoub/rujitsu'
8
8
  config.author = 'Brightbox Systems Ltd'
data/lib/rujitsu.rb CHANGED
@@ -3,3 +3,4 @@ require base_dir + '/rujitsu/fixnum'
3
3
  require base_dir + '/rujitsu/numeric'
4
4
  require base_dir + '/rujitsu/range'
5
5
  require base_dir + '/rujitsu/string'
6
+ require base_dir + '/rujitsu/object'
@@ -0,0 +1,7 @@
1
+ class Object
2
+ # return true if this object is within the given container
3
+ # if the supplied container does not respond to include? then an equality test is used instead
4
+ def in? container
5
+ container.respond_to?(:include?) ? container.include?(self) : container == self
6
+ end
7
+ end
data/rujitsu.gemspec CHANGED
@@ -2,15 +2,15 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{rujitsu}
5
- s.version = "0.2.5"
5
+ s.version = "0.3"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Brightbox Systems Ltd"]
9
- s.date = %q{2009-11-10}
9
+ s.date = %q{2009-11-30}
10
10
  s.description = %q{Various helper methods to smooth over Ruby development}
11
11
  s.email = %q{hello@brightbox.co.uk}
12
- s.extra_rdoc_files = ["CHANGELOG", "README.rdoc", "lib/rujitsu.rb", "lib/rujitsu/all.rb", "lib/rujitsu/fixnum.rb", "lib/rujitsu/grammar.rb", "lib/rujitsu/inspect.rb", "lib/rujitsu/numeric.rb", "lib/rujitsu/range.rb", "lib/rujitsu/string.rb", "tasks/rspec.rake"]
13
- s.files = ["CHANGELOG", "Manifest", "README.rdoc", "Rakefile", "lib/rujitsu.rb", "lib/rujitsu/all.rb", "lib/rujitsu/fixnum.rb", "lib/rujitsu/grammar.rb", "lib/rujitsu/inspect.rb", "lib/rujitsu/numeric.rb", "lib/rujitsu/range.rb", "lib/rujitsu/string.rb", "rujitsu.gemspec", "spec/fixnum_spec.rb", "spec/numeric_spec.rb", "spec/range_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "spec/string_spec.rb", "tasks/rspec.rake"]
12
+ s.extra_rdoc_files = ["CHANGELOG", "README.rdoc", "lib/rujitsu.rb", "lib/rujitsu/all.rb", "lib/rujitsu/fixnum.rb", "lib/rujitsu/grammar.rb", "lib/rujitsu/inspect.rb", "lib/rujitsu/numeric.rb", "lib/rujitsu/object.rb", "lib/rujitsu/range.rb", "lib/rujitsu/string.rb", "tasks/rspec.rake"]
13
+ s.files = ["CHANGELOG", "Manifest", "README.rdoc", "Rakefile", "lib/rujitsu.rb", "lib/rujitsu/all.rb", "lib/rujitsu/fixnum.rb", "lib/rujitsu/grammar.rb", "lib/rujitsu/inspect.rb", "lib/rujitsu/numeric.rb", "lib/rujitsu/object.rb", "lib/rujitsu/range.rb", "lib/rujitsu/string.rb", "spec/fixnum_spec.rb", "spec/numeric_spec.rb", "spec/object_spec.rb", "spec/range_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "spec/string_spec.rb", "tasks/rspec.rake", "rujitsu.gemspec"]
14
14
  s.homepage = %q{http://github.com/rahoub/rujitsu}
15
15
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Rujitsu", "--main", "README.rdoc"]
16
16
  s.require_paths = ["lib"]
@@ -0,0 +1,27 @@
1
+ require File.join(File.dirname(__FILE__) + "/spec_helper")
2
+
3
+ describe Object do
4
+ describe "testing membership of a container" do
5
+ it "should report whether it is in an array of objects" do
6
+ @object = Object.new
7
+ @positive = [@object, Object.new, Object.new]
8
+ @negative = [Object.new, Object.new, Object.new]
9
+
10
+ @object.in?(@positive).should be_true
11
+ @object.in?(@negative).should be_false
12
+ end
13
+
14
+ it "should report whether it is equal if given a non-container" do
15
+ @object = Object.new
16
+ @another = Object.new
17
+
18
+ @object.in?(@object).should be_true
19
+ @object.in?(@another).should be_false
20
+ end
21
+
22
+ it "should not be a member of nil" do
23
+ @object = Object.new
24
+ @object.in?(nil).should be_false
25
+ end
26
+ end
27
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rujitsu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: "0.3"
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brightbox Systems Ltd
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-10 00:00:00 +00:00
12
+ date: 2009-11-30 00:00:00 +00:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -28,6 +28,7 @@ extra_rdoc_files:
28
28
  - lib/rujitsu/grammar.rb
29
29
  - lib/rujitsu/inspect.rb
30
30
  - lib/rujitsu/numeric.rb
31
+ - lib/rujitsu/object.rb
31
32
  - lib/rujitsu/range.rb
32
33
  - lib/rujitsu/string.rb
33
34
  - tasks/rspec.rake
@@ -42,16 +43,18 @@ files:
42
43
  - lib/rujitsu/grammar.rb
43
44
  - lib/rujitsu/inspect.rb
44
45
  - lib/rujitsu/numeric.rb
46
+ - lib/rujitsu/object.rb
45
47
  - lib/rujitsu/range.rb
46
48
  - lib/rujitsu/string.rb
47
- - rujitsu.gemspec
48
49
  - spec/fixnum_spec.rb
49
50
  - spec/numeric_spec.rb
51
+ - spec/object_spec.rb
50
52
  - spec/range_spec.rb
51
53
  - spec/spec.opts
52
54
  - spec/spec_helper.rb
53
55
  - spec/string_spec.rb
54
56
  - tasks/rspec.rake
57
+ - rujitsu.gemspec
55
58
  has_rdoc: true
56
59
  homepage: http://github.com/rahoub/rujitsu
57
60
  licenses: []