Skip to content

Instantly share code, notes, and snippets.

@ninjapanzer
Created December 29, 2014 15:38
Show Gist options
  • Save ninjapanzer/529f25a61b7f358cac00 to your computer and use it in GitHub Desktop.
Save ninjapanzer/529f25a61b7f358cac00 to your computer and use it in GitHub Desktop.
does it fit as carry on
require 'optparse'
options = {}
OptionParser.new do |opts|
opts.banner = ""
opts.on("-l", "--length v", "length") {|v| options[:length] = v}
opts.on("-w", "--width v", "width") {|v| options[:width] = v}
opts.on("-h", "--height v", "height") {|v| options[:height] = v}
opts.on("-sl", "--set-length v", "length") {|v| options[:setlength] = v}
opts.on("-sw", "--set-width v", "width") {|v| options[:setwidth] = v}
opts.on("-sh", "--set-height v", "height") {|v| options[:setheight] = v}
end.parse!
if options[:setheight] && options[:setlength] && options[:setwidth]
File.open('settings.cfg', 'w') do |file|
file.puts(options[:setlength])
file.puts(options[:setwidth])
file.puts(options[:setheight])
end
end
if !File.exist?('settings.cfg')
File.open('settings.cfg', 'w') do |file|
file.puts(22)
file.puts(14)
file.puts(9)
end
else
lwh = []
File.open("settings.cfg", "r") do |f|
lwh = f.each_line.map {|l| l}
end
options[:setlength] = lwh[0]
options[:setwidth] = lwh[1]
options[:setheight] = lwh[2]
end
slwh = [options[:setlength], options[:setwidth], options[:setheight]]
lwh = [options[:length], options[:width], options[:height]]
def does_it_fit slwh, lwh
(0..2).each.map { |i| slwh[i] > lwh[i] }.all?
end
sorted_set = slwh.map{|thing| thing.to_f}.sort
sorted_input = lwh.map{|thing| thing.to_f}.sort
puts "#{does_it_fit sorted_set, sorted_input} orientation L W H #{sorted_input}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment