simple_nested_set 0.0.25 → 0.0.26
Sign up to get free protection for your applications and to get access to all the features.
@@ -71,7 +71,7 @@ module SimpleNestedSet
|
|
71
71
|
nested_set_class.move_after_save = false
|
72
72
|
self.transaction do
|
73
73
|
yield self
|
74
|
-
# nested_set_class.new(self).rebuild_by_parents!
|
74
|
+
# nested_set_class.new(self).rebuild_by_parents!(sort_order)
|
75
75
|
Rebuild::FromParents.new.run(self, sort_order)
|
76
76
|
end
|
77
77
|
ensure
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'gem_patching'
|
2
2
|
|
3
|
-
|
3
|
+
case Arel::VERSION
|
4
|
+
when '1.0.1'
|
4
5
|
Gem.patching('arel', '1.0.1') do
|
5
6
|
# Arel 1.0.0.rc1 Arel::Table#initialize and #table_exists? does not support
|
6
7
|
# instantiating an Arel::Table before the database table has been created.
|
@@ -66,10 +67,10 @@ if Arel::VERSION == '1.0.1'
|
|
66
67
|
end
|
67
68
|
end
|
68
69
|
end
|
69
|
-
|
70
|
+
when '2.0.4'
|
70
71
|
Gem.patching('arel', '2.0.4') do
|
71
72
|
Arel::Table.class_eval do
|
72
|
-
attr_reader :options
|
73
|
+
attr_reader :options # this line is added
|
73
74
|
|
74
75
|
def initialize name, engine = Arel::Table.engine
|
75
76
|
@name = name.to_s
|
@@ -80,7 +81,7 @@ else
|
|
80
81
|
@primary_key = nil
|
81
82
|
|
82
83
|
if Hash === engine
|
83
|
-
@options = engine
|
84
|
+
@options = engine # this line is added
|
84
85
|
@engine = engine[:engine] || Arel::Table.engine
|
85
86
|
@columns = attributes_for engine[:columns]
|
86
87
|
|
@@ -91,6 +92,42 @@ else
|
|
91
92
|
end
|
92
93
|
end
|
93
94
|
|
95
|
+
# this whole method is added
|
96
|
+
def as(table_alias)
|
97
|
+
@options ||= {}
|
98
|
+
Arel::Table.new(name, options.merge(:as => table_alias))
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
else # include the latest patch here, if any
|
103
|
+
# this patch is equivalent to the 2.0.4 one, it is only listed here, because
|
104
|
+
# it is the latest version. The when-statements should be merge, once a new
|
105
|
+
# version comes
|
106
|
+
Gem.patching('arel', '2.0.5') do
|
107
|
+
Arel::Table.class_eval do
|
108
|
+
attr_reader :options # this line is added
|
109
|
+
|
110
|
+
def initialize name, engine = Arel::Table.engine
|
111
|
+
@name = name.to_s
|
112
|
+
@engine = engine
|
113
|
+
@columns = nil
|
114
|
+
@aliases = []
|
115
|
+
@table_alias = nil
|
116
|
+
@primary_key = nil
|
117
|
+
|
118
|
+
if Hash === engine
|
119
|
+
@options = engine # this line is added
|
120
|
+
@engine = engine[:engine] || Arel::Table.engine
|
121
|
+
@columns = attributes_for engine[:columns]
|
122
|
+
|
123
|
+
# Sometime AR sends an :as parameter to table, to let the table know
|
124
|
+
# that it is an Alias. We may want to override new, and return a
|
125
|
+
# TableAlias node?
|
126
|
+
@table_alias = engine[:as] unless engine[:as].to_s == @name
|
127
|
+
end
|
128
|
+
end
|
129
|
+
|
130
|
+
# this whole method is added
|
94
131
|
def as(table_alias)
|
95
132
|
@options ||= {}
|
96
133
|
Arel::Table.new(name, options.merge(:as => table_alias))
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_nested_set
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 43
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 26
|
10
|
+
version: 0.0.26
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Sven Fuchs
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-12-01 00:00:00 +01:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|