openstreetmap-website/lib/redactable.rb
Matt Amos 67182f824e Fixing review comments
Added scoping for unredacted items, cleaned up authorization and
railsified old_node_controller.
2012-04-05 13:46:40 +01:00

22 lines
510 B
Ruby

require 'osm'
module Redactable
def self.included(base)
# this is used to extend activerecord bases, as these aren't
# in scope for the module itself.
base.scope :unredacted, base.where(:redaction_id => nil)
end
def redacted?
not self.redaction.nil?
end
def redact!(redaction)
# check that this version isn't the current version
raise OSM::APICannotRedactError.new if self.is_latest_version?
# make the change
self.redaction = redaction
self.save!
end
end