Class: Vng::Lock
- Inherits:
-
Object
- Object
- Vng::Lock
- Defined in:
- lib/vng/lock.rb
Overview
Provides methods to interact with Vonigo locks.
Instance Attribute Summary collapse
-
#id ⇒ Object
readonly
Returns the value of attribute id.
Class Method Summary collapse
Instance Method Summary collapse
- #destroy ⇒ Object
-
#initialize(id:) ⇒ Lock
constructor
A new instance of Lock.
Constructor Details
#initialize(id:) ⇒ Lock
Returns a new instance of Lock.
6 7 8 |
# File 'lib/vng/lock.rb', line 6 def initialize(id:) @id = id end |
Instance Attribute Details
#id ⇒ Object (readonly)
Returns the value of attribute id.
4 5 6 |
# File 'lib/vng/lock.rb', line 4 def id @id end |
Class Method Details
.create(duration:, location_id:, date:, minutes:, route_id:) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/vng/lock.rb', line 10 def self.create(duration:, location_id:, date:, minutes:, route_id:) body = { securityToken: Vng.configuration.security_token, method: '2', serviceTypeID: '14', # only create items of serviceType 'Pet Grooming' duration: duration.to_i, locationID: location_id, dayID: date.strftime('%Y%m%d'), routeID: route_id, startTime: minutes, } 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 id = JSON(response.body)['Ids']['lockID'] new id: id end |
Instance Method Details
#destroy ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/vng/lock.rb', line 36 def destroy body = { securityToken: Vng.configuration.security_token, method: '4', objectID: id, } 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 end |