module ActiveWebhook::Models::TopicAdditions

Public Class Methods

last_with_key(key) click to toggle source
# File lib/active_webhook/models/topic_additions.rb, line 18
def self.last_with_key(key)
  where(key: key).order(id: :desc).first
end

Public Instance Methods

disable(reason = nil) click to toggle source
# File lib/active_webhook/models/topic_additions.rb, line 27
def disable(reason = nil)
  self.disabled_at = Time.current
  self.disabled_reason = reason
end
disable!(reason = nil) click to toggle source
# File lib/active_webhook/models/topic_additions.rb, line 32
def disable!(reason = nil)
  disable reason
  save!
end
disabled?() click to toggle source
# File lib/active_webhook/models/topic_additions.rb, line 47
def disabled?
  !enabled?
end
enable() click to toggle source
# File lib/active_webhook/models/topic_additions.rb, line 37
def enable
  self.disabled_at = nil
  self.disabled_reason = nil
end
enable!() click to toggle source
# File lib/active_webhook/models/topic_additions.rb, line 42
def enable!
  enable
  save!
end
enabled?() click to toggle source
# File lib/active_webhook/models/topic_additions.rb, line 51
def enabled?
  disabled_at.nil?
end

Protected Instance Methods

set_valid_version() click to toggle source
# File lib/active_webhook/models/topic_additions.rb, line 57
def set_valid_version
  return if version.present?

  last_with_key = self.class.last_with_key key
  versions = last_with_key&.version.to_s.split(".")
  versions = [0] if versions.empty?
  version = versions.pop
  versions << version.to_i + 1

  self.version = versions.join(".")
end