# Subscribe user to changeset comments
cs.subscribers << @user
- render :text => cs.id.to_s, :content_type => "text/plain"
+ render :plain => cs.id.to_s
end
##
def read
changeset = Changeset.find(params[:id])
- render :text => changeset.to_xml(params[:include_discussion].presence).to_s, :content_type => "text/xml"
+ render :xml => changeset.to_xml(params[:include_discussion].presence).to_s
end
##
changeset.set_closed_time_now
changeset.save!
- render :text => ""
+ render :nothing => true
end
##
# the request is in pseudo-osm format... this is kind-of an
# abuse, maybe should change to some other format?
- doc = XML::Parser.string(request.raw_post).parse
+ doc = XML::Parser.string(request.raw_post, :options => XML::Parser::Options::NOERROR).parse
doc.find("//osm/node").each do |n|
lon << n["lon"].to_f * GeoRecord::SCALE
lat << n["lat"].to_f * GeoRecord::SCALE
# save the larger bounding box and return the changeset, which
# will include the bigger bounding box.
cs.save!
- render :text => cs.to_xml.to_s, :content_type => "text/xml"
+ render :xml => cs.to_xml.to_s
end
##
diff_reader = DiffReader.new(request.raw_post, changeset)
Changeset.transaction do
result = diff_reader.commit
- render :text => result.to_s, :content_type => "text/xml"
+ render :xml => result.to_s
end
end
end
end
- render :text => result.to_s, :content_type => "text/xml"
+ render :xml => result.to_s
end
##
results.root << cs.to_xml_node
end
- render :text => results.to_s, :content_type => "text/xml"
+ render :xml => results.to_s
end
##
check_changeset_consistency(changeset, @user)
changeset.update_from(new_changeset, @user)
- render :text => changeset.to_xml, :mime_type => "text/xml"
+ render :xml => changeset.to_xml
end
##
- # list edits (open changesets) in reverse chronological order
+ # list non-empty changesets in reverse chronological order
def list
if request.format == :atom && params[:max_id]
redirect_to url_for(params.merge(:max_id => nil)), :status => :moved_permanently
end
if params[:display_name]
- user = User.find_by_display_name(params[:display_name])
+ user = User.find_by(:display_name => params[:display_name])
if !user || !user.active?
render_unknown_user params[:display_name]
return
changeset.subscribers << @user unless changeset.subscribers.exists?(@user.id)
# Return a copy of the updated changeset
- render :text => changeset.to_xml.to_s, :content_type => "text/xml"
+ render :xml => changeset.to_xml.to_s
end
##
changeset.subscribers << @user
# Return a copy of the updated changeset
- render :text => changeset.to_xml.to_s, :content_type => "text/xml"
+ render :xml => changeset.to_xml.to_s
end
##
changeset.subscribers.delete(@user)
# Return a copy of the updated changeset
- render :text => changeset.to_xml.to_s, :content_type => "text/xml"
+ render :xml => changeset.to_xml.to_s
end
##
comment.update(:visible => false)
# Return a copy of the updated changeset
- render :text => comment.changeset.to_xml.to_s, :content_type => "text/xml"
+ render :xml => comment.changeset.to_xml.to_s
end
##
comment.update(:visible => true)
# Return a copy of the updated changeset
- render :text => comment.changeset.to_xml.to_s, :content_type => "text/xml"
+ render :xml => comment.changeset.to_xml.to_s
end
##
format.rss
end
rescue OSM::APIBadUserInput
- render :text => "", :status => :bad_request
+ head :bad_request
end
private
raise OSM::APIBadUserInput.new("invalid user ID") if user.to_i < 1
u = User.find(user.to_i)
else
- u = User.find_by_display_name(name)
+ u = User.find_by(:display_name => name)
end
# make sure we found a user
# if parameter 'open' is nill then open and closed changesets are returned
def conditions_open(changesets, open)
if open.nil?
- return changesets
+ changesets
else
- return changesets.where("closed_at >= ? and num_changes <= ?",
- Time.now.getutc, Changeset::MAX_ELEMENTS)
+ changesets.where("closed_at >= ? and num_changes <= ?",
+ Time.now.getutc, Changeset::MAX_ELEMENTS)
end
end
# ('closed at' time has passed or changes limit is hit)
def conditions_closed(changesets, closed)
if closed.nil?
- return changesets
+ changesets
else
- return changesets.where("closed_at < ? or num_changes > ?",
- Time.now.getutc, Changeset::MAX_ELEMENTS)
+ changesets.where("closed_at < ? or num_changes > ?",
+ Time.now.getutc, Changeset::MAX_ELEMENTS)
end
end
# (either specified as array or comma-separated string)
def conditions_ids(changesets, ids)
if ids.nil?
- return changesets
+ changesets
elsif ids.empty?
raise OSM::APIBadUserInput.new("No changesets were given to search for")
else
ids = ids.split(",").collect(&:to_i)
- return changesets.where(:id => ids)
+ changesets.where(:id => ids)
end
end