Guest User

Untitled

a guest
Jun 20th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. class SetShipmentService
  2. attr_accessor :service_name, :city_code, :q
  3.  
  4. def initialize(args = nil)
  5. @service_name = args[:service_name]
  6. @city_code = args[:city_code]
  7. @q = args[:q]
  8. end
  9.  
  10. def get_point
  11. set_service(:get_point, service_name, q)
  12. end
  13.  
  14. def calculation
  15. set_service(:calculation, service_name, q)
  16. end
  17.  
  18. def list_cities
  19. set_service(:list_cities, service_name, q)
  20. end
  21.  
  22. def show_on_map
  23. set_service(:show_on_map, service_name, q, city_code)
  24. end
  25.  
  26. def get_zip_code
  27. set_service(:get_zip_code, service_name, q)
  28. end
  29.  
  30. def express_delivery_cities
  31. set_service(:express_delivery_cities, service_name, q)
  32. end
  33.  
  34. def express
  35. set_service(:express, service_name, q)
  36. end
  37.  
  38. private def set_service(meth, name, parametres = nil, params = nil)
  39. case name
  40. when "boxberry"
  41. ShipmentService::Boxberry.new(parametres).try(meth)
  42. when "cdek"
  43. ShipmentService::Sdek.new(parametres, params).try(meth)
  44. end
  45. end
  46. end
Add Comment
Please, Sign In to add comment