Class: Hyphy::DurationFilter

Inherits:
AbstractFilter show all
Defined in:
lib/hyphy/filters/duration_filter.rb

Instance Attribute Summary collapse

Attributes inherited from AbstractFilter

#dataset

Instance Method Summary collapse

Constructor Details

#initialize(dataset, opts) ⇒ DurationFilter



5
6
7
8
9
10
# File 'lib/hyphy/filters/duration_filter.rb', line 5

def initialize(dataset, opts)
  @duration_min = opts[:duration_min] || 0.0
  @duration_max = opts[:duration_max] || Float::INFINITY

  super
end

Instance Attribute Details

#duration_maxObject (readonly)

Returns the value of attribute duration_max.



3
4
5
# File 'lib/hyphy/filters/duration_filter.rb', line 3

def duration_max
  @duration_max
end

#duration_minObject (readonly)

Returns the value of attribute duration_min.



3
4
5
# File 'lib/hyphy/filters/duration_filter.rb', line 3

def duration_min
  @duration_min
end

Instance Method Details

#filterObject



12
13
14
15
16
17
18
# File 'lib/hyphy/filters/duration_filter.rb', line 12

def filter
  @dataset.select! do |sql_statement|
    (@duration_min <= sql_statement.duration) and (sql_statement.duration <= @duration_max)
  end

  @dataset.sort_by! { |sql_statement| -sql_statement.duration }
end