windy 0.1.1 → 0.1.2

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 (2) hide show
  1. data/lib/windy.rb +15 -3
  2. metadata +42 -9
@@ -1,13 +1,24 @@
1
- require 'faraday'
1
+ require 'faraday_middleware'
2
2
  require 'multi_json'
3
3
 
4
4
  module Windy
5
- VERSION = '0.1.1'
5
+ VERSION = '0.1.2'
6
6
 
7
7
  class << self
8
8
  attr_accessor :app_token, :debug
9
9
  end
10
10
 
11
+ module Response
12
+ class RaiseClientError < Faraday::Response::Middleware
13
+ def on_complete(env)
14
+ case env[:status].to_i
15
+ when 403
16
+ raise env[:response_headers][:x_error_message]
17
+ end
18
+ end
19
+ end
20
+ end
21
+
11
22
  class SocrataAppTokenMiddleware < Faraday::Middleware
12
23
  def call(env)
13
24
  raise "You must specify an app token" if !Windy.app_token
@@ -26,6 +37,7 @@ module Windy
26
37
  def initialize
27
38
  @connection = Faraday.new(:url => self.class.root) do |builder|
28
39
  builder.use SocrataAppTokenMiddleware
40
+ builder.use Windy::Response::RaiseClientError
29
41
  builder.request :json
30
42
 
31
43
  # Enable logger output with Windy.debug = true
@@ -50,7 +62,7 @@ module Windy
50
62
  def json
51
63
  # For some reason ruby 1.9.x seems to be trying to parse the
52
64
  # API JSON output as ASCII instead of UTF-8
53
- body.force_encoding("UTF-8") unless body.nil?
65
+ body.force_encoding("UTF-8") unless body.nil? || !body.respond_to?(:force_encoding)
54
66
  @json ||= MultiJson.decode(body)
55
67
  end
56
68
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: windy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,22 +10,22 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-10-01 00:00:00.000000000 Z
13
+ date: 2012-09-10 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: faraday
17
- requirement: &70259918929340 !ruby/object:Gem::Requirement
16
+ name: faraday_middleware
17
+ requirement: &70299043698520 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
21
21
  - !ruby/object:Gem::Version
22
- version: '0.7'
22
+ version: '0.8'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70259918929340
25
+ version_requirements: *70299043698520
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: multi_json
28
- requirement: &70259918928720 !ruby/object:Gem::Requirement
28
+ requirement: &70299043697700 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,7 +33,40 @@ dependencies:
33
33
  version: '1.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *70259918928720
36
+ version_requirements: *70299043697700
37
+ - !ruby/object:Gem::Dependency
38
+ name: rspec
39
+ requirement: &70299043695820 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ version: '2.6'
45
+ type: :development
46
+ prerelease: false
47
+ version_requirements: *70299043695820
48
+ - !ruby/object:Gem::Dependency
49
+ name: simplecov
50
+ requirement: &70299043694820 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: '0.4'
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: *70299043694820
59
+ - !ruby/object:Gem::Dependency
60
+ name: webmock
61
+ requirement: &70299043694020 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ~>
65
+ - !ruby/object:Gem::Version
66
+ version: '1.7'
67
+ type: :development
68
+ prerelease: false
69
+ version_requirements: *70299043694020
37
70
  description: Windy is a Ruby module that allows you to easily interact with the City
38
71
  of Chicago's Data Portal.
39
72
  email:
@@ -65,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
98
  version: '0'
66
99
  requirements: []
67
100
  rubyforge_project:
68
- rubygems_version: 1.8.10
101
+ rubygems_version: 1.8.11
69
102
  signing_key:
70
103
  specification_version: 3
71
104
  summary: Ruby interface to the City of Chicago's Data Portal API