mudbug 0.4.7.1 → 0.4.7.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.
- data/MANIFEST.txt +3 -3
- data/README.md +1 -1
- data/VERSION +1 -1
- data/examples/accepts_and_methods.rb +7 -8
- data/lib/mudbug.rb +1 -1
- data/rakefile.rb +21 -130
- metadata +11 -11
data/MANIFEST.txt
CHANGED
data/README.md
CHANGED
@@ -75,7 +75,7 @@ Call Mudbug#resource directly for finer-grained response handling:
|
|
75
75
|
# process resp.body
|
76
76
|
# etc.
|
77
77
|
|
78
|
-
Here is the heart of
|
78
|
+
Here is the heart of Mudbug's [response processing](https://github.com/rickhull/mudbug/blob/master/lib/mudbug.rb#L45):
|
79
79
|
|
80
80
|
# this structure declares what we support in the request Accept: header
|
81
81
|
# and defines automatic processing of the response based on the
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.7.
|
1
|
+
0.4.7.2
|
@@ -1,7 +1,6 @@
|
|
1
|
-
|
1
|
+
require 'mudbug'
|
2
2
|
# useful for development purposes
|
3
|
-
#
|
4
|
-
require_relative '../lib/mudbug'
|
3
|
+
#require_relative '../lib/mudbug'
|
5
4
|
|
6
5
|
sites = %w{google.com yahoo.com microsoft.com amazon.com ibm.com reddit.com}
|
7
6
|
accepts = [:json, :html, :text, :xml]
|
@@ -14,14 +13,14 @@ unless ARGV.shift == 'skip'
|
|
14
13
|
puts "Checking Accepts across sites"
|
15
14
|
puts "============================="
|
16
15
|
sites.each { |site|
|
17
|
-
|
16
|
+
mb = Mudbug.new(site)
|
18
17
|
url = "http://#{site}#{path}"
|
19
18
|
|
20
19
|
accepts.each { |acp|
|
21
|
-
|
20
|
+
mb.accept(acp)
|
22
21
|
|
23
22
|
puts "GET #{url} [#{acp}]"
|
24
|
-
|
23
|
+
mb.get path
|
25
24
|
}
|
26
25
|
puts
|
27
26
|
}
|
@@ -38,7 +37,7 @@ unless ARGV.shift == 'skip'
|
|
38
37
|
puts "POST/PUT payload = #{payload.to_json}"
|
39
38
|
puts
|
40
39
|
sites.each { |site|
|
41
|
-
|
40
|
+
mb = Mudbug.new(site)
|
42
41
|
url = "http://#{site}#{path}"
|
43
42
|
|
44
43
|
http_methods.each { |meth|
|
@@ -47,7 +46,7 @@ unless ARGV.shift == 'skip'
|
|
47
46
|
|
48
47
|
print "#{meth.to_s.upcase} #{url} "
|
49
48
|
begin
|
50
|
-
|
49
|
+
mb.send(*args)
|
51
50
|
puts
|
52
51
|
rescue RuntimeError => e
|
53
52
|
puts "#{e} (#{e.class})"
|
data/lib/mudbug.rb
CHANGED
data/rakefile.rb
CHANGED
@@ -1,133 +1,24 @@
|
|
1
|
-
require '
|
1
|
+
require 'buildar/tasks'
|
2
2
|
require 'rake/testtask'
|
3
3
|
|
4
|
-
|
5
|
-
|
4
|
+
Buildar.conf(__FILE__) do |b|
|
5
|
+
b.name = 'mudbug'
|
6
|
+
b.use_version_file = true
|
7
|
+
b.version_filename = 'VERSION'
|
8
|
+
b.use_manifest_file = true
|
9
|
+
b.manifest_filename = 'MANIFEST.txt'
|
10
|
+
b.use_git = true
|
11
|
+
b.publish[:rubygems] = true
|
12
|
+
|
13
|
+
b.gemspec.summary = "This hardy creature consumes JSON / REST APIs"
|
14
|
+
b.gemspec.description = "GET, POST, PUT, and DELETE JSON payloads. Easy Accept headers. Fine-grained response handling using Mudbug#resource."
|
15
|
+
b.gemspec.author = "Rick Hull"
|
16
|
+
b.gemspec.homepage = "http://github.com/rickhull/mudbug"
|
17
|
+
b.gemspec.license = 'LGPL'
|
18
|
+
|
19
|
+
b.gemspec.add_runtime_dependency "rest-client", ["~> 1"]
|
20
|
+
b.gemspec.add_runtime_dependency "json", ["~> 1"]
|
21
|
+
b.gemspec.add_runtime_dependency "lager", [">= 0.2"]
|
22
|
+
b.gemspec.add_development_dependency "minitest", [">= 0"]
|
23
|
+
b.gemspec.add_development_dependency "buildar", ["~> 1.2"]
|
6
24
|
end
|
7
|
-
|
8
|
-
PROJECT_ROOT = File.dirname(__FILE__)
|
9
|
-
PROJECT_NAME = File.split(PROJECT_ROOT).last
|
10
|
-
VERSION_FILE = File.join(PROJECT_ROOT, 'VERSION')
|
11
|
-
MANIFEST_FILE = File.join(PROJECT_ROOT, 'MANIFEST.txt')
|
12
|
-
|
13
|
-
def version
|
14
|
-
File.read(VERSION_FILE).chomp
|
15
|
-
end
|
16
|
-
|
17
|
-
task :version do
|
18
|
-
puts "#{PROJECT_NAME} #{version}"
|
19
|
-
end
|
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
|
-
|
31
|
-
task :manifest do
|
32
|
-
puts manifest.join("\n")
|
33
|
-
end
|
34
|
-
|
35
|
-
task :build => [:test, :bump_build] do
|
36
|
-
spec = Gem::Specification.new do |s|
|
37
|
-
# Static assignments
|
38
|
-
s.name = "mudbug"
|
39
|
-
s.summary = "This hardy creature consumes JSON / REST APIs"
|
40
|
-
s.description = "GET, POST, PUT, and DELETE JSON payloads. Easy Accept headers. Fine-grained response handling using Mudbug#resource."
|
41
|
-
s.authors = ["Rick Hull"]
|
42
|
-
s.email = "rick@cloudscaling.com"
|
43
|
-
s.homepage = "http://github.com/rickhull/mudbug"
|
44
|
-
s.licenses = ['LGPL']
|
45
|
-
|
46
|
-
# Dynamic assignments
|
47
|
-
s.files = manifest
|
48
|
-
s.version = version
|
49
|
-
s.date = Time.now.strftime("%Y-%m-%d")
|
50
|
-
|
51
|
-
s.add_runtime_dependency "rest-client", ["~> 1"]
|
52
|
-
s.add_runtime_dependency "json", ["~> 1"]
|
53
|
-
s.add_runtime_dependency "lager", [">= 0.2"]
|
54
|
-
s.add_development_dependency "minitest", [">= 0"]
|
55
|
-
s.add_development_dependency "rake", [">= 0"]
|
56
|
-
end
|
57
|
-
|
58
|
-
# we're definining the task at runtime, rather than requiretime
|
59
|
-
# so that the gemspec will reflect any version bumping since requiretime
|
60
|
-
#
|
61
|
-
Gem::PackageTask.new(spec).define
|
62
|
-
Rake::Task["package"].invoke
|
63
|
-
end
|
64
|
-
|
65
|
-
# e.g. bump(:minor, '1.2.3') #=> '1.3.0'
|
66
|
-
# only works for integers delimited by periods (dots)
|
67
|
-
#
|
68
|
-
def bump(position, version)
|
69
|
-
pos = [:major, :minor, :patch, :build].index(position) || position
|
70
|
-
places = version.split('.')
|
71
|
-
raise "bad position: #{pos} (for version #{version})" unless places[pos]
|
72
|
-
places.map.with_index { |place, i|
|
73
|
-
if i < pos
|
74
|
-
place
|
75
|
-
elsif i == pos
|
76
|
-
place.to_i + 1
|
77
|
-
else
|
78
|
-
0
|
79
|
-
end
|
80
|
-
}.join('.')
|
81
|
-
end
|
82
|
-
|
83
|
-
def write_version new_version
|
84
|
-
File.open(VERSION_FILE, 'w') { |f| f.write(new_version) }
|
85
|
-
end
|
86
|
-
|
87
|
-
[:major, :minor, :patch, :build].each { |v|
|
88
|
-
task "bump_#{v}" do
|
89
|
-
old_version = version
|
90
|
-
new_version = bump(v, old_version)
|
91
|
-
puts "bumping #{old_version} to #{new_version}"
|
92
|
-
write_version new_version
|
93
|
-
sh "git add VERSION"
|
94
|
-
sh "git commit -m 'rake bump_#{v}'"
|
95
|
-
end
|
96
|
-
}
|
97
|
-
task :bump => [:bump_patch]
|
98
|
-
|
99
|
-
task :verify_publish_credentials do
|
100
|
-
creds = '~/.gem/credentials'
|
101
|
-
fp = File.expand_path(creds)
|
102
|
-
raise "#{creds} does not exist" unless File.exists?(fp)
|
103
|
-
raise "can't read #{creds}" unless File.readable?(fp)
|
104
|
-
end
|
105
|
-
|
106
|
-
task :publish => [:verify_publish_credentials] do
|
107
|
-
fragment = "-#{version}.gem"
|
108
|
-
pkg_dir = File.join(PROJECT_ROOT, 'pkg')
|
109
|
-
Dir.chdir(pkg_dir) {
|
110
|
-
candidates = Dir.glob "*#{fragment}"
|
111
|
-
case candidates.length
|
112
|
-
when 0
|
113
|
-
raise "could not find .gem matching #{fragment}"
|
114
|
-
when 1
|
115
|
-
sh "gem push #{candidates.first}"
|
116
|
-
else
|
117
|
-
raise "multiple candidates found matching #{fragment}"
|
118
|
-
end
|
119
|
-
}
|
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]
|
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.
|
4
|
+
version: 0.4.7.2
|
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-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rest-client
|
@@ -76,33 +76,33 @@ dependencies:
|
|
76
76
|
- !ruby/object:Gem::Version
|
77
77
|
version: '0'
|
78
78
|
- !ruby/object:Gem::Dependency
|
79
|
-
name:
|
79
|
+
name: buildar
|
80
80
|
requirement: !ruby/object:Gem::Requirement
|
81
81
|
none: false
|
82
82
|
requirements:
|
83
|
-
- -
|
83
|
+
- - ~>
|
84
84
|
- !ruby/object:Gem::Version
|
85
|
-
version: '
|
85
|
+
version: '1.2'
|
86
86
|
type: :development
|
87
87
|
prerelease: false
|
88
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
89
|
none: false
|
90
90
|
requirements:
|
91
|
-
- -
|
91
|
+
- - ~>
|
92
92
|
- !ruby/object:Gem::Version
|
93
|
-
version: '
|
93
|
+
version: '1.2'
|
94
94
|
description: GET, POST, PUT, and DELETE JSON payloads. Easy Accept headers. Fine-grained
|
95
95
|
response handling using Mudbug#resource.
|
96
|
-
email:
|
96
|
+
email:
|
97
97
|
executables: []
|
98
98
|
extensions: []
|
99
99
|
extra_rdoc_files: []
|
100
100
|
files:
|
101
|
-
- README.md
|
102
|
-
- VERSION
|
103
|
-
- rakefile.rb
|
104
101
|
- MANIFEST.txt
|
102
|
+
- VERSION
|
103
|
+
- README.md
|
105
104
|
- LICENSE.txt
|
105
|
+
- rakefile.rb
|
106
106
|
- lib/mudbug.rb
|
107
107
|
- test/mudbug.rb
|
108
108
|
- examples/accepts_and_methods.rb
|