diff --git a/Gemfile b/Gemfile
index ae1514c..f1470e2 100644
--- a/Gemfile
+++ b/Gemfile
@@ -6,14 +6,15 @@ source "https://rubygems.org"
# Add dependencies to develop your gem here.
# Include everything needed to run rake, tests, features, etc.
group :development do
- gem "rspec", "~> 3.5.0"
- gem "rdoc", "~> 3.12"
gem "juwelier", "~> 2.1.0"
+ gem "rdoc", "~> 3.12"
+ gem "rspec", "~> 3.5.0"
end
-gem 'sinatra'
-gem "git"
-gem "diffy"
gem "actionview"
+gem "ansispan"
+gem "diffy"
+gem "git"
+gem "sinatra"
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
diff --git a/Gemfile.lock b/Gemfile.lock
index d113fd2..b00729d 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -14,6 +14,7 @@ GEM
tzinfo (~> 1.1)
addressable (2.6.0)
public_suffix (>= 2.0.2, < 4.0)
+ ansispan (0.0.1)
builder (3.2.3)
concurrent-ruby (1.1.5)
crass (1.0.4)
@@ -122,6 +123,7 @@ PLATFORMS
DEPENDENCIES
actionview
+ ansispan
diffy
git
juwelier (~> 2.1.0)
diff --git a/lib/web_git/graph.rb b/lib/web_git/graph.rb
index 10d7d3c..a8b344d 100644
--- a/lib/web_git/graph.rb
+++ b/lib/web_git/graph.rb
@@ -1,5 +1,6 @@
module WebGit
require "git"
+ require "ansispan"
class Graph
require "action_view"
@@ -42,9 +43,10 @@ def self.project_root
def cli_graph
Dir.chdir(Graph.project_root) do
- @cli_graph = `git log --oneline --decorate --graph --all`
+ @cli_graph = `git log --oneline --decorate --graph --all --color`
all_commits = `git log --all --format=format:%H`.split("\n").map{|a| a.slice(0,7)}
+ @cli_graph = Ansispan.convert(@cli_graph)
all_commits.each do |sha|
sha_button = ""
@cli_graph.gsub!(sha, sha_button)
diff --git a/web_git.gemspec b/web_git.gemspec
index 9d0715d..aeb390c 100644
--- a/web_git.gemspec
+++ b/web_git.gemspec
@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
s.require_paths = ["lib".freeze]
s.authors = ["Raghu Betina".freeze, "Jelani Woods".freeze]
- s.date = "2020-06-19"
+ s.date = "2020-07-01"
s.description = "WebGit is a Rails Engine that provides an in-browser visual interface to a simple but effective Git workflow. For educational purposes.".freeze
s.email = "raghu@firstdraft.com".freeze
s.extra_rdoc_files = [
@@ -51,10 +51,12 @@ Gem::Specification.new do |s|
s.add_runtime_dependency(%q.freeze, [">= 0"])
s.add_runtime_dependency(%q.freeze, [">= 0"])
s.add_runtime_dependency(%q.freeze, [">= 0"])
+ s.add_runtime_dependency(%q.freeze, [">= 0"])
s.add_development_dependency(%q.freeze, ["~> 3.5.0"])
s.add_development_dependency(%q.freeze, ["~> 3.12"])
s.add_development_dependency(%q.freeze, ["~> 2.1.0"])
else
+ s.add_dependency(%q.freeze, [">= 0"])
s.add_dependency(%q.freeze, [">= 0"])
s.add_dependency(%q.freeze, [">= 0"])
s.add_dependency(%q.freeze, [">= 0"])
@@ -65,6 +67,7 @@ Gem::Specification.new do |s|
s.add_dependency(%q.freeze, ["~> 2.1.0"])
end
else
+ s.add_dependency(%q.freeze, [">= 0"])
s.add_dependency(%q.freeze, [">= 0"])
s.add_dependency(%q.freeze, [">= 0"])
s.add_dependency(%q.freeze, [">= 0"])