routable 0.0.2 → 0.0.3

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.
@@ -179,8 +179,10 @@ module Routable
179
179
  if open_options[:shared]
180
180
  shared_vc_cache[url] = controller
181
181
  # when controller.viewDidUnload called, remove from cache.
182
- controller.add_block_method :new_dealloc do
183
- shared_vc_cache.delete url
182
+ controller.class.class_eval do
183
+ define_method(:new_dealloc) do
184
+ shared_vc_cache.delete url
185
+ end
184
186
  end
185
187
  controller.instance_eval do
186
188
  def viewDidUnload
@@ -1,3 +1,3 @@
1
1
  module Routable
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,28 +1,23 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: routable
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
4
5
  prerelease:
5
- version: 0.0.2
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Clay Allsopp
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2012-06-09 00:00:00 Z
12
+ date: 2012-10-10 00:00:00.000000000 Z
14
13
  dependencies: []
15
-
16
14
  description: A RubyMotion UIViewController -> URL router
17
- email:
15
+ email:
18
16
  - clay.allsopp@gmail.com
19
17
  executables: []
20
-
21
18
  extensions: []
22
-
23
19
  extra_rdoc_files: []
24
-
25
- files:
20
+ files:
26
21
  - .gitignore
27
22
  - Gemfile
28
23
  - README.md
@@ -30,38 +25,32 @@ files:
30
25
  - Routable.gemspec
31
26
  - app/app_delegate.rb
32
27
  - lib/routable.rb
33
- - lib/routable/ns_object.rb
34
28
  - lib/routable/router.rb
35
29
  - lib/routable/version.rb
36
30
  - spec/main_spec.rb
37
- - spec/ns_object_spec.rb
38
31
  homepage: https://github.com/clayallsopp/Routable
39
32
  licenses: []
40
-
41
33
  post_install_message:
42
34
  rdoc_options: []
43
-
44
- require_paths:
35
+ require_paths:
45
36
  - lib
46
- required_ruby_version: !ruby/object:Gem::Requirement
37
+ required_ruby_version: !ruby/object:Gem::Requirement
47
38
  none: false
48
- requirements:
49
- - - ">="
50
- - !ruby/object:Gem::Version
51
- version: "0"
52
- required_rubygems_version: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ! '>='
41
+ - !ruby/object:Gem::Version
42
+ version: '0'
43
+ required_rubygems_version: !ruby/object:Gem::Requirement
53
44
  none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- version: "0"
45
+ requirements:
46
+ - - ! '>='
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
58
49
  requirements: []
59
-
60
50
  rubyforge_project:
61
- rubygems_version: 1.8.21
51
+ rubygems_version: 1.8.23
62
52
  signing_key:
63
53
  specification_version: 3
64
54
  summary: A RubyMotion UIViewController -> URL router
65
- test_files:
55
+ test_files:
66
56
  - spec/main_spec.rb
67
- - spec/ns_object_spec.rb
@@ -1,23 +0,0 @@
1
- class NSObject
2
- def add_block_method(sym, &block)
3
- block_methods[sym] = block
4
- nil
5
- end
6
-
7
- def method_missing(sym, *args, &block)
8
- if block_methods.keys.member? sym
9
- return block_methods[sym].call(*args, &block)
10
- end
11
- raise NoMethodError.new("undefined method `#{sym}' for " + "#{self.inspect}:#{self.class.name}")
12
- end
13
-
14
- def methods
15
- methods = super
16
- methods + block_methods.keys
17
- end
18
-
19
- private
20
- def block_methods
21
- @block_methods ||= {}
22
- end
23
- end
@@ -1,21 +0,0 @@
1
- describe "the ns object hack router" do
2
- it "alias method trick works" do
3
- object = "hello"
4
- side_effect = false
5
-
6
- object.add_block_method :new_upcase! do
7
- side_effect = true
8
- end
9
-
10
- object.instance_eval do
11
- def upcase!
12
- new_upcase!
13
- super
14
- end
15
- end
16
-
17
- object.upcase!
18
- side_effect.should == true
19
- object.should == "HELLO"
20
- end
21
- end