Sha256: 1eed55259280bf9bcb6e8c341f50cb927ce1692243632ac201d202674ac144c8

Contents?: true

Size: 660 Bytes

Versions: 14

Compression:

Stored size: 660 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

        def to_s
          name
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
messaging-4.0.12 lib/messaging/adapters/postgres/category.rb
messaging-4.0.11 lib/messaging/adapters/postgres/category.rb
messaging-4.0.10 lib/messaging/adapters/postgres/category.rb
messaging-4.0.10.pre lib/messaging/adapters/postgres/category.rb
messaging-4.0.9 lib/messaging/adapters/postgres/category.rb
messaging-4.0.8 lib/messaging/adapters/postgres/category.rb
messaging-4.0.7 lib/messaging/adapters/postgres/category.rb
messaging-4.0.6 lib/messaging/adapters/postgres/category.rb
messaging-4.0.5 lib/messaging/adapters/postgres/category.rb
messaging-4.0.4.pre lib/messaging/adapters/postgres/category.rb
messaging-4.0.3.pre lib/messaging/adapters/postgres/category.rb
messaging-4.0.2.pre lib/messaging/adapters/postgres/category.rb
messaging-4.0.1.pre lib/messaging/adapters/postgres/category.rb
messaging-4.0.0.pre lib/messaging/adapters/postgres/category.rb