Resourcified repositories for CRUD operations to prepare for multiple SCM per project (#779).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8648 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2012-01-15 14:23:06 +00:00
parent 6f462d373f
commit fb1a2fd7cd
68 changed files with 393 additions and 227 deletions
+20
View File
@@ -48,6 +48,26 @@ class Repository < ActiveRecord::Base
super(attr_name, *args)
end
alias :attributes_without_extra_info= :attributes=
def attributes=(new_attributes, guard_protected_attributes = true)
return if new_attributes.nil?
attributes = new_attributes.dup
attributes.stringify_keys!
p = {}
p_extra = {}
attributes.each do |k, v|
if k =~ /^extra_/
p_extra[k] = v
else
p[k] = v
end
end
send :attributes_without_extra_info=, p, guard_protected_attributes
merge_extra_info(p_extra)
end
# Removes leading and trailing whitespace
def url=(arg)
write_attribute(:url, arg ? arg.to_s.strip : nil)