mudbug 0.4.7.3 → 0.5.0.1

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.7.3
1
+ 0.5.0.1
@@ -20,7 +20,11 @@ unless ARGV.shift == 'skip'
20
20
  mb.accept(acp)
21
21
 
22
22
  puts "GET #{url} [#{acp}]"
23
- mb.get path
23
+ begin
24
+ mb.get path
25
+ rescue RuntimeError => e
26
+ puts "#{e} (#{e.class})"
27
+ end
24
28
  }
25
29
  puts
26
30
  }
@@ -3,15 +3,16 @@ require 'json'
3
3
  require 'lager'
4
4
 
5
5
  class Mudbug
6
- extend Lager
7
- log_to $stderr, :warn
8
-
9
6
  def self.version
10
- vpath = File.join(File.dirname(__FILE__), '..', 'VERSION')
11
- File.read(vpath).chomp
7
+ file = File.expand_path('../../VERSION', __FILE__)
8
+ File.read(file).chomp
12
9
  end
13
10
 
11
+ extend Lager
12
+ log_to $stderr, :warn
13
+
14
14
  class StatusCodeError < RuntimeError; end
15
+ class ContentTypeError < RuntimeError; end
15
16
 
16
17
  # this structure declares what we support in the request Accept: header
17
18
  # and defines automatic processing of the response based on the
@@ -45,6 +46,7 @@ class Mudbug
45
46
  end
46
47
 
47
48
  # do stuff based on response's Content-type
49
+ # accept is e.g. [:json, :html]
48
50
  #
49
51
  def self.process(resp, accept = nil)
50
52
  @lager.debug { "response code: #{resp.code}" }
@@ -57,14 +59,16 @@ class Mudbug
57
59
  # do you even Content-type, bro?
58
60
  ct = resp.headers[:content_type]
59
61
  unless ct
60
- @lager.warn { "abort processing -- no response Content-type" }
62
+ @lager.warn { "abandon processing -- no response Content-type" }
61
63
  return resp.body
62
64
  end
63
65
 
64
- # warn if we got Content-type we didn't ask for
66
+ # get the content-type
65
67
  ct, charset = ct.split(';').map { |s| s.strip }
68
+
69
+ # raise if we got Content-type we didn't ask for
66
70
  if accept and !accept.include?(ct)
67
- @lager.warn { "Asked for #{accept} but got #{ct}" }
71
+ raise ContentTypeError, "Asked for #{accept} but got #{ct}"
68
72
  end
69
73
 
70
74
  # process the response for known content types
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mudbug
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.7.3
4
+ version: 0.5.0.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-08 00:00:00.000000000 Z
12
+ date: 2013-07-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client