Sha256: 9840d5da763115f66bd981ea9b5572f2b9a48ecb834edfe5dac746a740298f63
Contents?: true
Size: 1.69 KB
Versions: 1
Compression:
Stored size: 1.69 KB
Contents
module Vng # Provides methods to interact with Vonigo franchises. class Franchise attr_reader :id, :name, :gmt_offset def initialize(id:, name: nil, gmt_offset: nil) @id = id @name = name @gmt_offset = gmt_offset end def self.find_by(zip:) body = { securityToken: Vng.configuration.security_token, method: '1', zip: zip, } uri = URI::HTTPS.build host: 'aussiepetmobileusatraining2.vonigo.com', path: '/api/v1/resources/availability/' request = Net::HTTP::Post.new(uri.request_uri) request.initialize_http_header 'Content-Type' => 'application/json' request.body = body.to_json response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| http.request request end franchise_id = JSON(response.body)['Ids']['franchiseID'] new(id: franchise_id) unless franchise_id == '0' end def self.all body = { securityToken: Vng.configuration.security_token, } uri = URI::HTTPS.build host: 'aussiepetmobileusatraining2.vonigo.com', path: '/api/v1/resources/franchises/' request = Net::HTTP::Post.new(uri.request_uri) request.initialize_http_header 'Content-Type' => 'application/json' request.body = body.to_json response = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http| http.request request end JSON(response.body)['Franchises'].filter do |body| body['isActive'] end.map do |body| id = body['franchiseID'] name = body['franchiseName'] gmt_offset = body['gmtOffsetFranchise'] new id: id, name: name, gmt_offset: gmt_offset end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vng-0.1.13 | lib/vng/franchise.rb |