Skip to content

Commit 8399581

Browse files
authored
Merge pull request #240 from DannyBen/refactor/templates
Switch from ERB to GTX templates
2 parents fce07ed + 901b8d5 commit 8399581

File tree

105 files changed

+802
-647
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

105 files changed

+802
-647
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
Runfile linguist-language=Ruby
2+
*.gtx linguist-language=Ruby

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,6 @@ gem 'rspec_approvals'
77
gem 'runfile'
88
gem 'runfile-tasks'
99
gem 'simplecov'
10+
gem 'gtx'
1011

1112
gemspec

bashly.gemspec

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@ Gem::Specification.new do |s|
1717
s.license = 'MIT'
1818
s.required_ruby_version = ">= 2.7.0"
1919

20-
s.add_runtime_dependency 'colsole', '~> 0.7'
2120
s.add_runtime_dependency 'completely', '~> 0.4.2'
21+
s.add_runtime_dependency 'gtx', '~> 0.1.0'
22+
23+
s.add_runtime_dependency 'colsole', '~> 0.7'
2224
s.add_runtime_dependency 'mister_bin', '~> 0.7'
2325
s.add_runtime_dependency 'requires', '~> 0.2'
2426
s.add_runtime_dependency 'filewatcher', '~> 1.1'

lib/bashly/concerns/renderable.rb

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
1-
require 'erb'
1+
require 'gtx'
22

33
module Bashly
44
module Renderable
55
def render(view)
6-
template = File.read view_path(view)
7-
erb = ERB.new(template, trim_mode: '%-')
8-
erb.filename = "#{views_subfolder}.#{view}"
9-
erb.result binding
6+
GTX.render_file view_path(view), context: binding, filename: "#{views_subfolder}.#{view}"
107
end
118

129
def strings
@@ -37,7 +34,7 @@ def load_user_file(file, placeholder: true)
3734
private
3835

3936
def view_path(view)
40-
"#{self_views_path}/#{view}.erb"
37+
"#{self_views_path}/#{view}.gtx"
4138
end
4239

4340
def self_views_path

lib/bashly/views/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# View Tempaltes
2+
3+
These are [GTX](https://github.com/dannyben/gtx) templates.
4+
5+
For syntax highlighting, set up your editor to treat `*.gtx` files as Ruby
6+
source code.

lib/bashly/views/argument/usage.erb

Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
= view_marker
2+
> echo " {{ label }}"
3+
> printf "{{ help.wrap(76).indent(4).sanitize_for_print }}\n"
4+
5+
if allowed
6+
> printf " {{ strings[:allowed] % { values: allowed.join(', ') } }}\n"
7+
end
8+
9+
if default
10+
> printf " {{ strings[:default] % { value: default } }}\n"
11+
end
12+
13+
> echo
14+
>

lib/bashly/views/argument/validations.erb

Lines changed: 0 additions & 8 deletions
This file was deleted.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
= view_marker
2+
3+
if validate
4+
> if [[ -n $(validate_{{ validate }} "$1") ]]; then
5+
> printf "{{ strings[:validation_error] }}\n" "{{ name.upcase }}" "$(validate_{{ validate }} "$1")"
6+
> exit 1
7+
> fi
8+
>
9+
10+
end

lib/bashly/views/command/catch_all_filter.erb

Lines changed: 0 additions & 7 deletions
This file was deleted.

0 commit comments

Comments
 (0)