mudbug 0.4.6.7 → 0.4.7.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 +1 -1
- data/lib/mudbug.rb +12 -48
- data/rakefile.rb +31 -18
- data/test/mudbug.rb +2 -1
- metadata +4 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.7.1
|
data/lib/mudbug.rb
CHANGED
@@ -1,8 +1,11 @@
|
|
1
|
-
require 'logger'
|
2
1
|
require 'rest-client'
|
3
2
|
require 'json'
|
3
|
+
require 'lager'
|
4
4
|
|
5
5
|
class Mudbug
|
6
|
+
extend Lager
|
7
|
+
log_to $stderr, :warn
|
8
|
+
|
6
9
|
def self.version
|
7
10
|
vpath = File.join(File.dirname(__FILE__), '..', 'VERSION')
|
8
11
|
File.read(vpath).chomp
|
@@ -29,43 +32,6 @@ class Mudbug
|
|
29
32
|
},
|
30
33
|
}
|
31
34
|
|
32
|
-
def self.log_to dest=nil
|
33
|
-
case dest
|
34
|
-
when nil, 'stderr', 'STDERR'
|
35
|
-
dest = $stderr
|
36
|
-
when 'stdout', 'STDOUT'
|
37
|
-
dest = $stdout
|
38
|
-
when IO
|
39
|
-
# do nothing
|
40
|
-
when String
|
41
|
-
# assume file path, do nothing
|
42
|
-
else
|
43
|
-
raise "unable to log_to #{dest} (#{dest.class})"
|
44
|
-
end
|
45
|
-
if defined?(@@log)
|
46
|
-
l = Logger.new dest
|
47
|
-
l.formatter = @@log.formatter
|
48
|
-
l.level = @@log.level
|
49
|
-
@@log = l
|
50
|
-
else
|
51
|
-
@@log = Logger.new dest
|
52
|
-
@@log.formatter = proc { |sev, time, progname, msg|
|
53
|
-
line = "[#{time.strftime('%Y-%m-%d %H:%M:%S')}] #{sev.to_s.upcase}: "
|
54
|
-
line << "(#{progname}) " if progname
|
55
|
-
line << msg << "\n"
|
56
|
-
}
|
57
|
-
@@log.level = Logger::WARN
|
58
|
-
end
|
59
|
-
@@log
|
60
|
-
end
|
61
|
-
|
62
|
-
def self.log_level=(sym)
|
63
|
-
log_to unless defined?(@@log)
|
64
|
-
level = Logger.const_get(sym.to_s.upcase)
|
65
|
-
raise "unknown log level #{sym}" unless level
|
66
|
-
@@log.level = level
|
67
|
-
end
|
68
|
-
|
69
35
|
# map our internal symbols to HTTP content types
|
70
36
|
# assign q scores based on the parameter order
|
71
37
|
# construct the right side of the Accept: header
|
@@ -81,26 +47,24 @@ class Mudbug
|
|
81
47
|
# do stuff based on response's Content-type
|
82
48
|
#
|
83
49
|
def self.process(resp, accept = nil)
|
84
|
-
|
85
|
-
|
86
|
-
@@log.debug { "response code: #{resp.code}" }
|
87
|
-
@@log.debug { "response headers:\n" << resp.raw_headers.inspect }
|
50
|
+
@lager.debug { "response code: #{resp.code}" }
|
51
|
+
@lager.debug { "response headers:\n" << resp.raw_headers.inspect }
|
88
52
|
|
89
53
|
unless (200..299).include?(resp.code)
|
90
|
-
|
54
|
+
@lager.warn { "processing with HTTP Status Code #{resp.code}" }
|
91
55
|
end
|
92
56
|
|
93
57
|
# do you even Content-type, bro?
|
94
58
|
ct = resp.headers[:content_type]
|
95
59
|
unless ct
|
96
|
-
|
60
|
+
@lager.warn { "abort processing -- no response Content-type" }
|
97
61
|
return resp.body
|
98
62
|
end
|
99
63
|
|
100
64
|
# warn if we got Content-type we didn't ask for
|
101
65
|
ct, charset = ct.split(';').map { |s| s.strip }
|
102
66
|
if accept and !accept.include?(ct)
|
103
|
-
|
67
|
+
@lager.warn { "Asked for #{accept} but got #{ct}" }
|
104
68
|
end
|
105
69
|
|
106
70
|
# process the response for known content types
|
@@ -108,16 +72,16 @@ class Mudbug
|
|
108
72
|
return hsh[:proc].call(resp.body) if ct == hsh[:type]
|
109
73
|
}
|
110
74
|
|
111
|
-
|
75
|
+
@lager.warn { "abort processing -- unrecognized Content-type: #{ct}" }
|
112
76
|
return resp.body
|
113
77
|
end
|
114
78
|
|
115
|
-
|
116
79
|
attr_reader :options
|
117
80
|
attr_accessor :host
|
118
81
|
|
119
82
|
def initialize(host, options = {})
|
120
|
-
|
83
|
+
# note, not yet logging at instance layer
|
84
|
+
# @lager = self.class.lager
|
121
85
|
@host = host
|
122
86
|
@options = options
|
123
87
|
accept :json, :html, :text
|
data/rakefile.rb
CHANGED
@@ -1,4 +1,9 @@
|
|
1
1
|
require 'rubygems/package_task'
|
2
|
+
require 'rake/testtask'
|
3
|
+
|
4
|
+
Rake::TestTask.new :test do |t|
|
5
|
+
t.pattern = 'test/*.rb'
|
6
|
+
end
|
2
7
|
|
3
8
|
PROJECT_ROOT = File.dirname(__FILE__)
|
4
9
|
PROJECT_NAME = File.split(PROJECT_ROOT).last
|
@@ -9,19 +14,25 @@ def version
|
|
9
14
|
File.read(VERSION_FILE).chomp
|
10
15
|
end
|
11
16
|
|
12
|
-
def manifest
|
13
|
-
File.readlines(MANIFEST_FILE).map { |line| line.chomp }
|
14
|
-
end
|
15
|
-
|
16
17
|
task :version do
|
17
18
|
puts "#{PROJECT_NAME} #{version}"
|
18
19
|
end
|
19
20
|
|
21
|
+
task :tag => [:test] do
|
22
|
+
tagname = "v#{version}"
|
23
|
+
sh "git tag -a #{tagname} -m 'auto-tagged #{tagname} by Rake'"
|
24
|
+
sh "git push origin --tags"
|
25
|
+
end
|
26
|
+
|
27
|
+
def manifest
|
28
|
+
File.readlines(MANIFEST_FILE).map { |line| line.chomp }
|
29
|
+
end
|
30
|
+
|
20
31
|
task :manifest do
|
21
32
|
puts manifest.join("\n")
|
22
33
|
end
|
23
34
|
|
24
|
-
task :build do
|
35
|
+
task :build => [:test, :bump_build] do
|
25
36
|
spec = Gem::Specification.new do |s|
|
26
37
|
# Static assignments
|
27
38
|
s.name = "mudbug"
|
@@ -39,7 +50,7 @@ task :build do
|
|
39
50
|
|
40
51
|
s.add_runtime_dependency "rest-client", ["~> 1"]
|
41
52
|
s.add_runtime_dependency "json", ["~> 1"]
|
42
|
-
s.add_runtime_dependency "lager", [">= 0"]
|
53
|
+
s.add_runtime_dependency "lager", [">= 0.2"]
|
43
54
|
s.add_development_dependency "minitest", [">= 0"]
|
44
55
|
s.add_development_dependency "rake", [">= 0"]
|
45
56
|
end
|
@@ -85,17 +96,6 @@ end
|
|
85
96
|
}
|
86
97
|
task :bump => [:bump_patch]
|
87
98
|
|
88
|
-
task :tag do
|
89
|
-
tagname = "v#{version}"
|
90
|
-
sh "git tag -a #{tagname} -m 'auto-tagged #{tagname} by Rake'"
|
91
|
-
sh "git push origin --tags"
|
92
|
-
end
|
93
|
-
|
94
|
-
task :release => [:bump_build, :tag, :publish]
|
95
|
-
task :release_patch => [:bump_patch, :tag, :publish]
|
96
|
-
task :release_minor => [:bump_minor, :tag, :publish]
|
97
|
-
task :release_major => [:bump_major, :tag, :publish]
|
98
|
-
|
99
99
|
task :verify_publish_credentials do
|
100
100
|
creds = '~/.gem/credentials'
|
101
101
|
fp = File.expand_path(creds)
|
@@ -103,7 +103,7 @@ task :verify_publish_credentials do
|
|
103
103
|
raise "can't read #{creds}" unless File.readable?(fp)
|
104
104
|
end
|
105
105
|
|
106
|
-
task :publish => [:verify_publish_credentials
|
106
|
+
task :publish => [:verify_publish_credentials] do
|
107
107
|
fragment = "-#{version}.gem"
|
108
108
|
pkg_dir = File.join(PROJECT_ROOT, 'pkg')
|
109
109
|
Dir.chdir(pkg_dir) {
|
@@ -118,3 +118,16 @@ task :publish => [:verify_publish_credentials, :build] do
|
|
118
118
|
end
|
119
119
|
}
|
120
120
|
end
|
121
|
+
|
122
|
+
task :gitpush do
|
123
|
+
# may prompt
|
124
|
+
sh "git push origin"
|
125
|
+
# this kills the automation
|
126
|
+
# use key-based auth?
|
127
|
+
# consider a timeout?
|
128
|
+
end
|
129
|
+
|
130
|
+
task :release => [:build, :tag, :publish, :gitpush]
|
131
|
+
task :release_patch => [:bump_patch, :release]
|
132
|
+
task :release_minor => [:bump_minor, :release]
|
133
|
+
task :release_major => [:bump_major, :release]
|
data/test/mudbug.rb
CHANGED
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.
|
4
|
+
version: 0.4.7.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-
|
12
|
+
date: 2013-07-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rest-client
|
@@ -50,7 +50,7 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - ! '>='
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
53
|
+
version: '0.2'
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -58,7 +58,7 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ! '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
61
|
+
version: '0.2'
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: minitest
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|