module Permalinkable::ClassMethods
Public Instance Methods
acts_as_permalinkable(options = {})
click to toggle source
# File lib/permalinkable/permalinkable.rb, line 9 def acts_as_permalinkable(options = {}) send :cattr_accessor, :permalink_options self.permalink_options = { permalinkable_attribute: :name, permalink_field_name: :permalink, length: 200, allow_change: false } self.permalink_options.update(options) if options.is_a?(Hash) self.permalink_options.freeze send :include, InstanceMethods send :after_save, :save_permalink send :attr_readonly, permalink_options[:permalink_field_name] send :validates, permalink_options[:permalinkable_attribute], presence: true, length: { minimum: 0 } end
permalink_cipher()
click to toggle source
# File lib/permalinkable/permalinkable.rb, line 22 def permalink_cipher cipher = OpenSSL::Cipher.new('RC4-40') cipher.encrypt cipher.key = Base64.urlsafe_decode64(Configure.secret) cipher end