class Ni::Storages::ActiveRecordMetadataRepository
Constants
- TIMER_KEY
Public Class Methods
clear_timer!(timer_id)
click to toggle source
# File lib/ni/storages/active_record_metadata_repository.rb, line 29 def self.clear_timer!(timer_id) self.where(uid: timer_id, key: TIMER_KEY).delete_all end
fetch(uid, key)
click to toggle source
# File lib/ni/storages/active_record_metadata_repository.rb, line 14 def self.fetch(uid, key) record = self.where(uid: uid, key: key).first if record.present? JSON.parse(record.data, symbolize_names: true) else {} end end
fetch_timers()
click to toggle source
# File lib/ni/storages/active_record_metadata_repository.rb, line 33 def self.fetch_timers self.where(key: TIMER_KEY).where("run_timer_at < ?", Time.now).map do |record| [record.uid] + JSON.parse(record.data) end end
setup_timer!(timer_id, datetime, timer_klass_name, timer_action, system_uid)
click to toggle source
# File lib/ni/storages/active_record_metadata_repository.rb, line 24 def self.setup_timer!(timer_id, datetime, timer_klass_name, timer_action, system_uid) data = [timer_klass_name, timer_action, system_uid].to_json self.create!(uid: timer_id, key: TIMER_KEY, run_timer_at: datetime, data: data) end
store(uid, key, data)
click to toggle source
# File lib/ni/storages/active_record_metadata_repository.rb, line 9 def self.store(uid, key, data) record = self.where(uid: uid, key: key).first_or_initialize record.update(data: data.to_json) end