facade 1.0.3 → 1.0.4

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/CHANGES CHANGED
@@ -1,3 +1,6 @@
1
+ == 1.0.4 - 3-Aug-2009
2
+ * Fixed a symbol vs string issue for Ruby 1.9.x.
3
+
1
4
  == 1.0.3 - 21-Jul-2009
2
5
  * License changed to Artistic 2.0.
3
6
  * Documentation updates.
data/README CHANGED
@@ -4,7 +4,7 @@
4
4
  methods of the current class.
5
5
 
6
6
  == Prerequisites
7
- Ruby 1.8.0 or later
7
+ Ruby 1.8.2 or later
8
8
 
9
9
  == Installation
10
10
  rake test
@@ -27,7 +27,6 @@
27
27
 
28
28
  == Copyright
29
29
  Copyright (c) 2005-2009 Daniel J. Berger
30
- Licensed under the same terms as Ruby itself.
31
30
 
32
31
  == License
33
32
  Artistic 2.0
@@ -39,5 +38,3 @@
39
38
 
40
39
  == Author
41
40
  Daniel J. Berger
42
- djberg96 at nospam at gmail dot com
43
- imperator on IRC (freenode)
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
 
3
3
  spec = Gem::Specification.new do |gem|
4
4
  gem.name = 'facade'
5
- gem.version = '1.0.3'
5
+ gem.version = '1.0.4'
6
6
  gem.author = 'Daniel J. Berger'
7
7
  gem.license = 'Artistic 2.0'
8
8
  gem.email = 'djberg96@gmail.com'
@@ -22,5 +22,4 @@ spec = Gem::Specification.new do |gem|
22
22
  EOF
23
23
  end
24
24
 
25
- Gem.manage_gems if Gem::RubyGemsVersion.to_f < 1.0
26
25
  Gem::Builder.new(spec).build
@@ -1,5 +1,6 @@
1
1
  module Facade
2
- FACADE_VERSION = '1.0.3'
2
+ # The version of the facade library
3
+ FACADE_VERSION = '1.0.4'
3
4
 
4
5
  # The facade method will forward a singleton method as an instance
5
6
  # method of the extending class. If no arguments are provided, then all
@@ -9,16 +10,16 @@ module Facade
9
10
  #
10
11
  # Example:
11
12
  #
12
- # require 'facade'
13
+ # require 'facade'
13
14
  #
14
- # class MyString < String
15
- # extend Facade
16
- # facade File, :dirname, :basename
17
- # end
15
+ # class MyString < String
16
+ # extend Facade
17
+ # facade File, :dirname, :basename
18
+ # end
18
19
  #
19
- # s = MyString.new('/home/djberge')
20
- # s.basename # => 'djberge'
21
- # s.dirname # => '/home'
20
+ # s = MyString.new('/home/djberge')
21
+ # s.basename # => 'djberge'
22
+ # s.dirname # => '/home'
22
23
  #
23
24
  def facade(klass, *methods)
24
25
  methods = methods.flatten
@@ -31,11 +32,11 @@ module Facade
31
32
  end
32
33
  end
33
34
 
34
- methods.collect!{ |m| m.to_s } # Symbols or strings
35
- methods -= self.instance_methods # No clobber
35
+ # Convert all strings to symbols to stay sane between 1.8.x and 1.9.x
36
+ methods = methods.map{ |m| m.to_sym }
37
+ methods -= self.instance_methods.map{ |m| m.to_sym } # No clobber
36
38
 
37
39
  methods.each do |methname|
38
- methname = methname.to_sym
39
40
  define_method(methname){
40
41
  if klass.kind_of?(Class)
41
42
  meth = klass.method(methname)
@@ -30,7 +30,7 @@ class TC_Facade < Test::Unit::TestCase
30
30
  end
31
31
 
32
32
  def test_facade_version
33
- assert_equal('1.0.3', Facade::FACADE_VERSION)
33
+ assert_equal('1.0.4', Facade::FACADE_VERSION)
34
34
  end
35
35
 
36
36
  def test_file_methods
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: facade
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel J. Berger
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-07-21 00:00:00 -06:00
12
+ date: 2009-08-03 00:00:00 -06:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -55,7 +55,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
55
55
  requirements: []
56
56
 
57
57
  rubyforge_project: shards
58
- rubygems_version: 1.3.4
58
+ rubygems_version: 1.3.5
59
59
  signing_key:
60
60
  specification_version: 3
61
61
  summary: An easy way to implement the facade pattern in your class