Created
April 30, 2012 20:12
-
-
Save luckyruby/2562324 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| source 'http://rubygems.org' | |
| gem 'rails', '3.2.3' | |
| gem 'redis' | |
| gem 'puma' | |
| gem 'execjs' | |
| platforms :mri do | |
| # gem 'unicorn' | |
| gem 'pg' | |
| gem 'therubyracer' | |
| end | |
| platforms :rbx do | |
| gem 'pg' | |
| gem 'therubyracer' | |
| end | |
| platforms :jruby do | |
| gem 'activerecord-jdbcpostgresql-adapter' | |
| gem 'jdbc-postgres' | |
| gem 'jruby-openssl' | |
| gem 'json' | |
| gem 'therubyrhino' | |
| end | |
| group :test do | |
| # Pretty printed test output | |
| gem 'turn', :require => false | |
| end | |
| group :development do | |
| gem 'nifty-generators' | |
| gem 'ruby-prof' | |
| gem 'capistrano' | |
| gem 'capistrano-ext' | |
| gem 'rvm-capistrano' | |
| end | |
| gem "mocha", :group => :test |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| http://localhost:3000/requests/AS?&function=AS&iata=10655083&pickup_location=PHX&pickup_date=18MAY2012&pickup_time=1000&return_date=20MAY2012&return_time=1000&cartype=E**** |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| {"function":"AS","pickup_location":"PHX","pickup_location_airport_code":"T01","pickup_location_name":"Phoenix, AZ/S-IN 008","pickup_location_type":"T","pickup_date":"18MAY2012","pickup_time":"1000","return_location":"PHX","return_location_airport_code":"T01","return_date":"20MAY2012","return_time":"1000","rental_length":"00200","rental_days":"002","rental_hours":"00","error_number":0,"rates":[{"base_rate":"19.36","rate_plan":"D","xday_rate":"19.36","xhr_rate":"10.00","cartype":"ECAR","currency":"USD","car_description":"Toyota Yaris 4 Passengers or Similar","ratecode":"2D","rate_category":"S","base_quantity":2,"base_amount":"38.72","xday_quantity":0,"xday_amount":"0.00","xhr_quantity":0,"xhr_amount":"0.00","time_and_mileage":"38.72","fees":[{"name":"Facility Fee 0.77 PER DAY","rate":"0.77","quantity":1,"amount":"1.54"},{"name":"Customer Facility Charge 6.00 PER DAY","rate":"6.00","quantity":1,"amount":"12.00"},{"name":"Vehicle License Fee 5.00%","rate":"5.00","quantity":1,"amount":"1.94"},{"name":"Concession Recovery Fee 11.10%","rate":"11.10","quantity":1,"amount":"4.47"},{"name":"Sales Tax 11.30%","rate":"11.30","quantity":1,"amount":"5.91"},{"name":"Country Surcharge 3.25%","rate":"3.25","quantity":1,"amount":"2.50"}],"discounts":[],"mileage_rules":{"base_mileage":"UNL","base_mileage_total":"UNL","xday_mileage":"UNL","xday_mileage_total":"UNL","xhr_mileage":"UNL","xhr_mileage_total":"UNL","mileage_charge":"0.00","mileage_unit":"MI"},"fees_total":"28.36","total_price":"67.08","other_charges_total":"28.36"},{"base_rate":"20.21","rate_plan":"D","xday_rate":"20.21","xhr_rate":"10.00","cartype":"CCAR","currency":"USD","car_description":"Ford Fiesta 4 Passengers or Similar","ratecode":"2D","rate_category":"S","base_quantity":2,"base_amount":"40.42","xday_quantity":0,"xday_amount":"0.00","xhr_quantity":0,"xhr_amount":"0.00","time_and_mileage":"40.42","fees":[{"name":"Facility Fee 0.77 PER DAY","rate":"0.77","quantity":1,"amount":"1.54"},{"name":"Customer Facility Charge 6.00 PER DAY","rate":"6.00","quantity":1,"amount":"12.00"},{"name":"Vehicle License Fee 5.00%","rate":"5.00","quantity":1,"amount":"2.02"},{"name":"Concession Recovery Fee 11.10%","rate":"11.10","quantity":1,"amount":"4.66"},{"name":"Sales Tax 11.30%","rate":"11.30","quantity":1,"amount":"6.10"},{"name":"Country Surcharge 3.25%","rate":"3.25","quantity":1,"amount":"2.50"}],"discounts":[],"mileage_rules":{"base_mileage":"UNL","base_mileage_total":"UNL","xday_mileage":"UNL","xday_mileage_total":"UNL","xhr_mileage":"UNL","xhr_mileage_total":"UNL","mileage_charge":"0.00","mileage_unit":"MI"},"fees_total":"28.82","total_price":"69.24","other_charges_total":"28.82"},{"base_rate":"21.01","rate_plan":"D","xday_rate":"21.01","xhr_rate":"10.00","cartype":"ICAR","currency":"USD","car_description":"Nissan Sentra 5 Passengers or Similar","ratecode":"2D","rate_category":"S","base_quantity":2,"base_amount":"42.02","xday_quantity":0,"xday_amount":"0.00","xhr_quantity":0,"xhr_amount":"0.00","time_and_mileage":"42.02","fees":[{"name":"Facility Fee 0.77 PER DAY","rate":"0.77","quantity":1,"amount":"1.54"},{"name":"Customer Facility Charge 6.00 PER DAY","rate":"6.00","quantity":1,"amount":"12.00"},{"name":"Vehicle License Fee 5.00%","rate":"5.00","quantity":1,"amount":"2.10"},{"name":"Concession Recovery Fee 11.10%","rate":"11.10","quantity":1,"amount":"4.84"},{"name":"Sales Tax 11.30%","rate":"11.30","quantity":1,"amount":"6.28"},{"name":"Country Surcharge 3.25%","rate":"3.25","quantity":1,"amount":"2.50"}],"discounts":[],"mileage_rules":{"base_mileage":"UNL","base_mileage_total":"UNL","xday_mileage":"UNL","xday_mileage_total":"UNL","xhr_mileage":"UNL","xhr_mileage_total":"UNL","mileage_charge":"0.00","mileage_unit":"MI"},"fees_total":"29.26","total_price":"71.28","other_charges_total":"29.26"},{"base_rate":"21.80","rate_plan":"D","xday_rate":"21.80","xhr_rate":"10.00","cartype":"SCAR","currency":"USD","car_description":"Ford Fusion 5 Passengers or Similar","ratecode":"2D","rate_category":"S","base_quantity":2,"base_amount":"43.60","xday_quantity":0,"xday_amount":"0.00","xhr_quantity":0,"xhr_amount":"0.00","time_and_mileage":"43.60","fees":[{"name":"Facility Fee 0.77 PER DAY","rate":"0.77","quantity":1,"amount":"1.54"},{"name":"Customer Facility Charge 6.00 PER DAY","rate":"6.00","quantity":1,"amount":"12.00"},{"name":"Vehicle License Fee 5.00%","rate":"5.00","quantity":1,"amount":"2.18"},{"name":"Concession Recovery Fee 11.10%","rate":"11.10","quantity":1,"amount":"5.01"},{"name":"Sales Tax 11.30%","rate":"11.30","quantity":1,"amount":"6.46"},{"name":"Country Surcharge 3.25%","rate":"3.25","quantity":1,"amount":"2.50"}],"discounts":[],"mileage_rules":{"base_mileage":"UNL","base_mileage_total":"UNL","xday_mileage":"UNL","xday_mileage_total":"UNL","xhr_mileage":"UNL","xhr_mileage_total":"UNL","mileage_charge":"0.00","mileage_unit":"MI"},"fees_total":"29.69","total_price":"73.29","other_charges_total":"29.69"},{"base_rate":"20.60","rate_plan":"D","xday_rate":"20.60","xhr_rate":"10.00","cartype":"FCAR","currency":"USD","car_description":"Hyundai Sonata 5 Passengers or Similar","ratecode":"2D","rate_category":"S","base_quantity":2,"base_amount":"41.20","xday_quantity":0,"xday_amount":"0.00","xhr_quantity":0,"xhr_amount":"0.00","time_and_mileage":"41.20","fees":[{"name":"Facility Fee 0.77 PER DAY","rate":"0.77","quantity":1,"amount":"1.54"},{"name":"Customer Facility Charge 6.00 PER DAY","rate":"6.00","quantity":1,"amount":"12.00"},{"name":"Vehicle License Fee 5.00%","rate":"5.00","quantity":1,"amount":"2.06"},{"name":"Concession Recovery Fee 11.10%","rate":"11.10","quantity":1,"amount":"4.74"},{"name":"Sales Tax 11.30%","rate":"11.30","quantity":1,"amount":"6.19"},{"name":"Country Surcharge 3.25%","rate":"3.25","quantity":1,"amount":"2.50"}],"discounts":[],"mileage_rules":{"base_mileage":"UNL","base_mileage_total":"UNL","xday_mileage":"UNL","xday_mileage_total":"UNL","xhr_mileage":"UNL","xhr_mileage_total":"UNL","mileage_charge":"0.00","mileage_unit":"MI"},"fees_total":"29.03","total_price":"70.23","other_charges_total":"29.03"},{"base_rate":"69.99","rate_plan":"D","xday_rate":"69.99","xhr_rate":"23.33","cartype":"PCAR","currency":"USD","car_description":"Hyundai Azera 5 Passengers or Similar","ratecode":"2D","rate_category":"S","base_quantity":2,"base_amount":"139.98","xday_quantity":0,"xday_amount":"0.00","xhr_quantity":0,"xhr_amount":"0.00","time_and_mileage":"139.98","fees":[{"name":"Facility Fee 0.77 PER DAY","rate":"0.77","quantity":1,"amount":"1.54"},{"name":"Customer Facility Charge 6.00 PER DAY","rate":"6.00","quantity":1,"amount":"12.00"},{"name":"Vehicle License Fee 5.00%","rate":"5.00","quantity":1,"amount":"7.00"},{"name":"Concession Recovery Fee 11.10%","rate":"11.10","quantity":1,"amount":"15.71"},{"name":"Sales Tax 11.30%","rate":"11.30","quantity":1,"amount":"17.35"},{"name":"Country Surcharge 3.25%","rate":"3.25","quantity":1,"amount":"5.50"}],"discounts":[],"mileage_rules":{"base_mileage":"UNL","base_mileage_total":"UNL","xday_mileage":"UNL","xday_mileage_total":"UNL","xhr_mileage":"UNL","xhr_mileage_total":"UNL","mileage_charge":"0.00","mileage_unit":"MI"},"fees_total":"59.10","total_price":"199.08","other_charges_total":"59.1"},{"base_rate":"99.99","rate_plan":"D","xday_rate":"99.99","xhr_rate":"33.33","cartype":"LCAR","currency":"USD","car_description":"Chrysler 300 5 Passengers or Similar","ratecode":"2D","rate_category":"S","base_quantity":2,"base_amount":"199.98","xday_quantity":0,"xday_amount":"0.00","xhr_quantity":0,"xhr_amount":"0.00","time_and_mileage":"199.98","fees":[{"name":"Facility Fee 0.77 PER DAY","rate":"0.77","quantity":1,"amount":"1.54"},{"name":"Customer Facility Charge 6.00 PER DAY","rate":"6.00","quantity":1,"amount":"12.00"},{"name":"Vehicle License Fee 5.00%","rate":"5.00","quantity":1,"amount":"10.00"},{"name":"Concession Recovery Fee 11.10%","rate":"11.10","quantity":1,"amount":"22.37"},{"name":"Sales Tax 11.30%","rate":"11.30","quantity":1,"amount":"24.13"},{"name":"Country Surcharge 3.25%","rate":"3.25","quantity":1,"amount":"7.67"}],"discounts":[],"mileage_rules":{"base_mileage":"UNL","base_mileage_total":"UNL","xday_mileage":"UNL","xday_mileage_total":"UNL","xhr_mileage":"UNL","xhr_mileage_total":"UNL","mileage_charge":"0.00","mileage_unit":"MI"},"fees_total":"77.71","total_price":"277.69","other_charges_total":"77.71"},{"base_rate":"79.99","rate_plan":"D","xday_rate":"79.99","xhr_rate":"26.66","cartype":"IFAR","currency":"USD","car_description":"Kia Sorento 5 Passengers or Similar","ratecode":"2D","rate_category":"S","base_quantity":2,"base_amount":"159.98","xday_quantity":0,"xday_amount":"0.00","xhr_quantity":0,"xhr_amount":"0.00","time_and_mileage":"159.98","fees":[{"name":"Facility Fee 0.77 PER DAY","rate":"0.77","quantity":1,"amount":"1.54"},{"name":"Customer Facility Charge 6.00 PER DAY","rate":"6.00","quantity":1,"amount":"12.00"},{"name":"Vehicle License Fee 5.00%","rate":"5.00","quantity":1,"amount":"8.00"},{"name":"Concession Recovery Fee 11.10%","rate":"11.10","quantity":1,"amount":"17.93"},{"name":"Sales Tax 11.30%","rate":"11.30","quantity":1,"amount":"19.61"},{"name":"Country Surcharge 3.25%","rate":"3.25","quantity":1,"amount":"6.22"}],"discounts":[],"mileage_rules":{"base_mileage":"UNL","base_mileage_total":"UNL","xday_mileage":"UNL","xday_mileage_total":"UNL","xhr_mileage":"UNL","xhr_mileage_total":"UNL","mileage_charge":"0.00","mileage_unit":"MI"},"fees_total":"65.30","total_price":"225.28","other_charges_total":"65.3"},{"base_rate":"89.99","rate_plan":"D","xday_rate":"89.99","xhr_rate":"30.00","cartype":"SFAR","currency":"USD","car_description":"Ford Explorer 5 Passengers or Similar","ratecode":"2D","rate_category":"S","base_quantity":2,"base_amount":"179.98","xday_quantity":0,"xday_amount":"0.00","xhr_quantity":0,"xhr_amount":"0.00","time_and_mileage":"179.98","fees":[{"name":"Facility Fee 0.77 PER DAY","rate":"0.77","quantity":1,"amount":"1.54"},{"name":"Customer Facility Charge 6.00 PER DAY","rate":"6.00","quantity":1,"amount":"12.00"},{"name":"Vehicle License Fee 5.00%","rate":"5.00","quantity":1,"amount":"9.00"},{"name":"Concession Recovery Fee 11.10%","rate":"11.10","quantity":1,"amount":"20.15"},{"name":"Sales Tax 11.30%","rate":"11.30","quantity":1,"amount":"21.87"},{"name":"Country Surcharge 3.25%","rate":"3.25","quantity":1,"amount":"6.94"}],"discounts":[],"mileage_rules":{"base_mileage":"UNL","base_mileage_total":"UNL","xday_mileage":"UNL","xday_mileage_total":"UNL","xhr_mileage":"UNL","xhr_mileage_total":"UNL","mileage_charge":"0.00","mileage_unit":"MI"},"fees_total":"71.50","total_price":"251.48","other_charges_total":"71.5"},{"base_rate":"78.99","rate_plan":"D","xday_rate":"78.99","xhr_rate":"26.33","cartype":"MVAR","currency":"USD","car_description":"Kia Sedona 7 Passengers or Similar","ratecode":"2D","rate_category":"S","base_quantity":2,"base_amount":"157.98","xday_quantity":0,"xday_amount":"0.00","xhr_quantity":0,"xhr_amount":"0.00","time_and_mileage":"157.98","fees":[{"name":"Facility Fee 0.77 PER DAY","rate":"0.77","quantity":1,"amount":"1.54"},{"name":"Customer Facility Charge 6.00 PER DAY","rate":"6.00","quantity":1,"amount":"12.00"},{"name":"Vehicle License Fee 5.00%","rate":"5.00","quantity":1,"amount":"7.90"},{"name":"Concession Recovery Fee 11.10%","rate":"11.10","quantity":1,"amount":"17.71"},{"name":"Sales Tax 11.30%","rate":"11.30","quantity":1,"amount":"19.38"},{"name":"Country Surcharge 3.25%","rate":"3.25","quantity":1,"amount":"6.15"}],"discounts":[],"mileage_rules":{"base_mileage":"UNL","base_mileage_total":"UNL","xday_mileage":"UNL","xday_mileage_total":"UNL","xhr_mileage":"UNL","xhr_mileage_total":"UNL","mileage_charge":"0.00","mileage_unit":"MI"},"fees_total":"64.68","total_price":"222.66","other_charges_total":"64.68"},{"base_rate":"175.36","rate_plan":"D","xday_rate":"175.36","xhr_rate":"58.45","cartype":"STAR","currency":"USD","car_description":"Chrysler 200 4 Passengers or Similar","ratecode":"2D","rate_category":"S","base_quantity":2,"base_amount":"350.72","xday_quantity":0,"xday_amount":"0.00","xhr_quantity":0,"xhr_amount":"0.00","time_and_mileage":"350.72","fees":[{"name":"Facility Fee 0.77 PER DAY","rate":"0.77","quantity":1,"amount":"1.54"},{"name":"Customer Facility Charge 6.00 PER DAY","rate":"6.00","quantity":1,"amount":"12.00"},{"name":"Vehicle License Fee 5.00%","rate":"5.00","quantity":1,"amount":"17.54"},{"name":"Concession Recovery Fee 11.10%","rate":"11.10","quantity":1,"amount":"39.10"},{"name":"Sales Tax 11.30%","rate":"11.30","quantity":1,"amount":"41.16"},{"name":"Country Surcharge 3.25%","rate":"3.25","quantity":1,"amount":"13.11"}],"discounts":[],"mileage_rules":{"base_mileage":"UNL","base_mileage_total":"UNL","xday_mileage":"UNL","xday_mileage_total":"UNL","xhr_mileage":"UNL","xhr_mileage_total":"UNL","mileage_charge":"0.00","mileage_unit":"MI"},"fees_total":"124.45","total_price":"475.17","other_charges_total":"124.45"}]} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| def results | |
| #validation sequence | |
| enough_info? && | |
| pickup_location_exists? && | |
| valid_pickup_date? && | |
| valid_pickup_time? && | |
| valid_return_date? && | |
| valid_return_time? && | |
| pickup_in_future? && | |
| pickup_before_return? && | |
| return_location_exists? && | |
| pickup_location_open? && | |
| return_location_open? && | |
| cars_available? && | |
| rates_available? | |
| @results[:function] = case @request[:function] | |
| when 'AS' then 'AS' | |
| when 'RQ' then 'RQ' | |
| when 'AN' then 'ANS' | |
| end | |
| @results[:pickup_location] = @request[:pickup_location] #<pickup_location> | |
| @results[:pickup_location_airport_code] = @pickup_location_airport_code if @pickup_location_airport_code.present? #<pickup_location_apid> | |
| @results[:pickup_location_name] = @pickup_location.name if @pickup_location #<location_name> | |
| @results[:pickup_location_type] = @pickup_location.location_type.code if @pickup_location && @request[:source] != 'INTERNET' #<in_terminal> | |
| @results[:pickup_date] = @request[:pickup_date] #<pickup_date> | |
| @results[:pickup_time] = @request[:pickup_time] #<pickup_time> | |
| @results[:return_location] = @request[:return_location] #<return_location> | |
| @results[:return_location_airport_code] = @return_location_airport_code if @return_location_airport_code #<return_location_apid> | |
| @results[:return_date] = @request[:return_date] #<return_date> | |
| @results[:return_time] = @request[:return_time] #<return_time> | |
| if @rental_length.present? | |
| @results[:rental_length] = @rental_length[:days].to_s.rjust(3,"0") + @rental_length[:hours].to_s.rjust(2,"0") #<rental_length> | |
| @results[:rental_days] = @rental_length[:days].to_s.rjust(3,"0") #<rental_days> | |
| @results[:rental_hours] = @rental_length[:hours].to_s.rjust(2,"0") #<rental_hours> | |
| end | |
| @results[:error_number] = @error_number #<error_number> | |
| @results[:error_text] = @error_text if @error_text.present? #<error_text> | |
| if @rates.present? | |
| if %w(RQ AN).include? @request[:function] | |
| rate = @rates.first | |
| @results[:payment_options] = @pickup_location.payment_options.map(&:code).join("*") #<forms_of_payment> | |
| @results[:pickup_location_address] = @pickup_location.full_address #<pickup_addr> | |
| @results[:operating_hours] = @operating_hours #<hours_operation> | |
| @results[:text_rule] = rate[:text_rule] #<text_rule> | |
| @results[:min_advanced] = rate[:min_advanced] #<advance_qty> | |
| @results[:min_advanced_unit] = 'MIN' #<advance_unit> | |
| @results[:min_length] = rate[:min_length] #<min_rate_qty> | |
| @results[:min_length_unit] = 'H' #<min_rate_units> | |
| @results[:base_length] = rate[:base_length] #<max_rate_qty> | |
| @results[:base_length_unit] = 'H' #<max_rate_units> | |
| @results[:max_length] = rate[:max_length] #<max_rental_qty> | |
| @results[:max_length_unit] = 'H' #<max_rental_units> | |
| @results[:pickup_location_code] = @pickup_location.code | |
| @results[:return_location_code] = @return_location.code | |
| @results[:pickup_location_timezone] = @pickup_location.timezone | |
| @results[:return_location_timezone] = @return_location.timezone | |
| @results[:pickup_notes] = @pickup_location.pickup_notes | |
| end | |
| @results[:rates] = @rates.each { |rate| rate.delete_if { |key| [ :text_rule, :min_advanced ].include? key } } | |
| end | |
| @results | |
| end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment