Sha256: bca7db03b2d231e1761021ebd911ff19a594f62c2c982a40d2a51212812f6b6d

Contents?: true

Size: 493 Bytes

Versions: 10

Compression:

Stored size: 493 Bytes

Contents

module Messaging
  module Adapters
    class Postgres
      class Categories
        include Enumerable

        def each
          return enum_for(:each) unless block_given?

          all_categories.each do |name|
            yield Category.new(name)
          end
        end

        def [](name)
          Category.new(name)
        end

        private

        def all_categories
          SerializedMessage.distinct.pluck(:stream_category).lazy
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
messaging-3.6.1 lib/messaging/adapters/postgres/categories.rb
messaging-3.6.0 lib/messaging/adapters/postgres/categories.rb
messaging-3.5.7 lib/messaging/adapters/postgres/categories.rb
messaging-3.5.6 lib/messaging/adapters/postgres/categories.rb
messaging-3.5.5 lib/messaging/adapters/postgres/categories.rb
messaging-3.5.4 lib/messaging/adapters/postgres/categories.rb
messaging-3.5.3 lib/messaging/adapters/postgres/categories.rb
messaging-3.5.2 lib/messaging/adapters/postgres/categories.rb
messaging-3.5.1 lib/messaging/adapters/postgres/categories.rb
messaging-3.4.3 lib/messaging/adapters/postgres/categories.rb