From: Tom Hughes Date: Thu, 5 Dec 2013 00:50:04 +0000 (+0000) Subject: Simplify a number of object model methods X-Git-Tag: live~4583 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/8c029f8d79d07384cffafb82d4b5979181bda8ad?hp=1f52e5227faa08c10f6d383c0dad65415c1f91df Simplify a number of object model methods --- diff --git a/app/models/node.rb b/app/models/node.rb index 9cac9839b..12ffa2091 100644 --- a/app/models/node.rb +++ b/app/models/node.rb @@ -196,13 +196,7 @@ class Node < ActiveRecord::Base end def tags - unless @tags - @tags = {} - self.node_tags.each do |tag| - @tags[tag.k] = tag.v - end - end - @tags + @tags ||= Hash[self.node_tags.collect { |t| [t.k, t.v] }] end def tags=(t) diff --git a/app/models/old_node.rb b/app/models/old_node.rb index 3a0ecc367..90304acae 100644 --- a/app/models/old_node.rb +++ b/app/models/old_node.rb @@ -80,14 +80,7 @@ class OldNode < ActiveRecord::Base end def tags - unless @tags - @tags = Hash.new - self.old_tags.each do |tag| - @tags[tag.k] = tag.v - end - end - @tags = Hash.new unless @tags - @tags + @tags ||= Hash[self.old_tags.collect { |t| [t.k, t.v] }] end def tags=(t) diff --git a/app/models/old_relation.rb b/app/models/old_relation.rb index 61c49eb59..dc89afa50 100644 --- a/app/models/old_relation.rb +++ b/app/models/old_relation.rb @@ -60,24 +60,13 @@ class OldRelation < ActiveRecord::Base end def members - unless @members - @members = Array.new - self.old_members.order(:sequence_id).each do |m| - @members += [[m.member_type,m.member_id,m.member_role]] - end + @members ||= self.old_members.collect do |member| + [member.member_type, member.member_id, member.member_role] end - @members end def tags - unless @tags - @tags = Hash.new - self.old_tags.each do |tag| - @tags[tag.k] = tag.v - end - end - @tags = Hash.new unless @tags - @tags + @tags ||= Hash[self.old_tags.collect { |t| [t.k, t.v] }] end def members=(s) diff --git a/app/models/old_way.rb b/app/models/old_way.rb index 408dd72c7..e5ba53852 100644 --- a/app/models/old_way.rb +++ b/app/models/old_way.rb @@ -65,24 +65,11 @@ class OldWay < ActiveRecord::Base end def nds - unless @nds - @nds = Array.new - self.old_nodes.order(:sequence_id).each do |nd| - @nds += [nd.node_id] - end - end - @nds + @nds ||= self.old_nodes.order(:sequence_id).collect { |n| n.node_id } end def tags - unless @tags - @tags = Hash.new - self.old_tags.each do |tag| - @tags[tag.k] = tag.v - end - end - @tags = Hash.new unless @tags - @tags + @tags ||= Hash[self.old_tags.collect { |t| [t.k, t.v] }] end def nds=(s) diff --git a/app/models/relation.rb b/app/models/relation.rb index 5207e98d8..4e4235049 100644 --- a/app/models/relation.rb +++ b/app/models/relation.rb @@ -147,13 +147,7 @@ class Relation < ActiveRecord::Base end def tags - unless @tags - @tags = Hash.new - self.relation_tags.each do |tag| - @tags[tag.k] = tag.v - end - end - @tags + @tags ||= Hash[self.relation_tags.collect { |t| [t.k, t.v] }] end def members=(m) diff --git a/app/models/way.rb b/app/models/way.rb index f9db684b8..a9fdd88ee 100644 --- a/app/models/way.rb +++ b/app/models/way.rb @@ -28,7 +28,7 @@ class Way < ActiveRecord::Base validates_associated :changeset scope :visible, -> { where(:visible => true) } - scope :invisible, -> { where(:visible => false) } + scope :invisible, -> { where(:visible => false) } # Read in xml as text and return it's Way object representation def self.from_xml(xml, create=false) @@ -136,23 +136,11 @@ class Way < ActiveRecord::Base end def nds - unless @nds - @nds = Array.new - self.way_nodes.each do |nd| - @nds += [nd.node_id] - end - end - @nds + @nds ||= self.way_nodes.collect { |n| n.node_id } end def tags - unless @tags - @tags = {} - self.way_tags.each do |tag| - @tags[tag.k] = tag.v - end - end - @tags + @tags ||= Hash[self.way_tags.collect { |t| [t.k, t.v] }] end def nds=(s)