Module: Median

Defined in:
lib/average/median.rb

Instance Method Summary collapse

Instance Method Details

#calculate_median(array) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/average/median.rb', line 8

def calculate_median(array)
  array.sort!
  if array.length.even?
    get_mean( middle_items_to_average(array) )
  else
    array[ array.length / 2.to_f ]
  end
end

#get_median(array) ⇒ Object



2
3
4
5
6
# File 'lib/average/median.rb', line 2

def get_median(array)
  if valid_array?(array)
    calculate_median(clean_array(array))
  end
end

#middle_item(array) ⇒ Object



17
18
19
# File 'lib/average/median.rb', line 17

def middle_item(array)
  array.size / 2
end

#middle_items_to_average(array) ⇒ Object



21
22
23
# File 'lib/average/median.rb', line 21

def middle_items_to_average(array)
  array[ middle_item(array) -1 .. middle_item(array) ]
end