提交 f2c0725d 编写于 作者: E Emilio Tagua

Revert "Add readonly support for relations."

This reverts commit 7cce95b2.
上级 7cce95b2
......@@ -1722,7 +1722,7 @@ def default_select(qualified)
def construct_finder_arel(options = {}, scope = scope(:find))
# TODO add lock to Arel
relation = arel_table(options[:from]).
arel_table(options[:from]).
joins(construct_join(options[:joins], scope)).
conditions(construct_conditions(options[:conditions], scope)).
select(options[:select] || (scope && scope[:select]) || default_select(options[:joins] || (scope && scope[:joins]))).
......@@ -1730,11 +1730,6 @@ def construct_finder_arel(options = {}, scope = scope(:find))
order(construct_order(options[:order], scope)).
limit(construct_limit(options[:limit], scope)).
offset(construct_offset(options[:offset], scope))
relation = relation.readonly if options[:readonly]
relation
end
def construct_finder_sql(options, scope = scope(:find))
......
......@@ -5,20 +5,10 @@ class Relation
def initialize(klass, relation)
@klass, @relation = klass, relation
@readonly = false
end
def readonly
@readonly = true
self
end
def to_a
records = @klass.find_by_sql(@relation.to_sql)
records.each { |record| record.readonly! } if @readonly
records
@klass.find_by_sql(@relation.to_sql)
end
def each(&block)
......
......@@ -79,11 +79,5 @@ def test_relation_responds_to_delegated_methods
assert relation.respond_to?(method)
end
end
def test_find_with_readonly_option
Developer.all.each { |d| assert !d.readonly? }
Developer.all.readonly.each { |d| assert d.readonly? }
Developer.all(:readonly => true).each { |d| assert d.readonly? }
end
end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册