Sha256: c0cdd9e140de7fb0b960d3c34ca56c80cfcce6f982b9aff63bc65b6d64f883b3

Contents?: true

Size: 645 Bytes

Versions: 2

Compression:

Stored size: 645 Bytes

Contents

require 'yap/filter_value'

module Yap
  ##
  # Multiple filter for a column can be separated by comma (,).
  #
  class FilterColumn
    attr_reader :name

    def initialize(name)
      @name = name
      @values = []
    end

    def parse_values(values)
      values.to_s.split(',').each do |value|
        filter_value = FilterValue.new
        filter_value.parse_value(value)
        @values << filter_value
      end
    end

    def where
      @values.select do |v|
        v.condition == :where
      end.map(&:value)
    end

    def not
      @values.select do |v|
        v.condition == :not
      end.map(&:value)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
yap-2.0.0 lib/yap/filter_column.rb
yap-1.4.2 lib/yap/filter_column.rb