autolink 1.0.0 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/autolink.gemspec +1 -1
- data/lib/autolink/action_controller_extensions.rb +18 -19
- data/lib/autolink/action_view_extensions.rb +6 -10
- data/lib/autolink/rspec.rb +29 -18
- metadata +4 -4
data/autolink.gemspec
CHANGED
@@ -1,26 +1,25 @@
|
|
1
|
-
module
|
2
|
-
|
1
|
+
module ActionDispatch
|
2
|
+
module Routing
|
3
|
+
module UrlFor
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
|
5
|
+
def autolink(obj) # +
|
6
|
+
polymorphic_url(obj.default_lineage) # +
|
7
|
+
end # +
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
else
|
20
|
-
polymorphic_url(options)
|
9
|
+
def url_for(options = nil)
|
10
|
+
case options
|
11
|
+
when ActiveRecord::Base # +
|
12
|
+
autolink(options) # +
|
13
|
+
when String
|
14
|
+
options
|
15
|
+
when nil, Hash
|
16
|
+
_routes.url_for((options || {}).reverse_merge!(url_options).symbolize_keys)
|
17
|
+
else
|
18
|
+
polymorphic_url(options)
|
19
|
+
end
|
21
20
|
end
|
22
|
-
end
|
23
21
|
|
22
|
+
end
|
24
23
|
end
|
25
24
|
end
|
26
25
|
|
@@ -1,28 +1,24 @@
|
|
1
1
|
module ActionView
|
2
2
|
module Helpers
|
3
3
|
module UrlHelper
|
4
|
+
|
4
5
|
def url_for(options = {})
|
5
6
|
options ||= {}
|
6
|
-
|
7
|
+
case options
|
7
8
|
when ActiveRecord::Base # This method is the same as 2.3.8,
|
8
9
|
polymorphic_path(options.default_lineage) # Except for the addition of these two lines.
|
9
10
|
when String
|
10
|
-
escape = true
|
11
11
|
options
|
12
12
|
when Hash
|
13
|
-
options =
|
14
|
-
|
15
|
-
@controller.send(:url_for, options)
|
13
|
+
options = options.symbolize_keys.reverse_merge!(:only_path => options[:host].nil?)
|
14
|
+
super
|
16
15
|
when :back
|
17
|
-
|
18
|
-
@controller.request.env["HTTP_REFERER"] || 'javascript:history.back()'
|
16
|
+
controller.request.env["HTTP_REFERER"] || 'javascript:history.back()'
|
19
17
|
else
|
20
|
-
escape = false
|
21
18
|
polymorphic_path(options)
|
22
19
|
end
|
23
|
-
|
24
|
-
escape ? escape_once(url).html_safe : url
|
25
20
|
end
|
21
|
+
|
26
22
|
end
|
27
23
|
end
|
28
24
|
end
|
data/lib/autolink/rspec.rb
CHANGED
@@ -1,3 +1,31 @@
|
|
1
|
+
# This is a really bad idea. There's a reason this isn't supported out of the box.
|
2
|
+
# ...but I don't want to refactor thousands of specs.
|
3
|
+
module Spec
|
4
|
+
module Mocks
|
5
|
+
class Mock
|
6
|
+
def antimock(*methods)
|
7
|
+
methods.each do |method|
|
8
|
+
__mock_proxy.instance_eval <<-CODE
|
9
|
+
def @target.#{method}
|
10
|
+
syms = __mock_proxy.instance_variable_get("@stubs").map(&:sym)
|
11
|
+
@__sub = #{self.class}.new
|
12
|
+
syms.each do |sym|
|
13
|
+
# Define this method to call the same method on @target.
|
14
|
+
that = self
|
15
|
+
(class << @__sub; self; end).send(:define_method, sym) do
|
16
|
+
that.send(sym)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
@__sub.#{method}
|
20
|
+
end
|
21
|
+
CODE
|
22
|
+
end
|
23
|
+
self
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
1
29
|
module Spec
|
2
30
|
module Rails
|
3
31
|
module Matchers
|
@@ -25,24 +53,7 @@ module Spec
|
|
25
53
|
module Mocks
|
26
54
|
|
27
55
|
def __post_mock_model(model_class, mock)
|
28
|
-
|
29
|
-
mock.__send__(:__mock_proxy).instance_eval <<-CODE
|
30
|
-
def @target.default_lineage
|
31
|
-
# self == @target
|
32
|
-
syms = __mock_proxy.instance_variable_get("@stubs").map(&:sym)
|
33
|
-
@__sub = #{model_class}.new
|
34
|
-
syms.each do |sym|
|
35
|
-
# Define this method to call the same method on @target.
|
36
|
-
that = self
|
37
|
-
(class << @__sub; self; end).send(:define_method, sym) do
|
38
|
-
that.send(sym)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
@__sub.default_lineage
|
42
|
-
end
|
43
|
-
CODE
|
44
|
-
|
45
|
-
mock
|
56
|
+
mock.antimock(:default_lineage)
|
46
57
|
end
|
47
58
|
|
48
59
|
alias __mock_model mock_model
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: autolink
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 7
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
|
-
-
|
7
|
+
- 3
|
8
8
|
- 0
|
9
9
|
- 0
|
10
|
-
version:
|
10
|
+
version: 3.0.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Burke Libbey
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-10-13 00:00:00 -05:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|