Sha256: d9a33bbf46f81fefb1ff9bc7361c84baf442c8798066cb07d2a9246133244ab1

Contents?: true

Size: 615 Bytes

Versions: 7

Compression:

Stored size: 615 Bytes

Contents

module Messaging
  module Adapters
    class Postgres
      class Category
        extend Dry::Initializer

        param :name
        param :table_name, default: -> { self.class.table_name_for(name) }

        def self.table_name_for(name)
          name.parameterize(separator: '_')
        end

        # Access to all messages in the category sorted by created_at
        # @return [ActiveRecord::Relation]
        def messages
          SerializedMessage.where(stream_category: name).order(:created_at)
        end

        def inspect
          "#<Category: #{name}>"
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
messaging-3.8.2 lib/messaging/adapters/postgres/category.rb
messaging-3.8.1 lib/messaging/adapters/postgres/category.rb
messaging-3.8.0 lib/messaging/adapters/postgres/category.rb
messaging-3.7.3 lib/messaging/adapters/postgres/category.rb
messaging-3.7.2 lib/messaging/adapters/postgres/category.rb
messaging-3.7.1 lib/messaging/adapters/postgres/category.rb
messaging-3.7.0 lib/messaging/adapters/postgres/category.rb