vermillion-client 1.0.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.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/.hound.yml +2 -0
- data/.rubocop.yml +320 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +26 -0
- data/README.md +55 -0
- data/Rakefile +10 -0
- data/bin/setup +7 -0
- data/bin/vermillion +16 -0
- data/doc/ChangeBranchTest.html +240 -0
- data/doc/ConfigurationTest.html +277 -0
- data/doc/CreateTest.html +240 -0
- data/doc/Gemfile.html +145 -0
- data/doc/Gemfile_lock.html +173 -0
- data/doc/README_md.html +216 -0
- data/doc/Rakefile.html +151 -0
- data/doc/UpdateTest.html +280 -0
- data/doc/Vermillion.html +272 -0
- data/doc/Vermillion/Cfg.html +362 -0
- data/doc/Vermillion/Controller.html +185 -0
- data/doc/Vermillion/Controller/Base.html +503 -0
- data/doc/Vermillion/Controller/Change.html +301 -0
- data/doc/Vermillion/Controller/Create.html +301 -0
- data/doc/Vermillion/Controller/Firstrun.html +256 -0
- data/doc/Vermillion/Controller/Status.html +308 -0
- data/doc/Vermillion/Controller/Update.html +326 -0
- data/doc/Vermillion/Helper.html +252 -0
- data/doc/Vermillion/Helper/ApiCommunication.html +307 -0
- data/doc/Vermillion/Helper/Endpoint.html +506 -0
- data/doc/Vermillion/Helper/Formatting.html +250 -0
- data/doc/Vermillion/Helper/Network.html +304 -0
- data/doc/Vermillion/Helper/Results.html +341 -0
- data/doc/Vermillion/Helper/Time.html +295 -0
- data/doc/Vermillion/Request.html +332 -0
- data/doc/Vermillion/Router.html +351 -0
- data/doc/Vermillion/Test.html +183 -0
- data/doc/Vermillion/Test/Base.html +260 -0
- data/doc/Vermillion/Utils.html +247 -0
- data/doc/bin/setup.html +147 -0
- data/doc/created.rid +33 -0
- data/doc/images/add.png +0 -0
- data/doc/images/arrow_up.png +0 -0
- data/doc/images/brick.png +0 -0
- data/doc/images/brick_link.png +0 -0
- data/doc/images/bug.png +0 -0
- data/doc/images/bullet_black.png +0 -0
- data/doc/images/bullet_toggle_minus.png +0 -0
- data/doc/images/bullet_toggle_plus.png +0 -0
- data/doc/images/date.png +0 -0
- data/doc/images/delete.png +0 -0
- data/doc/images/find.png +0 -0
- data/doc/images/loadingAnimation.gif +0 -0
- data/doc/images/macFFBgHack.png +0 -0
- data/doc/images/package.png +0 -0
- data/doc/images/page_green.png +0 -0
- data/doc/images/page_white_text.png +0 -0
- data/doc/images/page_white_width.png +0 -0
- data/doc/images/plugin.png +0 -0
- data/doc/images/ruby.png +0 -0
- data/doc/images/tag_blue.png +0 -0
- data/doc/images/tag_green.png +0 -0
- data/doc/images/transparent.png +0 -0
- data/doc/images/wrench.png +0 -0
- data/doc/images/wrench_orange.png +0 -0
- data/doc/images/zoom.png +0 -0
- data/doc/index.html +138 -0
- data/doc/js/darkfish.js +155 -0
- data/doc/js/jquery.js +4 -0
- data/doc/js/navigation.js +142 -0
- data/doc/js/search.js +94 -0
- data/doc/js/search_index.js +1 -0
- data/doc/js/searcher.js +228 -0
- data/doc/rdoc.css +595 -0
- data/doc/table_of_contents.html +255 -0
- data/doc/vermillion-client_gemspec.html +166 -0
- data/lib/client.rb +35 -0
- data/lib/client/config.rb +58 -0
- data/lib/client/controller.rb +68 -0
- data/lib/client/controller/change.rb +26 -0
- data/lib/client/controller/create.rb +26 -0
- data/lib/client/controller/firstrun.rb +30 -0
- data/lib/client/controller/status.rb +43 -0
- data/lib/client/controller/update.rb +26 -0
- data/lib/client/helper.rb +21 -0
- data/lib/client/helper/apicommunication.rb +78 -0
- data/lib/client/helper/endpoint.rb +61 -0
- data/lib/client/helper/formatting.rb +23 -0
- data/lib/client/helper/network.rb +54 -0
- data/lib/client/helper/results.rb +28 -0
- data/lib/client/helper/time.rb +33 -0
- data/lib/client/request.rb +22 -0
- data/lib/client/router.rb +56 -0
- data/lib/client/utils.rb +18 -0
- data/lib/client/version.rb +4 -0
- data/lib/test.rb +13 -0
- data/lib/test/base.rb +17 -0
- data/test/test_change_branch.rb +14 -0
- data/test/test_configuration.rb +21 -0
- data/test/test_create.rb +14 -0
- data/test/test_update.rb +24 -0
- data/vermillion-client.gemspec +23 -0
- metadata +201 -0
@@ -0,0 +1,23 @@
|
|
1
|
+
module Vermillion
|
2
|
+
module Helper
|
3
|
+
class Formatting
|
4
|
+
# Recursively symbolize keys in a hash
|
5
|
+
# Params:
|
6
|
+
# +h+:: The hash you want to symbolize
|
7
|
+
def symbolize(h)
|
8
|
+
case h
|
9
|
+
when Hash
|
10
|
+
Hash[
|
11
|
+
h.map do |k, v|
|
12
|
+
[k.respond_to?(:to_sym) ? k.to_sym : k, symbolize(v)]
|
13
|
+
end
|
14
|
+
]
|
15
|
+
when Enumerable
|
16
|
+
h.map { |v| symbolize(v) }
|
17
|
+
else
|
18
|
+
h
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module Vermillion
|
2
|
+
module Helper
|
3
|
+
class Network
|
4
|
+
attr_accessor :config
|
5
|
+
|
6
|
+
# Perform a GET request to a specified URL
|
7
|
+
# Params:
|
8
|
+
# +url+:: The URL you want to hit
|
9
|
+
# +key+:: The authentication key to pass via headers to the URL
|
10
|
+
def get(url, key)
|
11
|
+
_request(url, :GET, key)
|
12
|
+
end
|
13
|
+
|
14
|
+
# Perform a POST request to a specified URL
|
15
|
+
# Params:
|
16
|
+
# +url+:: The URL you want to hit
|
17
|
+
# +key+:: The authentication key to pass via headers to the URL
|
18
|
+
def post(url, key)
|
19
|
+
_request(url, :POST, key)
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
# Create and send the HTTP request
|
25
|
+
# Params:
|
26
|
+
# +url+:: The URL you want to hit
|
27
|
+
# +type+:: The HTTP method to send
|
28
|
+
# +key+:: The authentication key to pass via headers to the URL
|
29
|
+
def _request(url, type, key)
|
30
|
+
url = URI(url)
|
31
|
+
type ||= :GET
|
32
|
+
req_path = "#{url.path}?#{url.query}"
|
33
|
+
|
34
|
+
if type == :GET
|
35
|
+
req = Net::HTTP::Get.new(req_path)
|
36
|
+
elsif type == :POST
|
37
|
+
req = Net::HTTP::Post.new(req_path)
|
38
|
+
end
|
39
|
+
|
40
|
+
req.add_field('X-Vermillion-Key', key)
|
41
|
+
req.add_field('Accept', 'application/json')
|
42
|
+
req.add_field('Cache-Control', 'no-cache')
|
43
|
+
req.add_field('From', @config.get(:user))
|
44
|
+
req.add_field('User-Agent', 'Vermillion Client 1.0')
|
45
|
+
|
46
|
+
res = Net::HTTP.new(url.host, url.port).start do |http|
|
47
|
+
http.request(req)
|
48
|
+
end
|
49
|
+
|
50
|
+
res
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Vermillion
|
2
|
+
module Helper
|
3
|
+
class Results
|
4
|
+
attr_reader :bucket
|
5
|
+
|
6
|
+
# Create the Results object
|
7
|
+
def initialize
|
8
|
+
@bucket = []
|
9
|
+
@bucket
|
10
|
+
end
|
11
|
+
|
12
|
+
# Add a result for processing
|
13
|
+
# Params:
|
14
|
+
# +result+:: The value you want to store
|
15
|
+
def add(result)
|
16
|
+
@bucket.push(result)
|
17
|
+
result
|
18
|
+
end
|
19
|
+
|
20
|
+
# Check if all values match a specified value
|
21
|
+
# Params:
|
22
|
+
# +pass_value+:: What all values in the array should evaluate to
|
23
|
+
def should_eval_to(pass_value)
|
24
|
+
@bucket.all? == pass_value
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
module Vermillion
|
2
|
+
module Helper
|
3
|
+
class Time
|
4
|
+
# Human readable strings to represent the length between two time objects
|
5
|
+
# Params:
|
6
|
+
# +start+:: Start time object
|
7
|
+
# +finish+:: End time object
|
8
|
+
def self.human_readable(start, finish)
|
9
|
+
seconds = finish.to_f - start.to_f
|
10
|
+
|
11
|
+
if seconds < 60
|
12
|
+
"No time at all!"
|
13
|
+
else
|
14
|
+
minutes = (seconds / 60).round(1)
|
15
|
+
if minutes < 1
|
16
|
+
"#{minutes} minute"
|
17
|
+
else
|
18
|
+
"#{minutes} minutes"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
# Use the following format for a given timestamp: "d/m/y @ H:M:S AM/PM"
|
24
|
+
# Params:
|
25
|
+
# +time+:: Optional time value, uses the current time if not provided,
|
26
|
+
# to format
|
27
|
+
def self.formatted(time = nil)
|
28
|
+
time = ::Time.now if time.nil?
|
29
|
+
time.strftime("%e/%-m/%Y @ %I:%M:%S%P")
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Vermillion
|
2
|
+
class Request
|
3
|
+
attr_reader :controller, :command, :custom, :flags, :raw_flags, :param
|
4
|
+
|
5
|
+
# Create the request object, parse ARGV for values
|
6
|
+
def initialize
|
7
|
+
@controller = nil
|
8
|
+
@flags = ARGV.select { |f| f.start_with?('-') }.map { |f| f.split("=").map(&:to_sym) } || []
|
9
|
+
@raw_flags = ARGV.select { |f| f.start_with?('-') } || []
|
10
|
+
|
11
|
+
unless ARGV.empty?
|
12
|
+
@controller = ARGV[0].to_sym unless ARGV[0].start_with?('-')
|
13
|
+
@command = ARGV[1].to_sym unless ARGV[1].nil?
|
14
|
+
|
15
|
+
if ARGV.size > 2
|
16
|
+
@custom = ARGV[2..ARGV.size].select { |p| !p.start_with?('-') }.map(&:to_sym) || []
|
17
|
+
@param = ARGV[2]
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module Vermillion
|
2
|
+
class Router
|
3
|
+
# Create the router object
|
4
|
+
# Params:
|
5
|
+
# +config_instance+:: An instance of Vermillion::Cfg
|
6
|
+
def initialize(config_instance)
|
7
|
+
@config = config_instance
|
8
|
+
end
|
9
|
+
|
10
|
+
# Prepare for routing
|
11
|
+
def pre_exec
|
12
|
+
@request = Request.new
|
13
|
+
|
14
|
+
begin
|
15
|
+
# include the controller
|
16
|
+
require "client/controller/#{@request.controller}"
|
17
|
+
# include helpers
|
18
|
+
require "client/helper/#{@request.controller}" if File.exist? "client/helpers/#{@request.controller}"
|
19
|
+
rescue LoadError
|
20
|
+
Notify.error("Controller not found: #{@request.controller}")
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
# Perform command routing
|
25
|
+
def route
|
26
|
+
pre_exec
|
27
|
+
|
28
|
+
# Create object context and pass it the required command line arguments
|
29
|
+
begin
|
30
|
+
unless @request.controller.nil?
|
31
|
+
controller = Vermillion::Controller.const_get @request.controller.capitalize
|
32
|
+
|
33
|
+
# create an instance of the requested controller
|
34
|
+
context = controller.new(@config, @request)
|
35
|
+
|
36
|
+
if context.can_exec? @request.command
|
37
|
+
# Set things up
|
38
|
+
context.pre_exec
|
39
|
+
|
40
|
+
# Run the requested action
|
41
|
+
context.exec
|
42
|
+
|
43
|
+
# Run cleanup commands
|
44
|
+
context.post_exec
|
45
|
+
end
|
46
|
+
end
|
47
|
+
rescue NoMethodError => e
|
48
|
+
Notify.error(e.message)
|
49
|
+
rescue RuntimeError => e
|
50
|
+
Notify.error(e.message, show_time: false)
|
51
|
+
rescue NameError => e
|
52
|
+
Notify.error("#{e}\n#{e.backtrace.join("\n")}", show_time: false)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
data/lib/client/utils.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
module Vermillion
|
2
|
+
class Utils
|
3
|
+
# Convert a hash to a query string
|
4
|
+
# Params:
|
5
|
+
# +args+:: Hash to convert
|
6
|
+
def self.to_query_string(args)
|
7
|
+
query_string = "?"
|
8
|
+
|
9
|
+
unless args.empty?
|
10
|
+
args.each_pair do |arg, val|
|
11
|
+
query_string += "#{arg}=#{val}"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
query_string
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/test.rb
ADDED
data/lib/test/base.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'minitest/autorun'
|
2
|
+
|
3
|
+
module Vermillion
|
4
|
+
module Test
|
5
|
+
class Base < Minitest::Test
|
6
|
+
include Vermillion::Controller
|
7
|
+
|
8
|
+
# Struct to mock the actual Request object
|
9
|
+
MockRequest = Struct.new(:controller, :command, :param)
|
10
|
+
|
11
|
+
# Perform setup tasks
|
12
|
+
def setup
|
13
|
+
Notify.spit "Executing Tests (#{Time.now})"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require "test"
|
2
|
+
require "client/controller/change"
|
3
|
+
|
4
|
+
class ChangeBranchTest < Vermillion::Test::Base
|
5
|
+
# Test changing a branch on one server
|
6
|
+
def test_change_branch_one
|
7
|
+
req = MockRequest.new(:change, :branch)
|
8
|
+
cfg = Vermillion::Cfg.new.populate_config
|
9
|
+
|
10
|
+
change = Change.new(cfg, req)
|
11
|
+
|
12
|
+
assert change.branch(:local, :master).zero?
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require "test"
|
2
|
+
require "client/controller/status"
|
3
|
+
|
4
|
+
class ConfigurationTest < Vermillion::Test::Base
|
5
|
+
# Test if the config file exists
|
6
|
+
def test_config_exist
|
7
|
+
path = File.expand_path("~/.vermillion.yml")
|
8
|
+
|
9
|
+
assert File.exist? path
|
10
|
+
end
|
11
|
+
|
12
|
+
# Test the default method
|
13
|
+
def test_default
|
14
|
+
req = MockRequest.new(:status, :default)
|
15
|
+
cfg = Vermillion::Cfg.new.populate_config
|
16
|
+
|
17
|
+
status = Status.new(cfg, req)
|
18
|
+
|
19
|
+
assert status.default.zero?
|
20
|
+
end
|
21
|
+
end
|
data/test/test_create.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
require "test"
|
2
|
+
require "client/controller/create"
|
3
|
+
|
4
|
+
class CreateTest < Vermillion::Test::Base
|
5
|
+
# Test the default method
|
6
|
+
def test_default
|
7
|
+
req = MockRequest.new(:create, :default, "test-sample-#{Time.now.to_i}")
|
8
|
+
cfg = Vermillion::Cfg.new.populate_config
|
9
|
+
|
10
|
+
create = Create.new(cfg, req)
|
11
|
+
|
12
|
+
assert create.one(:local, req.param).zero?
|
13
|
+
end
|
14
|
+
end
|
data/test/test_update.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
require "test"
|
2
|
+
require "client/controller/update"
|
3
|
+
|
4
|
+
class UpdateTest < Vermillion::Test::Base
|
5
|
+
# Test updating one server
|
6
|
+
def test_update_one
|
7
|
+
req = MockRequest.new(:update, :one, "local/vermillion-server")
|
8
|
+
cfg = Vermillion::Cfg.new.populate_config
|
9
|
+
|
10
|
+
status = Update.new(cfg, req)
|
11
|
+
|
12
|
+
assert status.one(req.param).zero?
|
13
|
+
end
|
14
|
+
|
15
|
+
# Test updating the config manifest on one server
|
16
|
+
def test_update_config
|
17
|
+
req = MockRequest.new(:update, :one, :local)
|
18
|
+
cfg = Vermillion::Cfg.new.populate_config
|
19
|
+
|
20
|
+
status = Update.new(cfg, req)
|
21
|
+
|
22
|
+
assert status.one(req.param).zero?
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
lib = File.expand_path('../lib', __FILE__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
require 'client/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = 'vermillion-client'
|
7
|
+
s.version = Vermillion::VERSION
|
8
|
+
s.date = '2015-07-03'
|
9
|
+
s.summary = 'Client for communicating with vermillion-server'
|
10
|
+
s.description = 'Deploy, rebuild, rollback git-managed websites'
|
11
|
+
s.authors = ['Ryan Priebe']
|
12
|
+
s.email = 'hello@ryanpriebe.com'
|
13
|
+
s.files = `git ls-files`.split($ORS)
|
14
|
+
s.homepage = 'http://rubygems.org/gems/vermillion-client'
|
15
|
+
s.license = 'MIT'
|
16
|
+
s.executables = 'vermillion'
|
17
|
+
|
18
|
+
s.add_runtime_dependency 'notifaction'
|
19
|
+
s.add_runtime_dependency 'mime-types'
|
20
|
+
|
21
|
+
s.add_development_dependency "bundler", "~> 1.10"
|
22
|
+
s.add_development_dependency "rake", "~> 10.0"
|
23
|
+
end
|
metadata
ADDED
@@ -0,0 +1,201 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: vermillion-client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ryan Priebe
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-07-03 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: notifaction
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: mime-types
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.10'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.10'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '10.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '10.0'
|
69
|
+
description: Deploy, rebuild, rollback git-managed websites
|
70
|
+
email: hello@ryanpriebe.com
|
71
|
+
executables:
|
72
|
+
- vermillion
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- .gitignore
|
77
|
+
- .hound.yml
|
78
|
+
- .rubocop.yml
|
79
|
+
- Gemfile
|
80
|
+
- Gemfile.lock
|
81
|
+
- README.md
|
82
|
+
- Rakefile
|
83
|
+
- bin/setup
|
84
|
+
- bin/vermillion
|
85
|
+
- doc/ChangeBranchTest.html
|
86
|
+
- doc/ConfigurationTest.html
|
87
|
+
- doc/CreateTest.html
|
88
|
+
- doc/Gemfile.html
|
89
|
+
- doc/Gemfile_lock.html
|
90
|
+
- doc/README_md.html
|
91
|
+
- doc/Rakefile.html
|
92
|
+
- doc/UpdateTest.html
|
93
|
+
- doc/Vermillion.html
|
94
|
+
- doc/Vermillion/Cfg.html
|
95
|
+
- doc/Vermillion/Controller.html
|
96
|
+
- doc/Vermillion/Controller/Base.html
|
97
|
+
- doc/Vermillion/Controller/Change.html
|
98
|
+
- doc/Vermillion/Controller/Create.html
|
99
|
+
- doc/Vermillion/Controller/Firstrun.html
|
100
|
+
- doc/Vermillion/Controller/Status.html
|
101
|
+
- doc/Vermillion/Controller/Update.html
|
102
|
+
- doc/Vermillion/Helper.html
|
103
|
+
- doc/Vermillion/Helper/ApiCommunication.html
|
104
|
+
- doc/Vermillion/Helper/Endpoint.html
|
105
|
+
- doc/Vermillion/Helper/Formatting.html
|
106
|
+
- doc/Vermillion/Helper/Network.html
|
107
|
+
- doc/Vermillion/Helper/Results.html
|
108
|
+
- doc/Vermillion/Helper/Time.html
|
109
|
+
- doc/Vermillion/Request.html
|
110
|
+
- doc/Vermillion/Router.html
|
111
|
+
- doc/Vermillion/Test.html
|
112
|
+
- doc/Vermillion/Test/Base.html
|
113
|
+
- doc/Vermillion/Utils.html
|
114
|
+
- doc/bin/setup.html
|
115
|
+
- doc/created.rid
|
116
|
+
- doc/images/add.png
|
117
|
+
- doc/images/arrow_up.png
|
118
|
+
- doc/images/brick.png
|
119
|
+
- doc/images/brick_link.png
|
120
|
+
- doc/images/bug.png
|
121
|
+
- doc/images/bullet_black.png
|
122
|
+
- doc/images/bullet_toggle_minus.png
|
123
|
+
- doc/images/bullet_toggle_plus.png
|
124
|
+
- doc/images/date.png
|
125
|
+
- doc/images/delete.png
|
126
|
+
- doc/images/find.png
|
127
|
+
- doc/images/loadingAnimation.gif
|
128
|
+
- doc/images/macFFBgHack.png
|
129
|
+
- doc/images/package.png
|
130
|
+
- doc/images/page_green.png
|
131
|
+
- doc/images/page_white_text.png
|
132
|
+
- doc/images/page_white_width.png
|
133
|
+
- doc/images/plugin.png
|
134
|
+
- doc/images/ruby.png
|
135
|
+
- doc/images/tag_blue.png
|
136
|
+
- doc/images/tag_green.png
|
137
|
+
- doc/images/transparent.png
|
138
|
+
- doc/images/wrench.png
|
139
|
+
- doc/images/wrench_orange.png
|
140
|
+
- doc/images/zoom.png
|
141
|
+
- doc/index.html
|
142
|
+
- doc/js/darkfish.js
|
143
|
+
- doc/js/jquery.js
|
144
|
+
- doc/js/navigation.js
|
145
|
+
- doc/js/search.js
|
146
|
+
- doc/js/search_index.js
|
147
|
+
- doc/js/searcher.js
|
148
|
+
- doc/rdoc.css
|
149
|
+
- doc/table_of_contents.html
|
150
|
+
- doc/vermillion-client_gemspec.html
|
151
|
+
- lib/client.rb
|
152
|
+
- lib/client/config.rb
|
153
|
+
- lib/client/controller.rb
|
154
|
+
- lib/client/controller/change.rb
|
155
|
+
- lib/client/controller/create.rb
|
156
|
+
- lib/client/controller/firstrun.rb
|
157
|
+
- lib/client/controller/status.rb
|
158
|
+
- lib/client/controller/update.rb
|
159
|
+
- lib/client/helper.rb
|
160
|
+
- lib/client/helper/apicommunication.rb
|
161
|
+
- lib/client/helper/endpoint.rb
|
162
|
+
- lib/client/helper/formatting.rb
|
163
|
+
- lib/client/helper/network.rb
|
164
|
+
- lib/client/helper/results.rb
|
165
|
+
- lib/client/helper/time.rb
|
166
|
+
- lib/client/request.rb
|
167
|
+
- lib/client/router.rb
|
168
|
+
- lib/client/utils.rb
|
169
|
+
- lib/client/version.rb
|
170
|
+
- lib/test.rb
|
171
|
+
- lib/test/base.rb
|
172
|
+
- test/test_change_branch.rb
|
173
|
+
- test/test_configuration.rb
|
174
|
+
- test/test_create.rb
|
175
|
+
- test/test_update.rb
|
176
|
+
- vermillion-client.gemspec
|
177
|
+
homepage: http://rubygems.org/gems/vermillion-client
|
178
|
+
licenses:
|
179
|
+
- MIT
|
180
|
+
metadata: {}
|
181
|
+
post_install_message:
|
182
|
+
rdoc_options: []
|
183
|
+
require_paths:
|
184
|
+
- lib
|
185
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
186
|
+
requirements:
|
187
|
+
- - '>='
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '0'
|
190
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - '>='
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
requirements: []
|
196
|
+
rubyforge_project:
|
197
|
+
rubygems_version: 2.0.14.1
|
198
|
+
signing_key:
|
199
|
+
specification_version: 4
|
200
|
+
summary: Client for communicating with vermillion-server
|
201
|
+
test_files: []
|