open-weather 0.11.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1ad59e52bf16b188c02fa811012230dc6745c74b
4
- data.tar.gz: 225b8e3c265dd023669705c1e496807562a47ded
3
+ metadata.gz: 00ce51a41f4467b136b9b6fe7109e166467c968f
4
+ data.tar.gz: 794af8171b091546893941f14bf163044b78e031
5
5
  SHA512:
6
- metadata.gz: 3c3452fe71b08b2a3d5a910c435d51e70742da0e97f5fafaf02a71fea498ad4b24b528f3a83075830c18c32dab52edb9433d229cc75ebe54106f0cbc00fa8e7b
7
- data.tar.gz: e8b09324d7fbbffab0f5683a3693507cea4b47ef0be4c4cad06deec5ea1799931a86c7e90357cfae20412baa36d3c5b8fc098afda3c267b97c31a3dc5794fd0f
6
+ metadata.gz: ba9de01c6fb14b90d7c2e334d59a9e4654cef76f4ff06edf9b5d1c06ab48e365a188860c305b26e41fb50970d2ca90946cd10b417a7160ac0c61dce0cc97cdcb
7
+ data.tar.gz: 02d3624d4fcfb4ae2ef7ae44b694f5291c945a342a3d53294efa66aa42f00786a5087c7570fbd7d288ef8aa87ee44892037d8c32f9c2117b556ca86f1ffdd84c
data/.gitignore CHANGED
@@ -5,4 +5,5 @@
5
5
  *#
6
6
  *.DS_Store
7
7
  log/*
8
- tmp/*
8
+ tmp/*
9
+ Gemfile.lock
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.1.5
4
+ script:
5
+ - bundle exec rspec
@@ -0,0 +1,17 @@
1
+ ### CONTRIBUTORS
2
+
3
+ [Harisankar P S](https://github.com/coderhs)
4
+
5
+ [Deepak Kumar](https://github.com/42races)
6
+
7
+ [Daniel Nitsikopoulos](https://github.com/dNitza)
8
+
9
+ [Yone Lacort Collado](https://github.com/yonelacort)
10
+
11
+ [iamdeuterium](https://github.com/iamdeuterium)
12
+
13
+ [ssendev](https://github.com/ssendev)
14
+
15
+ [Nithin Bekal](https://github.com/nithinbekal)
16
+
17
+ [Jesse Emond](https://github.com/JesseEmond)
data/Gemfile CHANGED
@@ -1,5 +1,4 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
- gem 'rspec'
4
- gem 'vcr'
5
- gem 'webmock'
3
+ # gem's dependencies should be in open_weather.gemspec
4
+ gemspec
data/README.md CHANGED
@@ -1,8 +1,10 @@
1
1
  ## A ruby wrapper for Open Weather Map API.
2
2
 
3
+ [![Build Status](https://travis-ci.org/coderhs/ruby_open_weather_map.svg?branch=master)](https://travis-ci.org/coderhs/ruby_open_weather_map)
4
+
3
5
  ## Installation
4
6
 
5
- Latest version `0.11.0`
7
+ Latest version `0.12.0`
6
8
 
7
9
  Add the following to your **Gemfile**
8
10
 
@@ -29,6 +31,15 @@ OpenWeather::Current.city_id("1273874")
29
31
  # get current weather by geocode. (lat, lon)
30
32
  OpenWeather::Current.geocode(9.94, 76.26)
31
33
 
34
+ # get current weather for a list of city ids
35
+ OpenWeather::Current.cities([524901, 703448, 2643743])
36
+
37
+ # get current weather for a bounding box
38
+ OpenWeather::Current.rectangle_zone(12, 32, 15, 37, 10)
39
+
40
+ # get current weather for cities around a point
41
+ OpenWeather::Current.circle_zone(55.5, 37.5, 10)
42
+
32
43
  # get the current weather in degrees celsius
33
44
  OpenWeather::Current.city("Cochin, IN", units: 'metric')
34
45
  ```
@@ -1,11 +1,11 @@
1
1
  module OpenWeather
2
- $LOAD_PATH<< "../lib"
2
+ $LOAD_PATH<< '../lib'
3
3
 
4
- autoload :Base, "open_weather/base"
5
- autoload :Current, "open_weather/current"
6
- autoload :Forecast, "open_weather/forecast"
7
- autoload :ForecastDaily, "open_weather/forecast_daily"
8
- autoload :VERSION, "open_weather/version"
4
+ autoload :Base, 'open_weather/base'
5
+ autoload :Current, 'open_weather/current'
6
+ autoload :Forecast, 'open_weather/forecast'
7
+ autoload :ForecastDaily, 'open_weather/forecast_daily'
8
+ autoload :VERSION, 'open_weather/version'
9
9
 
10
- require "open_weather/api.rb"
10
+ require 'open_weather/api.rb'
11
11
  end
@@ -1,25 +1,63 @@
1
1
 
2
2
  module OpenWeather
3
3
  module ClassMethods
4
- #City format : Eg, Cochin,IN
5
- #Useage: OpenWeather::Current.city('Cochin,In')
4
+ # City format : Eg, Cochin,IN
5
+ # Usage: OpenWeather::Current.city('Cochin,In')
6
6
  def city(city, options = {})
7
- new(options.merge(city: city)).retrive
7
+ new(options.merge(city: city)).retrieve
8
8
  end
9
9
 
10
- #City Id, an integer value. Eg, 2172797
11
- #Useage: OpenWeather::Current.city_id(2172797)
10
+ # City Id, an integer value. Eg, 2172797
11
+ # Usage: OpenWeather::Current.city_id(2172797)
12
12
  def city_id(id, options = {})
13
- new(options.merge(id: id)).retrive
13
+ new(options.merge(id: id)).retrieve
14
14
  end
15
15
 
16
- #City Geographics Cordingates : Eg, lat 35 lon 139
16
+ # City Geographics Cordingates : Eg, lat 35 lon 139
17
17
  def geocode(lat, lon, options = {})
18
- new(options.merge(lat: lat, lon: lon)).retrive
18
+ new(options.merge(lat: lat, lon: lon)).retrieve
19
+ end
20
+ end
21
+
22
+ module SeveralCitiesClassMethods
23
+ # City Ids, an array of integer values. Eg, [2172797, 524901]
24
+ # Usage: OpenWeather::Current.cities([2172797, 524901])
25
+ def cities(ids, options = {})
26
+ url = 'http://api.openweathermap.org/data/2.5/group'
27
+ ids = encode_array ids
28
+ new(options.merge(id: ids)).retrieve url
29
+ end
30
+
31
+ # Bounding box (lat and lon of top left and bottom right points, map zoom)
32
+ # Usage: OpenWeather::Current.rectangle_zone(12, 32, 15, 37, 10)
33
+ def rectangle_zone(top_left_lat, top_left_lon,
34
+ bottom_right_lat, bottom_right_lon,
35
+ map_zoom, options = {})
36
+ url = 'http://api.openweathermap.org/data/2.5/box/city'
37
+ bbox = encode_array [top_left_lat, top_left_lon, bottom_right_lat,
38
+ bottom_right_lon, map_zoom]
39
+ new(options.merge(bbox: bbox)).retrieve url
40
+ end
41
+
42
+ # Circle zone (lat, lon and count of cities to return)
43
+ # Usage: OpenWeather::Current.circle_zone(55.5, 37.5, 10)
44
+ def circle_zone(lat, lon, count, options = {})
45
+ url = 'http://api.openweathermap.org/data/2.5/find'
46
+ new(options.merge(lat: lat, lon: lon, cnt: count)).retrieve url
47
+ end
48
+
49
+ private
50
+ # Encodes an array in the format expected by the API (comma-separated list)
51
+ def encode_array(arr)
52
+ arr.join ','
19
53
  end
20
54
  end
21
55
 
22
56
  class Base
23
57
  extend ClassMethods
24
58
  end
59
+
60
+ class Current
61
+ extend SeveralCitiesClassMethods
62
+ end
25
63
  end
@@ -6,15 +6,15 @@ module OpenWeather
6
6
 
7
7
  attr_reader :url, :options, :weather_info, :status, :message
8
8
 
9
- def initialize url, options
10
- @status = false
11
- @url = url
9
+ def initialize(url, options)
10
+ @status = false
11
+ @url = url
12
12
  @options = extract_options!(options)
13
13
  end
14
14
 
15
- def retrive
16
- @response = send_request(self) unless @options.empty?
17
- parse_response if @response
15
+ def retrieve(url=nil)
16
+ response = send_request url unless @options.empty?
17
+ parse_response(response)
18
18
  end
19
19
 
20
20
  def success?
@@ -24,7 +24,9 @@ module OpenWeather
24
24
  private
25
25
 
26
26
  def extract_options!(options)
27
- valid_options = [:lat, :lon, :city, :country, :id, :units, :cnt, :APPID, :lang]
27
+ valid_options = [ :id, :lat, :lon, :cnt, :city, :lang, :units, :APPID,
28
+ :country, :bbox]
29
+
28
30
  options.keys.each { |k| options.delete(k) unless valid_options.include?(k) }
29
31
 
30
32
  if options[:city] || options[:country]
@@ -36,16 +38,18 @@ module OpenWeather
36
38
  options
37
39
  end
38
40
 
39
- def parse_response
40
- @weather_info = JSON.parse(@response)
41
- @status = @weather_info["cod"]
42
- @message = @weather_info["message"] unless @status
41
+ def parse_response(response)
42
+ return if response.nil?
43
+ @weather_info = JSON.parse(response)
44
+ @status = @weather_info['cod']
45
+ @message = @weather_info['message'] unless @status
43
46
  @weather_info
44
47
  end
45
48
 
46
- def send_request(request)
47
- uri = URI(request.url)
48
- uri.query = URI.encode_www_form(request.options)
49
+ def send_request(url=nil)
50
+ url = url || @url
51
+ uri = URI(url)
52
+ uri.query = URI.encode_www_form(options)
49
53
  Net::HTTP.get(uri)
50
54
  end
51
55
  end
@@ -1,7 +1,7 @@
1
1
  module OpenWeather
2
2
  class Current < Base
3
3
  def initialize(options = {})
4
- super("http://api.openweathermap.org/data/2.5/weather", options)
4
+ super('http://api.openweathermap.org/data/2.5/weather', options)
5
5
  end
6
6
  end
7
7
  end
@@ -1,3 +1,3 @@
1
1
  module OpenWeather
2
- VERSION = "0.11.0"
2
+ VERSION = '0.12.0'
3
3
  end
@@ -1,20 +1,21 @@
1
- $:.push File.expand_path("../lib", __FILE__)
1
+ $:.push File.expand_path('../lib', __FILE__)
2
2
  require 'open_weather/version'
3
3
 
4
4
  Gem::Specification.new do |gem|
5
- gem.name = "open-weather"
5
+ gem.name = 'open-weather'
6
6
  gem.version = OpenWeather::VERSION
7
7
  gem.authors = ["HsPS mailme@hsps.in", "Deepak deepakkumarnd@gmail.com"]
8
+ gem.licenses = ['MIT']
8
9
  gem.email = ['mailme@hsps.in']
9
- gem.homepage = "https://github.com/coderhs/ruby_open_weather_map"
10
+ gem.homepage = 'https://github.com/coderhs/ruby_open_weather_map'
10
11
  gem.summary = %q{ A ruby wrapper for Open Weather Map API. }
11
12
  gem.description = %q{ A ruby wrapper for Open Weather Map API. }
12
13
  gem.files = `git ls-files`.split("\n")
13
14
  gem.test_files = gem.files.grep(/^(spec|test|features)/)
14
15
  gem.executables = gem.files.grep(/^bin/).map{ |f| File.basename(f) }
15
16
  gem.require_paths = ["lib"]
16
- gem.add_development_dependency "rspec"
17
- gem.add_development_dependency "vcr"
18
- gem.add_development_dependency "webmock"
19
- gem.add_runtime_dependency 'json'
17
+ gem.add_development_dependency 'rspec', '~> 2.13', '>= 2.13.0'
18
+ gem.add_development_dependency 'vcr', '~> 2.9', '>= 2.9.2'
19
+ gem.add_development_dependency 'webmock', '~> 1.18', '>= 1.18.0'
20
+ gem.add_runtime_dependency 'json', '~> 1'
20
21
  end
@@ -0,0 +1,47 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://api.openweathermap.org/data/2.5/find?cnt=-10&lat=55.5&lon=37.5
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ Host:
17
+ - api.openweathermap.org
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ Date:
26
+ - Fri, 04 Sep 2015 15:03:12 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ X-Source:
34
+ - redis
35
+ Access-Control-Allow-Origin:
36
+ - "*"
37
+ Access-Control-Allow-Credentials:
38
+ - 'true'
39
+ Access-Control-Allow-Methods:
40
+ - GET, POST
41
+ body:
42
+ encoding: UTF-8
43
+ string: |
44
+ {"message":"exception: limit must be >=0","cod":"500"}
45
+ http_version:
46
+ recorded_at: Fri, 04 Sep 2015 15:03:11 GMT
47
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,122 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://api.openweathermap.org/data/2.5/find?cnt=10&lat=55.5&lon=37.5
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - "*/*"
14
+ User-Agent:
15
+ - Ruby
16
+ Host:
17
+ - api.openweathermap.org
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - nginx
25
+ Date:
26
+ - Fri, 04 Sep 2015 15:03:12 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ X-Source:
34
+ - redis
35
+ Access-Control-Allow-Origin:
36
+ - "*"
37
+ Access-Control-Allow-Credentials:
38
+ - 'true'
39
+ Access-Control-Allow-Methods:
40
+ - GET, POST
41
+ body:
42
+ encoding: ASCII-8BIT
43
+ string: !binary |-
44
+ eyJtZXNzYWdlIjoiYWNjdXJhdGUiLCJjb2QiOiIyMDAiLCJjb3VudCI6MTAs
45
+ Imxpc3QiOlt7ImlkIjo0OTUyNjAsIm5hbWUiOiJTaGNoZXJiaW5rYSIsImNv
46
+ b3JkIjp7ImxvbiI6MzcuNTU5NzE5LCJsYXQiOjU1LjQ5OTcyMn0sIm1haW4i
47
+ OnsidGVtcCI6Mjg4LjY4LCJwcmVzc3VyZSI6MTAxMywiaHVtaWRpdHkiOjgy
48
+ LCJ0ZW1wX21pbiI6Mjg0LjI2LCJ0ZW1wX21heCI6MjkxLjc1fSwiZHQiOjE0
49
+ NDEzNzU2MzUsIndpbmQiOnsic3BlZWQiOjMsImRlZyI6MjkwfSwic3lzIjp7
50
+ ImNvdW50cnkiOiIifSwiY2xvdWRzIjp7ImFsbCI6NzV9LCJ3ZWF0aGVyIjpb
51
+ eyJpZCI6ODAzLCJtYWluIjoiQ2xvdWRzIiwiZGVzY3JpcHRpb24iOiJicm9r
52
+ ZW4gY2xvdWRzIiwiaWNvbiI6IjA0ZCJ9XX0seyJpZCI6NTY0NTE3LCJuYW1l
53
+ IjoiRHVicm92aXRzeSIsImNvb3JkIjp7ImxvbiI6MzcuNDg2Njk4LCJsYXQi
54
+ OjU1LjQzOTY5fSwibWFpbiI6eyJ0ZW1wIjoyODguNjgsInByZXNzdXJlIjox
55
+ MDEzLCJodW1pZGl0eSI6ODIsInRlbXBfbWluIjoyODQuMjYsInRlbXBfbWF4
56
+ IjoyOTEuNzV9LCJkdCI6MTQ0MTM3NTYzNSwid2luZCI6eyJzcGVlZCI6Mywi
57
+ ZGVnIjoyOTB9LCJzeXMiOnsiY291bnRyeSI6IiJ9LCJjbG91ZHMiOnsiYWxs
58
+ Ijo3NX0sIndlYXRoZXIiOlt7ImlkIjo4MDMsIm1haW4iOiJDbG91ZHMiLCJk
59
+ ZXNjcmlwdGlvbiI6ImJyb2tlbiBjbG91ZHMiLCJpY29uIjoiMDRkIn1dfSx7
60
+ ImlkIjo1NzA1NzgsIm5hbWUiOiJCdXRvdm8iLCJjb29yZCI6eyJsb24iOjM3
61
+ LjU3OTcyLCJsYXQiOjU1LjU0ODMyOH0sIm1haW4iOnsidGVtcCI6Mjg4Ljcy
62
+ LCJwcmVzc3VyZSI6MTAxMywiaHVtaWRpdHkiOjgyLCJ0ZW1wX21pbiI6Mjg3
63
+ LjA0LCJ0ZW1wX21heCI6MjkwLjE1fSwiZHQiOjE0NDEzNzU2MzUsIndpbmQi
64
+ Onsic3BlZWQiOjMsImRlZyI6MjkwfSwic3lzIjp7ImNvdW50cnkiOiIifSwi
65
+ Y2xvdWRzIjp7ImFsbCI6NzV9LCJ3ZWF0aGVyIjpbeyJpZCI6ODAzLCJtYWlu
66
+ IjoiQ2xvdWRzIiwiZGVzY3JpcHRpb24iOiJicm9rZW4gY2xvdWRzIiwiaWNv
67
+ biI6IjA0ZCJ9XX0seyJpZCI6NTQ1NzgyLCJuYW1lIjoiS29tbXVuYXJrYSIs
68
+ ImNvb3JkIjp7ImxvbiI6MzcuNDg5MzE5LCJsYXQiOjU1LjU2OTUxOX0sIm1h
69
+ aW4iOnsidGVtcCI6Mjg4LjY3LCJwcmVzc3VyZSI6MTAxMywiaHVtaWRpdHki
70
+ OjgyLCJ0ZW1wX21pbiI6Mjg0LjI2LCJ0ZW1wX21heCI6MjkxLjc1fSwiZHQi
71
+ OjE0NDEzNzU2MzUsIndpbmQiOnsic3BlZWQiOjMsImRlZyI6MjkwfSwic3lz
72
+ Ijp7ImNvdW50cnkiOiIifSwiY2xvdWRzIjp7ImFsbCI6NzV9LCJ3ZWF0aGVy
73
+ IjpbeyJpZCI6ODAzLCJtYWluIjoiQ2xvdWRzIiwiZGVzY3JpcHRpb24iOiJi
74
+ cm9rZW4gY2xvdWRzIiwiaWNvbiI6IjA0ZCJ9XX0seyJpZCI6NjQxNzQ5MCwi
75
+ bmFtZSI6Ikxlc3BhcmtraG96IiwiY29vcmQiOnsibG9uIjozNy42MDEzOTEs
76
+ ImxhdCI6NTUuNTQzMDZ9LCJtYWluIjp7InRlbXAiOjI4OC43MiwicHJlc3N1
77
+ cmUiOjEwMTMsImh1bWlkaXR5Ijo4MiwidGVtcF9taW4iOjI4Ny4wNCwidGVt
78
+ cF9tYXgiOjI5MC4xNX0sImR0IjoxNDQxMzc1NjM1LCJ3aW5kIjp7InNwZWVk
79
+ IjozLCJkZWciOjI5MH0sInN5cyI6eyJjb3VudHJ5IjoiIn0sImNsb3VkcyI6
80
+ eyJhbGwiOjc1fSwid2VhdGhlciI6W3siaWQiOjgwMywibWFpbiI6IkNsb3Vk
81
+ cyIsImRlc2NyaXB0aW9uIjoiYnJva2VuIGNsb3VkcyIsImljb24iOiIwNGQi
82
+ fV19LHsiaWQiOjUyNjczNiwibmFtZSI6IlNlZOKAmW1veSBNaWtyb3JheW9u
83
+ IiwiY29vcmQiOnsibG9uIjozNy41Nzk3MiwibGF0Ijo1NS41NjIyMjJ9LCJt
84
+ YWluIjp7InRlbXAiOjI4OC42OCwicHJlc3N1cmUiOjEwMTMsImh1bWlkaXR5
85
+ Ijo4MiwidGVtcF9taW4iOjI4Ny4wNCwidGVtcF9tYXgiOjI5MC4xNX0sImR0
86
+ IjoxNDQxMzc1MDM2LCJ3aW5kIjp7InNwZWVkIjozLCJkZWciOjI5MH0sInN5
87
+ cyI6eyJjb3VudHJ5IjoiIn0sImNsb3VkcyI6eyJhbGwiOjc1fSwid2VhdGhl
88
+ ciI6W3siaWQiOjgwMywibWFpbiI6IkNsb3VkcyIsImRlc2NyaXB0aW9uIjoi
89
+ YnJva2VuIGNsb3VkcyIsImljb24iOiIwNGQifV19LHsiaWQiOjQ3MzA1MSwi
90
+ bmFtZSI6IlZsYXPigJl5ZXZvIiwiY29vcmQiOnsibG9uIjozNy4zNzk0NDQs
91
+ ImxhdCI6NTUuNDYwMjc4fSwibWFpbiI6eyJ0ZW1wIjoyODkuMjQsInByZXNz
92
+ dXJlIjoxMDEzLCJodW1pZGl0eSI6ODIsInRlbXBfbWluIjoyODcuMDQsInRl
93
+ bXBfbWF4IjoyOTEuNzV9LCJkdCI6MTQ0MTM3NTU2NSwid2luZCI6eyJzcGVl
94
+ ZCI6MywiZGVnIjoyOTB9LCJzeXMiOnsiY291bnRyeSI6IiJ9LCJjbG91ZHMi
95
+ OnsiYWxsIjo3NX0sIndlYXRoZXIiOlt7ImlkIjo4MDMsIm1haW4iOiJDbG91
96
+ ZHMiLCJkZXNjcmlwdGlvbiI6ImJyb2tlbiBjbG91ZHMiLCJpY29uIjoiMDRk
97
+ In1dfSx7ImlkIjo1Nzg2ODAsIm5hbWUiOiJCYWNodXJpbm8iLCJjb29yZCI6
98
+ eyJsb24iOjM3LjUyLCJsYXQiOjU1LjU4MDAwMn0sIm1haW4iOnsidGVtcCI6
99
+ Mjg4LjcsInByZXNzdXJlIjoxMDEzLCJodW1pZGl0eSI6ODIsInRlbXBfbWlu
100
+ IjoyODQuMjYsInRlbXBfbWF4IjoyOTIuMzV9LCJkdCI6MTQ0MTM3NTI2Nywi
101
+ d2luZCI6eyJzcGVlZCI6MywiZGVnIjoyOTB9LCJzeXMiOnsiY291bnRyeSI6
102
+ IiJ9LCJjbG91ZHMiOnsiYWxsIjo3NX0sIndlYXRoZXIiOlt7ImlkIjo4MDMs
103
+ Im1haW4iOiJDbG91ZHMiLCJkZXNjcmlwdGlvbiI6ImJyb2tlbiBjbG91ZHMi
104
+ LCJpY29uIjoiMDRkIn1dfSx7ImlkIjo1NTQ2MjksIm5hbWUiOiJTaGVzdG95
105
+ IE1pa3JvcmF5b24iLCJjb29yZCI6eyJsb24iOjM3LjU4MzMyOCwibGF0Ijo1
106
+ NS41NjY2Njl9LCJtYWluIjp7InRlbXAiOjI4OC43MiwicHJlc3N1cmUiOjEw
107
+ MTMsImh1bWlkaXR5Ijo4MiwidGVtcF9taW4iOjI4Ny4wNCwidGVtcF9tYXgi
108
+ OjI5MC4xNX0sImR0IjoxNDQxMzc1NjM1LCJ3aW5kIjp7InNwZWVkIjozLCJk
109
+ ZWciOjI5MH0sInN5cyI6eyJjb3VudHJ5IjoiIn0sImNsb3VkcyI6eyJhbGwi
110
+ Ojc1fSwid2VhdGhlciI6W3siaWQiOjgwMywibWFpbiI6IkNsb3VkcyIsImRl
111
+ c2NyaXB0aW9uIjoiYnJva2VuIGNsb3VkcyIsImljb24iOiIwNGQifV19LHsi
112
+ aWQiOjUwODEwMSwibmFtZSI6IlBvZG9sc2siLCJjb29yZCI6eyJsb24iOjM3
113
+ LjU1NDcyMiwibGF0Ijo1NS40MjQxNzl9LCJtYWluIjp7InRlbXAiOjI4OC42
114
+ NywicHJlc3N1cmUiOjEwMTMsImh1bWlkaXR5Ijo4MiwidGVtcF9taW4iOjI4
115
+ Ny4wNCwidGVtcF9tYXgiOjI5MC4xNX0sImR0IjoxNDQxMzc1MTI1LCJ3aW5k
116
+ Ijp7InNwZWVkIjozLCJkZWciOjI5MH0sInN5cyI6eyJjb3VudHJ5IjoiIn0s
117
+ ImNsb3VkcyI6eyJhbGwiOjc1fSwid2VhdGhlciI6W3siaWQiOjgwMywibWFp
118
+ biI6IkNsb3VkcyIsImRlc2NyaXB0aW9uIjoiYnJva2VuIGNsb3VkcyIsImlj
119
+ b24iOiIwNGQifV19XX0K
120
+ http_version:
121
+ recorded_at: Fri, 04 Sep 2015 15:03:11 GMT
122
+ recorded_with: VCR 2.9.3