-require 'osm'
+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?
+ !redaction.nil?
end
def redact!(redaction)
# check that this version isn't the current version
- raise OSM::APICannotRedactError.new if self.is_latest_version?
+ fail OSM::APICannotRedactError.new if self.is_latest_version?
# make the change
self.redaction = redaction
+ self.save!
end
end