razor-client 0.12.0 → 0.13.0
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/Gemfile +3 -0
- data/Gemfile.lock +1 -0
- data/Rakefile +10 -0
- data/bin/razor +11 -1
- data/lib/razor/cli/navigate.rb +6 -6
- data/lib/razor/cli/parse.rb +1 -1
- data/razor-client.gemspec +6 -2
- data/spec/cli/navigate_spec.rb +9 -0
- data/spec/cli/parse_spec.rb +9 -0
- data/spec/spec_helper.rb +1 -1
- metadata +35 -3
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
data/Rakefile
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
require 'rake'
|
|
2
2
|
require "bundler/gem_tasks"
|
|
3
|
+
|
|
4
|
+
# Needed to make the client work on Ruby 1.8.7
|
|
5
|
+
unless Kernel.respond_to?(:require_relative)
|
|
6
|
+
module Kernel
|
|
7
|
+
def require_relative(path)
|
|
8
|
+
require File.join(File.dirname(caller[0]), path.to_str)
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
3
13
|
require_relative 'spec/vcr_library'
|
|
4
14
|
|
|
5
15
|
namespace :bundler do
|
data/bin/razor
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
|
|
3
|
+
# Needed to make the client work on Ruby 1.8.7
|
|
4
|
+
unless Kernel.respond_to?(:require_relative)
|
|
5
|
+
module Kernel
|
|
6
|
+
def require_relative(path)
|
|
7
|
+
require File.join(File.dirname(caller[0]), path.to_str)
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
require 'rubygems'
|
|
3
13
|
require_relative "../lib/razor/cli"
|
|
4
14
|
|
|
5
15
|
include Razor::CLI::Format
|
|
@@ -35,7 +45,7 @@ rescue RestClient::Exception => e
|
|
|
35
45
|
puts "Error from doing #{r.args[:method].to_s.upcase} #{r.args[:url]}"
|
|
36
46
|
puts e.message
|
|
37
47
|
begin
|
|
38
|
-
body =
|
|
48
|
+
body = MultiJson::load(r.body)
|
|
39
49
|
puts body.delete("details") if body["details"]
|
|
40
50
|
unless body.empty?
|
|
41
51
|
puts format_document(body)
|
data/lib/razor/cli/navigate.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require 'rest-client'
|
|
2
|
-
require '
|
|
2
|
+
require 'multi_json'
|
|
3
3
|
require 'yaml'
|
|
4
4
|
|
|
5
5
|
module Razor::CLI
|
|
@@ -68,7 +68,7 @@ module Razor::CLI
|
|
|
68
68
|
end
|
|
69
69
|
end
|
|
70
70
|
|
|
71
|
-
body =
|
|
71
|
+
body = MultiJson::load(File::read(body["json"])) if body["json"]
|
|
72
72
|
[cmd, body]
|
|
73
73
|
end
|
|
74
74
|
|
|
@@ -107,14 +107,14 @@ module Razor::CLI
|
|
|
107
107
|
unless response.headers[:content_type] =~ /application\/json/
|
|
108
108
|
raise "Received content type #{response.headers[:content_type]}"
|
|
109
109
|
end
|
|
110
|
-
|
|
110
|
+
MultiJson.load(response.body)
|
|
111
111
|
end
|
|
112
112
|
|
|
113
113
|
def json_post(url, body)
|
|
114
114
|
headers = { :accept=>:json, "Content-Type" => :json }
|
|
115
|
-
response = RestClient.post url, body
|
|
115
|
+
response = RestClient.post url, MultiJson::dump(body), headers
|
|
116
116
|
puts "POST #{url.to_s}\n#{body}\n-->\n#{response.body}" if @parse.dump_response?
|
|
117
|
-
|
|
117
|
+
MultiJson::load(response.body)
|
|
118
118
|
end
|
|
119
119
|
|
|
120
120
|
private
|
|
@@ -130,7 +130,7 @@ module Razor::CLI
|
|
|
130
130
|
|
|
131
131
|
def convert_arg(cmd_name, arg_name, value)
|
|
132
132
|
value = nil if value == "null"
|
|
133
|
-
self.class.arg_type(cmd_name, arg_name) == "json" ?
|
|
133
|
+
self.class.arg_type(cmd_name, arg_name) == "json" ? MultiJson::load(value) : value
|
|
134
134
|
end
|
|
135
135
|
end
|
|
136
136
|
end
|
data/lib/razor/cli/parse.rb
CHANGED
|
@@ -15,7 +15,7 @@ module Razor::CLI
|
|
|
15
15
|
@dump = true
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
opts.on "-
|
|
18
|
+
opts.on "-u", "--url URL",
|
|
19
19
|
"The full Razor API URL, can also be set\n" + " "*37 +
|
|
20
20
|
"with the RAZOR_API environment variable\n" + " "*37 +
|
|
21
21
|
"(default #{DEFAULT_RAZOR_API})" do |url|
|
data/razor-client.gemspec
CHANGED
|
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
|
4
4
|
|
|
5
5
|
Gem::Specification.new do |spec|
|
|
6
6
|
spec.name = "razor-client"
|
|
7
|
-
spec.version = "0.
|
|
7
|
+
spec.version = "0.13.0"
|
|
8
8
|
spec.authors = ["Puppet Labs"]
|
|
9
9
|
spec.email = ["info@puppetlabs.com"]
|
|
10
10
|
spec.description = "The client for the Razor server"
|
|
@@ -18,8 +18,12 @@ Gem::Specification.new do |spec|
|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^spec/})
|
|
19
19
|
spec.require_paths = ["lib"]
|
|
20
20
|
|
|
21
|
-
spec.required_ruby_version
|
|
21
|
+
spec.required_ruby_version
|
|
22
22
|
|
|
23
|
+
# mime-types is a dependency of rest-client. We need to explicitly depend
|
|
24
|
+
# on it and pin its version to make sure the gem works with Ruby 1.8.7
|
|
25
|
+
spec.add_dependency "mime-types", '< 2.0'
|
|
26
|
+
spec.add_dependency "multi_json"
|
|
23
27
|
spec.add_dependency "rest-client"
|
|
24
28
|
spec.add_dependency "terminal-table"
|
|
25
29
|
|
data/spec/cli/navigate_spec.rb
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
# Needed to make the client work on Ruby 1.8.7
|
|
2
|
+
unless Kernel.respond_to?(:require_relative)
|
|
3
|
+
module Kernel
|
|
4
|
+
def require_relative(path)
|
|
5
|
+
require File.join(File.dirname(caller[0]), path.to_str)
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
1
10
|
require_relative '../spec_helper'
|
|
2
11
|
|
|
3
12
|
describe Razor::CLI::Navigate do
|
data/spec/cli/parse_spec.rb
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
# Needed to make the client work on Ruby 1.8.7
|
|
2
|
+
unless Kernel.respond_to?(:require_relative)
|
|
3
|
+
module Kernel
|
|
4
|
+
def require_relative(path)
|
|
5
|
+
require File.join(File.dirname(caller[0]), path.to_str)
|
|
6
|
+
end
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
|
|
1
10
|
require "rspec/expectations"
|
|
2
11
|
require_relative '../spec_helper'
|
|
3
12
|
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: razor-client
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.13.0
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,8 +9,40 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2014-01-
|
|
12
|
+
date: 2014-01-22 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
|
+
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: mime-types
|
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
|
17
|
+
none: false
|
|
18
|
+
requirements:
|
|
19
|
+
- - <
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: '2.0'
|
|
22
|
+
type: :runtime
|
|
23
|
+
prerelease: false
|
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
+
none: false
|
|
26
|
+
requirements:
|
|
27
|
+
- - <
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '2.0'
|
|
30
|
+
- !ruby/object:Gem::Dependency
|
|
31
|
+
name: multi_json
|
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
|
33
|
+
none: false
|
|
34
|
+
requirements:
|
|
35
|
+
- - ! '>='
|
|
36
|
+
- !ruby/object:Gem::Version
|
|
37
|
+
version: '0'
|
|
38
|
+
type: :runtime
|
|
39
|
+
prerelease: false
|
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
+
none: false
|
|
42
|
+
requirements:
|
|
43
|
+
- - ! '>='
|
|
44
|
+
- !ruby/object:Gem::Version
|
|
45
|
+
version: '0'
|
|
14
46
|
- !ruby/object:Gem::Dependency
|
|
15
47
|
name: rest-client
|
|
16
48
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -119,7 +151,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
119
151
|
requirements:
|
|
120
152
|
- - ! '>='
|
|
121
153
|
- !ruby/object:Gem::Version
|
|
122
|
-
version:
|
|
154
|
+
version: '0'
|
|
123
155
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
124
156
|
none: false
|
|
125
157
|
requirements:
|