class Dubliner
Constants
- VERSION
Public Class Methods
new(latitude, longitude)
click to toggle source
# File lib/dubliner.rb, line 5 def initialize(latitude, longitude) self.latitude = latitude self.longitude = longitude end
Public Instance Methods
getInvitees(filename)
click to toggle source
# File lib/dubliner.rb, line 20 def getInvitees(filename) file = fileRead(filename) customers = jsonParse(file) invitees = [] longestName = 0 customers.each do |c| distance = distanceCalculator(c.latitude, c.longitude, @latitude, @longitude) if distance < 100.0 c.distance = distance invitees.push(c) longestName = c.name.length unless longestName >=c.name.length end end invitees.sort_by! {|i| i.user_id} printInvitees(invitees, longestName) end
latitude=(l)
click to toggle source
# File lib/dubliner.rb, line 10 def latitude=(l) raise ArgumentError.new("latitude #{l} is invalid") unless l @latitude = (l.to_f * Math::PI) / 180 end
longitude=(l)
click to toggle source
# File lib/dubliner.rb, line 15 def longitude=(l) raise ArgumentError.new("longitude #{l} is invalid") unless l @longitude = (l.to_f * Math::PI) / 180 end
printInvitees(invitees, width)
click to toggle source
# File lib/dubliner.rb, line 37 def printInvitees(invitees, width) printf "count %-#{width}s %s %s", 'invitees', 'user_id', 'distance(km)' puts '' puts '-------------------------------------------------------------------------' counter = 1 invitees.each do |i| printf "%3d %-#{width}s %3d %-3.2f\n", counter, i.name, i.user_id, i.distance counter += 1 end puts '-------------------------------------------------------------------------' end