Sha256: fa1ce1e3b5845994a26f703cb441a47c60747264941936ad902df3aed4489c0b

Contents?: true

Size: 603 Bytes

Versions: 21

Compression:

Stored size: 603 Bytes

Contents

module Messaging
  module Adapters
    class Postgres
      class Categories
        class Row
          extend Dry::Initializer

          param :table_name
          param :type
          param :expression

          def category_class
            return CategoryWithPartitions if type == 'p'

            Category
          end

          def category_name
            regexp = /FOR VALUES IN \(\'(.*)\'\)/
            expression.match(regexp)[1]
          end

          def to_category
            category_class.new(category_name, table_name)
          end
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
messaging-4.0.12 lib/messaging/adapters/postgres/categories/row.rb
messaging-4.0.11 lib/messaging/adapters/postgres/categories/row.rb
messaging-4.0.10 lib/messaging/adapters/postgres/categories/row.rb
messaging-4.0.10.pre lib/messaging/adapters/postgres/categories/row.rb
messaging-4.0.9 lib/messaging/adapters/postgres/categories/row.rb
messaging-4.0.8 lib/messaging/adapters/postgres/categories/row.rb
messaging-4.0.7 lib/messaging/adapters/postgres/categories/row.rb
messaging-4.0.6 lib/messaging/adapters/postgres/categories/row.rb
messaging-4.0.5 lib/messaging/adapters/postgres/categories/row.rb
messaging-4.0.4.pre lib/messaging/adapters/postgres/categories/row.rb
messaging-4.0.3.pre lib/messaging/adapters/postgres/categories/row.rb
messaging-4.0.2.pre lib/messaging/adapters/postgres/categories/row.rb
messaging-4.0.1.pre lib/messaging/adapters/postgres/categories/row.rb
messaging-4.0.0.pre lib/messaging/adapters/postgres/categories/row.rb
messaging-3.8.2 lib/messaging/adapters/postgres/categories/row.rb
messaging-3.8.1 lib/messaging/adapters/postgres/categories/row.rb
messaging-3.8.0 lib/messaging/adapters/postgres/categories/row.rb
messaging-3.7.3 lib/messaging/adapters/postgres/categories/row.rb
messaging-3.7.2 lib/messaging/adapters/postgres/categories/row.rb
messaging-3.7.1 lib/messaging/adapters/postgres/categories/row.rb