handlebarsjs 0.5.5 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -0
- data/lib/handlebarsjs/handlebars.rb +17 -3
- data/lib/handlebarsjs/handlebars_snapshot.rb +4 -1
- data/lib/handlebarsjs/helpers/array/default_configuration.rb +7 -0
- data/lib/handlebarsjs/helpers/case/default_configuration.rb +17 -0
- data/lib/handlebarsjs/helpers/comparison/default_configuration.rb +13 -0
- data/lib/handlebarsjs/helpers/inflection/default_configuration.rb +10 -0
- data/lib/handlebarsjs/version.rb +1 -1
- data/lib/handlebarsjs.rb +22 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be20a900e92e33b726da6c5807cba1e183e15c3642fc75493370230ef7f04326
|
4
|
+
data.tar.gz: '069b8b8358aefa0b753d55883e1c52b53698d94dcf7c9660a019f7d3713789b3'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 79cf9b5f22b8d20fab6d626c11ebedb8d31a52d0c7122f9587d86bd925b3792a9af91aad2ea27d29d360414f91710a9f85ac7e4f3191cd95dda8c6f514c28fa8
|
7
|
+
data.tar.gz: d29ad4299dc2d9579dd2e31ffbb2abc653fe4d65b9f2ed013e67f0cc20801ca1a8e0d39e72e61ef0b5118bdcb05c5a4c5181f1a293f88bc03400199f2d32cac6
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,24 @@
|
|
1
|
+
## [0.5.7](https://github.com/klueless-io/handlebarsjs/compare/v0.5.6...v0.5.7) (2022-07-13)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* add catgegory default configurations ([8046805](https://github.com/klueless-io/handlebarsjs/commit/80468055f94e36ea682dbbfd26e7eb527db9ff82))
|
7
|
+
|
8
|
+
## [0.5.6](https://github.com/klueless-io/handlebarsjs/compare/v0.5.5...v0.5.6) (2022-07-13)
|
9
|
+
|
10
|
+
|
11
|
+
### Bug Fixes
|
12
|
+
|
13
|
+
* add configuration capability to handlebars_snapshot ([06f7ca6](https://github.com/klueless-io/handlebarsjs/commit/06f7ca628018d4a89c9b068c8cae4565a624a3db))
|
14
|
+
|
15
|
+
## [0.5.5](https://github.com/klueless-io/handlebarsjs/compare/v0.5.4...v0.5.5) (2022-07-12)
|
16
|
+
|
17
|
+
|
18
|
+
### Bug Fixes
|
19
|
+
|
20
|
+
* add configuration ([ab16612](https://github.com/klueless-io/handlebarsjs/commit/ab16612500b1cf61094b128e14fcecbe1aacde5b))
|
21
|
+
|
1
22
|
## [0.5.4](https://github.com/klueless-io/handlebarsjs/compare/v0.5.3...v0.5.4) (2022-07-12)
|
2
23
|
|
3
24
|
|
@@ -5,6 +5,19 @@ module Handlebarsjs
|
|
5
5
|
class Handlebars < Handlebarsjs::Javascript
|
6
6
|
def initialize
|
7
7
|
super
|
8
|
+
|
9
|
+
add_libraries
|
10
|
+
add_configured_helpers
|
11
|
+
end
|
12
|
+
|
13
|
+
def process_template(template, options = {})
|
14
|
+
# TODO: process template function may be improved with some type of caching
|
15
|
+
context.call('process_template', template, options)
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def add_libraries
|
8
21
|
# Handlebars 4.7.7
|
9
22
|
gem_path = Gem.loaded_specs['handlebarsjs'].full_gem_path
|
10
23
|
|
@@ -17,9 +30,10 @@ module Handlebarsjs
|
|
17
30
|
handlebars_snapshot.add_library('handlebars-api', path: handlebars_api_path)
|
18
31
|
end
|
19
32
|
|
20
|
-
def
|
21
|
-
|
22
|
-
|
33
|
+
def add_configured_helpers
|
34
|
+
KConfig.configuration.handlebars.helpers.each do |helper_config|
|
35
|
+
handlebars_snapshot.add_helper(helper_config.name, helper_config.helper)
|
36
|
+
end
|
23
37
|
end
|
24
38
|
end
|
25
39
|
end
|
@@ -6,6 +6,8 @@ module Handlebarsjs
|
|
6
6
|
# in the correct order. So that new contexts are preloaded
|
7
7
|
# with the handlebars library and the configured helpers.
|
8
8
|
class HandlebarsSnapshot
|
9
|
+
include KLog::Logging
|
10
|
+
|
9
11
|
attr_reader :scripts
|
10
12
|
attr_reader :helpers
|
11
13
|
|
@@ -60,7 +62,8 @@ module Handlebarsjs
|
|
60
62
|
end
|
61
63
|
|
62
64
|
def debug
|
63
|
-
|
65
|
+
data = { scripts: scripts, helpers: helpers }
|
66
|
+
log.structure(data)
|
64
67
|
end
|
65
68
|
|
66
69
|
private
|
@@ -0,0 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
KConfig.configure do |config|
|
4
|
+
config.handlebars.helper(:join, Handlebarsjs::Helpers::Array::Join.new)
|
5
|
+
config.handlebars.helper(:join_pre, Handlebarsjs::Helpers::Array::JoinPre.new)
|
6
|
+
config.handlebars.helper(:join_post, Handlebarsjs::Helpers::Array::JoinPost.new)
|
7
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
KConfig.configure do |config|
|
4
|
+
config.handlebars.helper(:back_slash, Handlebarsjs::Helpers::Case::BackSlash.new)
|
5
|
+
config.handlebars.helper(:camel, Handlebarsjs::Helpers::Case::Camel.new)
|
6
|
+
config.handlebars.helper(:constant, Handlebarsjs::Helpers::Case::Constant.new)
|
7
|
+
config.handlebars.helper(:dash, Handlebarsjs::Helpers::Case::Dash.new)
|
8
|
+
config.handlebars.helper(:dot, Handlebarsjs::Helpers::Case::Dot.new)
|
9
|
+
config.handlebars.helper(:double_colon, Handlebarsjs::Helpers::Case::DoubleColon.new)
|
10
|
+
config.handlebars.helper(:human, Handlebarsjs::Helpers::Case::Human.new)
|
11
|
+
config.handlebars.helper(:lamel, Handlebarsjs::Helpers::Case::Lamel.new)
|
12
|
+
config.handlebars.helper(:lower, Handlebarsjs::Helpers::Case::Lower.new)
|
13
|
+
config.handlebars.helper(:slash, Handlebarsjs::Helpers::Case::Slash.new)
|
14
|
+
config.handlebars.helper(:snake, Handlebarsjs::Helpers::Case::Snake.new)
|
15
|
+
config.handlebars.helper(:title, Handlebarsjs::Helpers::Case::Title.new)
|
16
|
+
config.handlebars.helper(:upper, Handlebarsjs::Helpers::Case::Upper.new)
|
17
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
KConfig.configure do |config|
|
4
|
+
config.handlebars.helper(:and, Handlebarsjs::Helpers::Comparison::And.new)
|
5
|
+
config.handlebars.helper(:default, Handlebarsjs::Helpers::Comparison::Default.new)
|
6
|
+
config.handlebars.helper(:eq, Handlebarsjs::Helpers::Comparison::Eq.new)
|
7
|
+
config.handlebars.helper(:gt, Handlebarsjs::Helpers::Comparison::Gt.new)
|
8
|
+
config.handlebars.helper(:gte, Handlebarsjs::Helpers::Comparison::Gte.new)
|
9
|
+
config.handlebars.helper(:lt, Handlebarsjs::Helpers::Comparison::Lt.new)
|
10
|
+
config.handlebars.helper(:lte, Handlebarsjs::Helpers::Comparison::Lte.new)
|
11
|
+
config.handlebars.helper(:ne, Handlebarsjs::Helpers::Comparison::Ne.new)
|
12
|
+
config.handlebars.helper(:or, Handlebarsjs::Helpers::Comparison::Or.new)
|
13
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
KConfig.configure do |config|
|
4
|
+
config.handlebars.helper(:ordinal, Handlebarsjs::Helpers::Inflection::Ordinal.new)
|
5
|
+
config.handlebars.helper(:ordinalize, Handlebarsjs::Helpers::Inflection::Ordinalize.new)
|
6
|
+
config.handlebars.helper(:pluralize, Handlebarsjs::Helpers::Inflection::Pluralize.new)
|
7
|
+
config.handlebars.helper(:pluralize_number, Handlebarsjs::Helpers::Inflection::PluralizeNumber.new)
|
8
|
+
config.handlebars.helper(:pluralize_number_word, Handlebarsjs::Helpers::Inflection::PluralizeNumberWord.new)
|
9
|
+
config.handlebars.helper(:singularize, Handlebarsjs::Helpers::Inflection::Singularize.new)
|
10
|
+
end
|
data/lib/handlebarsjs/version.rb
CHANGED
data/lib/handlebarsjs.rb
CHANGED
@@ -10,6 +10,7 @@ require_relative 'handlebarsjs/handlebars'
|
|
10
10
|
require_relative 'handlebarsjs/base_helper'
|
11
11
|
require_relative '_'
|
12
12
|
|
13
|
+
# Handlebarsjs is a Ruby wrapper for the Handlebars.js templating engine.
|
13
14
|
module Handlebarsjs
|
14
15
|
HANDLEBARS_LIBRARY_PATH = 'lib/handlebarsjs/javascript/handlebars-4.7.7.js'
|
15
16
|
HANDLEBARS_API_PATH = 'lib/handlebarsjs/javascript/handlebars-api.js'
|
@@ -17,7 +18,27 @@ module Handlebarsjs
|
|
17
18
|
# raise Handlebarsjs::Error, 'Sample message'
|
18
19
|
Error = Class.new(StandardError)
|
19
20
|
|
20
|
-
|
21
|
+
class << self
|
22
|
+
# Get a singleton instance of the Handlebars engine.
|
23
|
+
#
|
24
|
+
# The engine is exposed as a singleton and that means that if you
|
25
|
+
# alter the configuration after calling Handlebarsjs.engine,
|
26
|
+
# you will have old helper state attached to the engine.
|
27
|
+
#
|
28
|
+
# If you need to update your helper state, then run Handlebarsjs.reset
|
29
|
+
# to clear the singleton
|
30
|
+
def engine
|
31
|
+
@engine ||= Handlebarsjs::Handlebars.new
|
32
|
+
end
|
33
|
+
|
34
|
+
def reset
|
35
|
+
@engine = nil
|
36
|
+
end
|
37
|
+
|
38
|
+
def render(template, options = {})
|
39
|
+
@engine.process_template(template, options)
|
40
|
+
end
|
41
|
+
end
|
21
42
|
end
|
22
43
|
|
23
44
|
if ENV.fetch('KLUE_DEBUG', 'false').downcase == 'true'
|
data/package-lock.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "handlebarsjs",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.6.0",
|
4
4
|
"lockfileVersion": 2,
|
5
5
|
"requires": true,
|
6
6
|
"packages": {
|
7
7
|
"": {
|
8
8
|
"name": "handlebarsjs",
|
9
|
-
"version": "0.
|
9
|
+
"version": "0.6.0",
|
10
10
|
"devDependencies": {
|
11
11
|
"@klueless-js/semantic-release-rubygem": "github:klueless-js/semantic-release-rubygem",
|
12
12
|
"@semantic-release/changelog": "^6.0.1",
|
data/package.json
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: handlebarsjs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Cruwys
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-07-
|
11
|
+
date: 2022-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: cmdlet
|
@@ -95,6 +95,7 @@ files:
|
|
95
95
|
- lib/handlebarsjs/configuration.rb
|
96
96
|
- lib/handlebarsjs/handlebars.rb
|
97
97
|
- lib/handlebarsjs/handlebars_snapshot.rb
|
98
|
+
- lib/handlebarsjs/helpers/array/default_configuration.rb
|
98
99
|
- lib/handlebarsjs/helpers/array/join.rb
|
99
100
|
- lib/handlebarsjs/helpers/array/join_post.rb
|
100
101
|
- lib/handlebarsjs/helpers/array/join_pre.rb
|
@@ -102,6 +103,7 @@ files:
|
|
102
103
|
- lib/handlebarsjs/helpers/case/camel.rb
|
103
104
|
- lib/handlebarsjs/helpers/case/constant.rb
|
104
105
|
- lib/handlebarsjs/helpers/case/dash.rb
|
106
|
+
- lib/handlebarsjs/helpers/case/default_configuration.rb
|
105
107
|
- lib/handlebarsjs/helpers/case/dot.rb
|
106
108
|
- lib/handlebarsjs/helpers/case/double_colon.rb
|
107
109
|
- lib/handlebarsjs/helpers/case/human.rb
|
@@ -113,6 +115,7 @@ files:
|
|
113
115
|
- lib/handlebarsjs/helpers/case/upper.rb
|
114
116
|
- lib/handlebarsjs/helpers/comparison/and.rb
|
115
117
|
- lib/handlebarsjs/helpers/comparison/default.rb
|
118
|
+
- lib/handlebarsjs/helpers/comparison/default_configuration.rb
|
116
119
|
- lib/handlebarsjs/helpers/comparison/eq.rb
|
117
120
|
- lib/handlebarsjs/helpers/comparison/gt.rb
|
118
121
|
- lib/handlebarsjs/helpers/comparison/gte.rb
|
@@ -120,6 +123,7 @@ files:
|
|
120
123
|
- lib/handlebarsjs/helpers/comparison/lte.rb
|
121
124
|
- lib/handlebarsjs/helpers/comparison/ne.rb
|
122
125
|
- lib/handlebarsjs/helpers/comparison/or.rb
|
126
|
+
- lib/handlebarsjs/helpers/inflection/default_configuration.rb
|
123
127
|
- lib/handlebarsjs/helpers/inflection/ordinal.rb
|
124
128
|
- lib/handlebarsjs/helpers/inflection/ordinalize.rb
|
125
129
|
- lib/handlebarsjs/helpers/inflection/pluralize.rb
|