Read about our upcoming Code of Conduct on this issue

shardable.rb 272 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# frozen_string_literal: true

module Shardable
  extend ActiveSupport::Concern

  included do
    belongs_to :shard
    validates :shard, presence: true
  end

  def shard_name
    shard&.name
  end

  def shard_name=(name)
    self.shard = Shard.by_name(name)
  end
end