From 9c64ecb521e7b6c95f861e4a13002187aa2451db Mon Sep 17 00:00:00 2001 From: Jelani Woods Date: Fri, 2 Jul 2021 01:40:28 -0500 Subject: [PATCH 1/3] Add ansispan gem --- Gemfile | 7 ++++--- Gemfile.lock | 2 ++ lib/web_git/graph.rb | 4 +++- web_git.gemspec | 5 ++++- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index ae1514c..267e72b 100644 --- a/Gemfile +++ b/Gemfile @@ -11,9 +11,10 @@ group :development do gem "juwelier", "~> 2.1.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"]) From 44940f64fb88874cf70dadbe8ee6eb7ca68f335f Mon Sep 17 00:00:00 2001 From: Jelani Woods Date: Thu, 8 Jul 2021 16:19:39 -0500 Subject: [PATCH 2/3] Use double quotes --- Gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 267e72b..4d94323 100644 --- a/Gemfile +++ b/Gemfile @@ -15,6 +15,6 @@ gem "actionview" gem "ansispan" gem "diffy" gem "git" -gem 'sinatra' +gem "sinatra" # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby] From 1e7d903dcb926934c9cdb747ed3fd83bb74d3781 Mon Sep 17 00:00:00 2001 From: Jelani Woods Date: Thu, 8 Jul 2021 16:22:17 -0500 Subject: [PATCH 3/3] Sort gems --- Gemfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 4d94323..f1470e2 100644 --- a/Gemfile +++ b/Gemfile @@ -6,9 +6,9 @@ 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 "actionview"