ruby-booker 0.0.12 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/booker.rb +37 -1
  3. data/lib/booker/helpers.rb +7 -0
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 13872ae103db18774786c537673cd9e3fb48a8e2
4
- data.tar.gz: 61b27b14c5a83fa426433c00e7ef5e52db08e5f1
3
+ metadata.gz: e6e9d35b6c453f61698db184f5c0eafc2bfe612b
4
+ data.tar.gz: 95e5050de6c5965dc85d8038465c68d5a68f4e95
5
5
  SHA512:
6
- metadata.gz: 705e444dfe817f0cbc6157d9d3addcb9d05cf6f483551d162fefbc2e6636f82714af91b90a4b3ca99d7ce97d453dfed507fa5f0ca6d346d98bb2abf0af51b7ee
7
- data.tar.gz: 5ede4748d88c6fbec7396977534c71f8cc74e0cdb57734e3c462500c11cf885398b284c48550bcbfc0f688a226f4e0de39d12483e82b4e2e45cfdef9af5f8a3b
6
+ metadata.gz: a0a868bacb3599cfe898aa00e83e87c676fed6337a805609c31dccea368372bd39fd4fddffadd3c955d263faf5fe7b853f924a16f7c6971adf18ef9f6d969b23
7
+ data.tar.gz: e4d500dc0939959fe2ea3a91f83ef726e25ff3037ca9ea6f32e7a72a545dd20cc92980034335f68483cc7f72f3ffe023b4fd65c35e6903621413e98dab94fe4f
data/lib/booker.rb CHANGED
@@ -2,7 +2,7 @@ require 'httparty'
2
2
  require 'booker/helpers'
3
3
 
4
4
  module Booker
5
- VERSION = "0.0.12"
5
+ VERSION = "0.0.13"
6
6
  BASE_HOST = "stable-app.secure-booker.com"
7
7
  BASE_PATH = "/WebService4/json/customerService.svc"
8
8
 
@@ -95,6 +95,34 @@ module Booker
95
95
  return_post_response url, defaults, options
96
96
  end
97
97
 
98
+ def run_multi_spa_availability options = {}
99
+ # TODO: Assert required fields are present
100
+ url = build_url '/availability/multispa'
101
+ defaults = {
102
+ #"AirportCode" => "",
103
+ #"BrandID" => null,
104
+ #"CityName" => "New York City",
105
+ #"CountryCode" => "USA",
106
+ #"IsApiDistributionPartner" => null,
107
+ #"Latitude" => null,
108
+ #"Longitude" => null,
109
+ "Radius" => 20,
110
+ #"SpaExistsInSpaFinder" => null,
111
+ #"StateAbbr" => "NY",
112
+ "ZipCode" => "77057",
113
+ "MaxNumberOfLocations" => 5,
114
+ "EndDateTime" => Time.now.to_i + 60 * 60 * 5,
115
+ #"LocationID" => 3749,
116
+ #"MaxTimesPerTreatment" => 2,
117
+ "StartDateTime" => Time.now.to_i,
118
+ "TreatmentCategoryID" => 30,
119
+ "TreatmentSubCategoryID" => 218,
120
+ "access_token" => @access_token
121
+ }
122
+ convert_time_to_booker_format! options
123
+ return_post_response url, defaults, options
124
+ end
125
+
98
126
  # http://apidoc.booker.com/Method/Detail/123
99
127
  def find_treatments options = {}
100
128
  raise Booker::ArgumentError, 'LocationID is required' unless options['LocationID']
@@ -199,6 +227,7 @@ module Booker
199
227
  private
200
228
  def return_post_response url, defaults, options
201
229
  options = defaults.merge(options)
230
+ log_options options
202
231
  response = post url, options
203
232
  parse_body response.body
204
233
  end
@@ -256,6 +285,13 @@ module Booker
256
285
  options['StartDateTime'] = Booker::Helpers.format_date options['StartDateTime'], server_time_offset
257
286
  options['EndDateTime'] = Booker::Helpers.format_date options['EndDateTime'], server_time_offset
258
287
  end
288
+
289
+ def log_options options
290
+ p "-----------------------"
291
+ p "Ruby-Booker Options:"
292
+ p options
293
+ p "-----------------------"
294
+ end
259
295
  end
260
296
 
261
297
  class ArgumentError < StandardError; end
@@ -8,5 +8,12 @@ module Booker
8
8
 
9
9
  "/Date(#{(time.in_time_zone(offset)).to_i * 1000})/"
10
10
  end
11
+
12
+ def self.parse_date time
13
+ return nil unless time
14
+
15
+ time = time.scan(/\d+/).first.to_i
16
+ Time.at(time).to_datetime
17
+ end
11
18
  end
12
19
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-booker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jake Craige
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-24 00:00:00.000000000 Z
11
+ date: 2014-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty