Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add rubocop coverage to xml builders #1277

Merged
merged 6 commits into from Sep 7, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 4 additions & 0 deletions .rubocop.yml
@@ -1,5 +1,9 @@
inherit_from: .rubocop_todo.yml

AllCops:
Include:
- '**/*.builder'

Rails:
Enabled: true

Expand Down
23 changes: 14 additions & 9 deletions .rubocop_todo.yml
@@ -1,6 +1,6 @@
# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2016-07-13 09:47:52 +0100 using RuboCop version 0.41.2.
# on 2016-09-07 11:03:27 +0100 using RuboCop version 0.41.2.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
Expand All @@ -14,11 +14,11 @@ Lint/AmbiguousOperator:
- 'test/lib/bounding_box_test.rb'
- 'test/lib/country_test.rb'

# Offense count: 115
# Offense count: 117
Lint/AmbiguousRegexpLiteral:
Enabled: false

# Offense count: 29
# Offense count: 30
# Configuration parameters: AllowSafeAssignment.
Lint/AssignmentInCondition:
Exclude:
Expand All @@ -43,11 +43,16 @@ Lint/HandleExceptions:
- 'app/controllers/user_controller.rb'
- 'config/initializers/session.rb'

# Offense count: 616
# Offense count: 2
Lint/ShadowingOuterLocalVariable:
Exclude:
- 'app/views/changeset/list.atom.builder'

# Offense count: 626
Metrics/AbcSize:
Max: 277

# Offense count: 11
# Offense count: 12
Metrics/BlockNesting:
Max: 5

Expand All @@ -56,17 +61,17 @@ Metrics/BlockNesting:
Metrics/ClassLength:
Max: 1650

# Offense count: 67
# Offense count: 68
Metrics/CyclomaticComplexity:
Max: 20

# Offense count: 2485
# Offense count: 2561
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes.
# URISchemes: http, https
Metrics/LineLength:
Max: 962

# Offense count: 596
# Offense count: 604
# Configuration parameters: CountComments.
Metrics/MethodLength:
Max: 179
Expand Down Expand Up @@ -135,7 +140,7 @@ Style/AsciiComments:
Exclude:
- 'test/models/message_test.rb'

# Offense count: 217
# Offense count: 218
Style/Documentation:
Enabled: false

Expand Down
4 changes: 2 additions & 2 deletions app/views/api/permissions.builder
@@ -1,6 +1,6 @@
# create list of permissions
xml.instruct! :xml, :version=>"1.0"
xml.osm("version" => "#{API_VERSION}", "generator" => "OpenStreetMap Server") do
xml.instruct! :xml, :version => "1.0"
xml.osm("version" => API_VERSION.to_s, "generator" => "OpenStreetMap Server") do
xml.permissions do
@permissions.each do |permission|
xml.permission :name => permission
Expand Down
8 changes: 3 additions & 5 deletions app/views/changeset/_comments.rss.builder
@@ -1,17 +1,15 @@
comments.each do |comment|
xml.item do
xml.title t("changeset.rss.comment", :author => comment.author.display_name, :changeset_id => comment.changeset.id.to_s)

xml.link url_for(:controller => "browse", :action => "changeset", :id => comment.changeset.id, :anchor => "c#{comment.id}", :only_path => false)
xml.guid url_for(:controller => "browse", :action => "changeset", :id => comment.changeset.id, :anchor => "c#{comment.id}", :only_path => false)

xml.description do
xml.cdata! render(:partial => "comment", :object => comment, :formats => [ :html ])
xml.cdata! render(:partial => "comment", :object => comment, :formats => [:html])
end

if comment.author
xml.dc :creator, comment.author.display_name
end
xml.dc :creator, comment.author.display_name if comment.author

xml.pubDate comment.created_at.to_s(:rfc822)
end
Expand Down
7 changes: 3 additions & 4 deletions app/views/changeset/comments_feed.rss.builder
@@ -1,14 +1,13 @@
xml.rss("version" => "2.0",
xml.rss("version" => "2.0",
"xmlns:dc" => "http://purl.org/dc/elements/1.1/") do
xml.channel do
if @changeset
xml.title t('changeset.rss.title_particular', :changeset_id => @changeset.id)
xml.title t("changeset.rss.title_particular", :changeset_id => @changeset.id)
else
xml.title t('changeset.rss.title_all')
xml.title t("changeset.rss.title_all")
end
xml.link url_for(:controller => "site", :action => "index", :only_path => false)

xml << render(:partial => "comments", :object => @comments)
end
end

20 changes: 10 additions & 10 deletions app/views/changeset/list.atom.builder
@@ -1,20 +1,20 @@
atom_feed(:language => I18n.locale, :schema_date => 2009,
:id => url_for(params.merge({ :only_path => false })),
:root_url => url_for(params.merge({ :action => :list, :format => nil, :only_path => false })),
:id => url_for(params.merge(:only_path => false)),
:root_url => url_for(params.merge(:action => :list, :format => nil, :only_path => false)),
"xmlns:georss" => "http://www.georss.org/georss") do |feed|
feed.title changeset_list_title(params, @user)

feed.updated @edits.map {|e| [e.created_at, e.closed_at].max }.max
feed.updated @edits.map { |e| [e.created_at, e.closed_at].max }.max
feed.icon "http://#{SERVER_URL}/favicon.ico"
feed.logo "http://#{SERVER_URL}/images/mag_map-rss2.0.png"

feed.rights :type => 'xhtml' do |xhtml|
feed.rights :type => "xhtml" do |xhtml|
xhtml.a :href => "http://creativecommons.org/licenses/by-sa/2.0/" do |a|
a.img :src => "http://#{SERVER_URL}/images/cc_button.png", :alt => "CC by-sa 2.0"
end
end

for changeset in @edits
@edits.each do |changeset|
feed.entry(changeset, :updated => changeset.closed_at, :id => changeset_url(changeset.id, :only_path => false)) do |entry|
entry.link :rel => "alternate",
:href => changeset_read_url(changeset, :only_path => false),
Expand All @@ -23,20 +23,20 @@ atom_feed(:language => I18n.locale, :schema_date => 2009,
:href => changeset_download_url(changeset, :only_path => false),
:type => "application/osmChange+xml"

if !changeset.tags.empty? and changeset.tags.has_key? "comment"
entry.title t('browse.changeset.feed.title_comment', :id => h(changeset.id), :comment => h(changeset.tags['comment'])), :type => "html"
if !changeset.tags.empty? && changeset.tags.key?("comment")
entry.title t("browse.changeset.feed.title_comment", :id => h(changeset.id), :comment => h(changeset.tags["comment"])), :type => "html"
else
entry.title t('browse.changeset.feed.title', :id => h(changeset.id))
entry.title t("browse.changeset.feed.title", :id => h(changeset.id))
end

if changeset.user.data_public?
entry.author do |author|
author.name changeset.user.display_name
author.uri url_for(:controller => 'user', :action => 'view', :display_name => changeset.user.display_name, :only_path => false)
author.uri url_for(:controller => "user", :action => "view", :display_name => changeset.user.display_name, :only_path => false)
end
end

feed.content :type => 'xhtml' do |xhtml|
feed.content :type => "xhtml" do |xhtml|
xhtml.style "th { text-align: left } tr { vertical-align: top }"
xhtml.table do |table|
table.tr do |tr|
Expand Down
8 changes: 4 additions & 4 deletions app/views/changeset/timeout.atom.builder
@@ -1,12 +1,12 @@
atom_feed(:language => I18n.locale, :schema_date => 2009,
:id => url_for(params.merge({ :only_path => false })),
:root_url => url_for(params.merge({ :only_path => false, :format => nil })),
:id => url_for(params.merge(:only_path => false)),
:root_url => url_for(params.merge(:only_path => false, :format => nil)),
"xmlns:georss" => "http://www.georss.org/georss") do |feed|
feed.title @title

feed.subtitle :type => 'xhtml' do |xhtml|
feed.subtitle :type => "xhtml" do |xhtml|
xhtml.p do |p|
p << t('changeset.timeout.sorry')
p << t("changeset.timeout.sorry")
end
end
end
12 changes: 6 additions & 6 deletions app/views/diary_entry/rss.rss.builder
@@ -1,6 +1,6 @@
xml.instruct!

xml.rss("version" => "2.0",
xml.rss("version" => "2.0",
"xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
"xmlns:georss" => "http://www.georss.org/georss") do
xml.channel do
Expand All @@ -12,10 +12,10 @@ xml.rss("version" => "2.0",
xml.title "OpenStreetMap"
xml.width "100"
xml.height "100"
xml.link url_for(:action => "list", :host=> SERVER_URL)
xml.link url_for(:action => "list", :host => SERVER_URL)
end

for entry in @entries
@entries.each do |entry|
xml.item do
xml.title h(entry.title)
xml.link url_for(:action => "view", :id => entry.id, :display_name => entry.user.display_name, :host => SERVER_URL)
Expand All @@ -24,11 +24,11 @@ xml.rss("version" => "2.0",
xml.author entry.user.display_name
xml.pubDate entry.created_at.to_s(:rfc822)
xml.comments url_for(:action => "view", :id => entry.id, :display_name => entry.user.display_name, :anchor => "comments", :host => SERVER_URL)
if entry.latitude and entry.longitude

if entry.latitude && entry.longitude
xml.geo :lat, entry.latitude.to_s
xml.geo :long, entry.longitude.to_s
xml.georss :point, "#{entry.latitude.to_s} #{entry.longitude.to_s}"
xml.georss :point, "#{entry.latitude} #{entry.longitude}"
end
end
end
Expand Down
6 changes: 2 additions & 4 deletions app/views/notes/_note.gpx.builder
Expand Up @@ -3,7 +3,7 @@ xml.wpt("lon" => note.lon, "lat" => note.lat) do
xml.name t("browse.note.title", :id => note.id)

xml.desc do
xml.cdata! render(:partial => "description", :object => note, :formats => [ :html ])
xml.cdata! render(:partial => "description", :object => note, :formats => [:html])
end

xml.link("href" => browse_note_url(note, :host => SERVER_URL))
Expand All @@ -22,8 +22,6 @@ xml.wpt("lon" => note.lon, "lat" => note.lat) do
xml.date_created note.created_at
xml.status note.status

if note.closed?
xml.date_closed note.closed_at
end
xml.date_closed note.closed_at if note.closed?
end
end
12 changes: 5 additions & 7 deletions app/views/notes/_note.rss.builder
Expand Up @@ -2,20 +2,18 @@ xml.item do
location = describe_location(note.lat, note.lon, 14, locale)

if note.closed?
xml.title t('note.rss.closed', :place => location)
xml.title t("note.rss.closed", :place => location)
elsif note.comments.length > 1
xml.title t('note.rss.commented', :place => location)
xml.title t("note.rss.commented", :place => location)
else
xml.title t('note.rss.opened', :place => location)
xml.title t("note.rss.opened", :place => location)
end

xml.link browse_note_url(note)
xml.guid note_url(note)
xml.description render(:partial => "description", :object => note, :formats => [ :html ])
xml.description render(:partial => "description", :object => note, :formats => [:html])

if note.author
xml.author note.author.display_name
end
xml.author note.author.display_name if note.author

xml.pubDate note.updated_at.to_s(:rfc822)
xml.geo :lat, note.lat
Expand Down
4 changes: 1 addition & 3 deletions app/views/notes/_note.xml.builder
Expand Up @@ -12,9 +12,7 @@ xml.note("lon" => note.lon, "lat" => note.lat) do
xml.date_created note.created_at
xml.status note.status

if note.closed?
xml.date_closed note.closed_at
end
xml.date_closed note.closed_at if note.closed?

xml.comments do
note.comments.each do |comment|
Expand Down
14 changes: 6 additions & 8 deletions app/views/notes/feed.rss.builder
@@ -1,30 +1,28 @@
xml.instruct!

xml.rss("version" => "2.0",
xml.rss("version" => "2.0",
"xmlns:dc" => "http://purl.org/dc/elements/1.1/",
"xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
"xmlns:georss" => "http://www.georss.org/georss") do
xml.channel do
xml.title t('note.rss.title')
xml.description t('note.rss.description_area', :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon )
xml.title t("note.rss.title")
xml.description t("note.rss.description_area", :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon)
xml.link url_for(:controller => "site", :action => "index", :only_path => false)

@comments.each do |comment|
location = describe_location(comment.note.lat, comment.note.lon, 14, locale)

xml.item do
xml.title t("note.rss.#{comment.event}", :place => location)

xml.link url_for(:controller => "browse", :action => "note", :id => comment.note.id, :anchor => "c#{comment.id}", :only_path => false)
xml.guid url_for(:controller => "browse", :action => "note", :id => comment.note.id, :anchor => "c#{comment.id}", :only_path => false)

xml.description do
xml.cdata! render(:partial => "entry", :object => comment, :formats => [ :html ])
xml.cdata! render(:partial => "entry", :object => comment, :formats => [:html])
end

if comment.author
xml.dc :creator, comment.author.display_name
end
xml.dc :creator, comment.author.display_name if comment.author

xml.pubDate comment.created_at.to_s(:rfc822)
xml.geo :lat, comment.note.lat
Expand Down
2 changes: 1 addition & 1 deletion app/views/notes/index.gpx.builder
@@ -1,6 +1,6 @@
xml.instruct!

xml.gpx("version" => "1.1",
xml.gpx("version" => "1.1",
"creator" => "OpenStreetMap.org",
"xmlns" => "http://www.topografix.com/GPX/1/1",
"xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
Expand Down
6 changes: 3 additions & 3 deletions app/views/notes/index.rss.builder
@@ -1,11 +1,11 @@
xml.instruct!

xml.rss("version" => "2.0",
xml.rss("version" => "2.0",
"xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
"xmlns:georss" => "http://www.georss.org/georss") do
xml.channel do
xml.title t('note.rss.title')
xml.description t('note.rss.description_area', :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon )
xml.title t("note.rss.title")
xml.description t("note.rss.description_area", :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon)
xml.link url_for(:controller => "site", :action => "index", :only_path => false)

xml << (render(:partial => "note", :collection => @notes) || "")
Expand Down
2 changes: 1 addition & 1 deletion app/views/notes/show.gpx.builder
@@ -1,6 +1,6 @@
xml.instruct!

xml.gpx("version" => "1.1",
xml.gpx("version" => "1.1",
"creator" => "OpenStreetMap.org",
"xmlns" => "http://www.topografix.com/GPX/1/1",
"xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
Expand Down
6 changes: 3 additions & 3 deletions app/views/notes/show.rss.builder
@@ -1,11 +1,11 @@
xml.instruct!

xml.rss("version" => "2.0",
xml.rss("version" => "2.0",
"xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
"xmlns:georss" => "http://www.georss.org/georss") do
xml.channel do
xml.title t('note.rss.title')
xml.description t('note.rss.description_item', :id => @note.id)
xml.title t("note.rss.title")
xml.description t("note.rss.description_item", :id => @note.id)
xml.link url_for(:controller => "site", :action => "index", :only_path => false)

xml << render(:partial => "note", :object => @note)
Expand Down
6 changes: 3 additions & 3 deletions app/views/trace/georss.rss.builder
@@ -1,6 +1,6 @@
xml.instruct!

xml.rss("version" => "2.0",
xml.rss("version" => "2.0",
"xmlns:dc" => "http://purl.org/dc/elements/1.1/",
"xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
"xmlns:georss" => "http://www.georss.org/georss") do
Expand All @@ -25,14 +25,14 @@ xml.rss("version" => "2.0",
xml.guid url_for(:controller => :trace, :action => :view, :id => trace.id, :display_name => trace.user.display_name, :only_path => false)

xml.description do
xml.cdata! render(:partial => "description", :object => trace, :formats => [ :html ])
xml.cdata! render(:partial => "description", :object => trace, :formats => [:html])
end

xml.dc :creator, trace.user.display_name

xml.pubDate trace.timestamp.to_s(:rfc822)

if trace.latitude and trace.longitude
if trace.latitude && trace.longitude
xml.geo :lat, trace.latitude
xml.geo :long, trace.longitude
xml.georss :point, "#{trace.latitude} #{trace.longitude}"
Expand Down