Module: Evoc::InterestingnessMeasures::ClassMethods

Defined in:
lib/evoc/interestingness_measures.rb

Instance Method Summary collapse

Instance Method Details

#csv_headerObject



87
88
89
# File 'lib/evoc/interestingness_measures.rb', line 87

def csv_header
  ['lhs','rhs'] + measures
end

#get_max(measure) ⇒ Object



99
100
101
# File 'lib/evoc/interestingness_measures.rb', line 99

def get_max(measure)
  const_get(measure.to_s.upcase+"_MAX")
end

#get_mid(measure) ⇒ Object



103
104
105
# File 'lib/evoc/interestingness_measures.rb', line 103

def get_mid(measure)
  const_get(measure.to_s.upcase+"_MID")
end

#get_min(measure) ⇒ Object



95
96
97
# File 'lib/evoc/interestingness_measures.rb', line 95

def get_min(measure)
  const_get(measure.to_s.upcase+"_MIN")
end

#initialize_measure(measure, hyper_measure: false) ⇒ Object



67
68
69
70
71
72
73
74
75
# File 'lib/evoc/interestingness_measures.rb', line 67

def initialize_measure(measure, hyper_measure: false)
  if block_given?
    Evoc::InterestingnessMeasure.new(type: measure,min: get_min(measure),mid: get_mid(measure), max: get_max(measure), hyper_measure: hyper_measure) {
      yield
    }
  else
    Evoc::InterestingnessMeasure.new(type: measure,min: get_min(measure),mid: get_mid(measure), max: get_max(measure), hyper_measure: hyper_measure)
  end
end

#measuresObject

returns the list of interestingness measures which are implemented



79
80
81
# File 'lib/evoc/interestingness_measures.rb', line 79

def measures
  self.instance_methods.grep(/\Am_(.*)/)
end

#p_measuresObject



83
84
85
# File 'lib/evoc/interestingness_measures.rb', line 83

def p_measures
  self.instance_methods.grep(/\Ap_(.*)/)
end

#pretty_csv_headerObject



91
92
93
# File 'lib/evoc/interestingness_measures.rb', line 91

def pretty_csv_header
  ['lhs','rhs'] + measures.map {|m| m.to_s.gsub(/m_/,'')}
end