clerq 0.1.0 → 0.3.3
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 +4 -4
- data/.gitignore +4 -3
- data/CHANGELOG.md +49 -0
- data/Gemfile.lock +9 -9
- data/README.md +260 -133
- data/Rakefile +1 -0
- data/clerq.gemspec +6 -6
- data/clerq.thor +28 -0
- data/docs/README.md +408 -0
- data/lib/assets/knb/SRS-IEEE-830-1998.md +293 -0
- data/lib/assets/knb/SRS-RUP.md +283 -0
- data/lib/assets/knb/business-case.md +135 -0
- data/lib/assets/knb/ears-with-examples.md +101 -0
- data/lib/assets/knb/problem-statement.md +8 -0
- data/lib/assets/knb/product-statement.md +8 -0
- data/lib/assets/knb/requirement-attributes.md +26 -0
- data/lib/assets/knb/requirement-classification.md +27 -0
- data/lib/assets/knb/requirement-life-cycle.md +47 -0
- data/lib/assets/knb/requirement-quality.md +13 -0
- data/lib/assets/knb/use-case.md +39 -0
- data/lib/assets/knb/vision-document.md +191 -0
- data/lib/assets/lib/clerq_doc.thor +119 -0
- data/lib/assets/lib/colonize_repo.rb +82 -0
- data/lib/assets/lib/spec/colonize_repo_spec.rb +85 -0
- data/lib/assets/new/clerq.thor.tt +32 -5
- data/lib/assets/new/content.md.tt +3 -40
- data/lib/assets/tt/default.md.erb +23 -42
- data/lib/assets/tt/pandoc.md.erb +11 -8
- data/lib/clerq.rb +57 -12
- data/lib/clerq/cli.rb +77 -60
- data/lib/clerq/entities.rb +0 -1
- data/lib/clerq/entities/node.rb +135 -115
- data/lib/clerq/properties.rb +1 -3
- data/lib/clerq/repositories.rb +2 -4
- data/lib/clerq/repositories/file_repository.rb +59 -0
- data/lib/clerq/repositories/node_repository.rb +72 -30
- data/lib/clerq/repositories/text_repository.rb +47 -0
- data/lib/clerq/services.rb +8 -0
- data/lib/clerq/services/check_assembly.rb +108 -0
- data/lib/clerq/{interactors → services}/create_node.rb +12 -11
- data/lib/clerq/services/load_assembly.rb +54 -0
- data/lib/clerq/services/query_node.rb +72 -0
- data/lib/clerq/services/query_template.rb +26 -0
- data/lib/clerq/services/read_node.rb +101 -0
- data/lib/clerq/services/render_erb.rb +29 -0
- data/lib/clerq/services/render_node.rb +37 -0
- data/lib/clerq/services/service.rb +19 -0
- data/lib/clerq/settings.rb +2 -2
- data/lib/clerq/version.rb +1 -1
- metadata +49 -37
- data/TODO.md +0 -3
- data/lib/assets/tt/gitlab.md.erb +0 -93
- data/lib/assets/tt/raw.md.erb +0 -23
- data/lib/clerq/entities/template.rb +0 -19
- data/lib/clerq/gateways.rb +0 -3
- data/lib/clerq/gateways/gateway.rb +0 -17
- data/lib/clerq/gateways/in_files.rb +0 -36
- data/lib/clerq/gateways/in_memory.rb +0 -35
- data/lib/clerq/interactors.rb +0 -5
- data/lib/clerq/interactors/check_nodes.rb +0 -81
- data/lib/clerq/interactors/compile_nodes.rb +0 -31
- data/lib/clerq/interactors/interactor.rb +0 -28
- data/lib/clerq/interactors/join_nodes.rb +0 -59
- data/lib/clerq/interactors/query_nodes.rb +0 -62
- data/lib/clerq/repositories/in_memory.rb +0 -45
- data/lib/clerq/repositories/node_reader.rb +0 -107
- data/lib/clerq/repositories/repository.rb +0 -11
- data/lib/clerq/repositories/template_repository.rb +0 -53
- data/lib/clerq/templater.rb +0 -32
@@ -0,0 +1,72 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
require_relative "service"
|
4
|
+
|
5
|
+
module Clerq
|
6
|
+
module Services
|
7
|
+
|
8
|
+
# Provides repository nodes assembly
|
9
|
+
# @param [Sring] optional query string
|
10
|
+
# @return [Node] assembly of repository nodes
|
11
|
+
#
|
12
|
+
# Usage
|
13
|
+
# QueryAssembly.(asse:, query:)
|
14
|
+
# QueryAssembly.(query_string)
|
15
|
+
#
|
16
|
+
# Rules for root node:
|
17
|
+
# when query not passed, it return the whole hierarchy
|
18
|
+
# when nodes not found, it returns empty root node with meta[:query]
|
19
|
+
# when query returns one single node, it returns this node
|
20
|
+
# when query returns mare than one nodes, then
|
21
|
+
# * it creates empty root node with meta[:query]
|
22
|
+
# * and places found nodes to the root
|
23
|
+
class QueryNode < Service
|
24
|
+
|
25
|
+
def call
|
26
|
+
proc = prepare_query unless @query.empty?
|
27
|
+
|
28
|
+
arry = @assembly.select{|node| proc.call(node) }
|
29
|
+
return arry.first.orphan! if arry.size == 1
|
30
|
+
|
31
|
+
node = Node.new(title: Clerq.title, meta: {query: @query})
|
32
|
+
arry.each{|n| node << n.orphan!}
|
33
|
+
node
|
34
|
+
end
|
35
|
+
|
36
|
+
protected
|
37
|
+
|
38
|
+
def initialize(assembly: , query: )
|
39
|
+
unless assembly.is_a? Node
|
40
|
+
msg = "Invailid argument 'assembly'"
|
41
|
+
raise ArgumentError, msg
|
42
|
+
end
|
43
|
+
unless query.is_a? String
|
44
|
+
msg = "Invailid argument 'query'"
|
45
|
+
raise ArgumentError, msg
|
46
|
+
end
|
47
|
+
@query = query
|
48
|
+
@assembly = assembly
|
49
|
+
end
|
50
|
+
|
51
|
+
def prepare_query
|
52
|
+
proc = Proc.new{|node| eval(@query)}
|
53
|
+
Node.new.select{|node| proc.call(node)}
|
54
|
+
proc
|
55
|
+
rescue Exception => e
|
56
|
+
msg = "Invalid query format #{@query} (#{e.message})\n#{USAGE}"
|
57
|
+
raise ArgumentError, msg
|
58
|
+
end
|
59
|
+
|
60
|
+
USAGE = <<~EOF
|
61
|
+
QueryAssembly.call(query: ) evaluates query paramater
|
62
|
+
by eval() as 'Proc.new { |node| eval(query) }'
|
63
|
+
e.g. the followed queries are valid:
|
64
|
+
node.id == 'uc'
|
65
|
+
node.title == 'Introduction'
|
66
|
+
node[:originator] == 'clerq'
|
67
|
+
EOF
|
68
|
+
|
69
|
+
end
|
70
|
+
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
require_relative "service"
|
4
|
+
|
5
|
+
module Clerq
|
6
|
+
module Services
|
7
|
+
|
8
|
+
class QueryTemplate < Service
|
9
|
+
|
10
|
+
def call
|
11
|
+
Clerq.text_repository.text(@template)
|
12
|
+
end
|
13
|
+
|
14
|
+
# @param template [String] required name of template
|
15
|
+
def initialize(template)
|
16
|
+
if !(template.is_a?(String) && !template.empty?)
|
17
|
+
msg = "Invailid argument 'template'"
|
18
|
+
raise ArgumentError, msg
|
19
|
+
end
|
20
|
+
@template = template
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,101 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require_relative 'service'
|
3
|
+
require_relative '../entities/node'
|
4
|
+
include Clerq::Entities
|
5
|
+
|
6
|
+
module Clerq
|
7
|
+
module Services
|
8
|
+
|
9
|
+
# The service reads nodes from file and returns array of nodes
|
10
|
+
# It returns array because the file can have a few root nodes
|
11
|
+
class ReadNode < Service
|
12
|
+
|
13
|
+
def call
|
14
|
+
# FIXME: something wrong here when foreach!
|
15
|
+
#
|
16
|
+
text = File.read(@filename)
|
17
|
+
read_nodes(text) do |node_text|
|
18
|
+
level, node = parse_node(node_text)
|
19
|
+
next unless node
|
20
|
+
node[:filename] = @filename
|
21
|
+
insert_node(node, level)
|
22
|
+
end
|
23
|
+
|
24
|
+
ary = Array.new(@node.items)
|
25
|
+
ary.each(&:orphan!)
|
26
|
+
ary
|
27
|
+
end
|
28
|
+
|
29
|
+
# @param filename [String] input file for reading
|
30
|
+
# @param on_error [Proc] proc object {|error| ...}
|
31
|
+
def initialize(filename, on_error = nil)
|
32
|
+
@filename = filename
|
33
|
+
@on_error = on_error
|
34
|
+
@node = Node.new(id: filename)
|
35
|
+
end
|
36
|
+
|
37
|
+
protected
|
38
|
+
|
39
|
+
# @param [Enumerator<String>] text
|
40
|
+
# @return [Array<String>] where each item represents one node
|
41
|
+
def read_nodes(text, &block)
|
42
|
+
quote, node = false, []
|
43
|
+
text = text.split(?\n) unless text.is_a? Enumerator
|
44
|
+
text.each do |line|
|
45
|
+
if line.start_with?('#') && !quote && !node.empty?
|
46
|
+
block.call(node.join("\n"))
|
47
|
+
node = []
|
48
|
+
end
|
49
|
+
node << line
|
50
|
+
quote = !quote if line.start_with?('```')
|
51
|
+
end
|
52
|
+
block.call(node.join("\n")) unless node.empty?
|
53
|
+
end
|
54
|
+
|
55
|
+
def insert_node(node, level)
|
56
|
+
parent = @node
|
57
|
+
while parent.last_item && (parent.nesting_level + 1) < level
|
58
|
+
parent = parent.last_item
|
59
|
+
end
|
60
|
+
unless (parent.nesting_level + 1) == level
|
61
|
+
msg = "invalid header level: #{'#' * level} #{node.title}"
|
62
|
+
@on_error.call(msg) if @on_error
|
63
|
+
parent = @node
|
64
|
+
end
|
65
|
+
parent << node
|
66
|
+
end
|
67
|
+
|
68
|
+
def parse_node(text)
|
69
|
+
text += "\n" unless text.end_with?("\n")
|
70
|
+
parts = NODE_REGX.match(text)
|
71
|
+
lv = parts[1] || ''
|
72
|
+
id = parts[3] || ''
|
73
|
+
title = parts[4] || ''
|
74
|
+
body = parts[7] || ''
|
75
|
+
meta = {}
|
76
|
+
meta.merge!(parse_meta(parts[6])) if parts[6]
|
77
|
+
[lv.size, Node.new(id: id, title: title, body: body.strip, meta: meta)]
|
78
|
+
rescue StandardError
|
79
|
+
msg = "invalid node format: #{text}"
|
80
|
+
@on_error.call(msg) if @on_error
|
81
|
+
[nil, nil]
|
82
|
+
end
|
83
|
+
|
84
|
+
def parse_meta(text)
|
85
|
+
text.strip.split(/[;,\n]/).inject({}) do |h, i|
|
86
|
+
pair = /\s?(\w*):\s*(.*)/.match(i)
|
87
|
+
h.merge(pair[1].to_sym => pair[2])
|
88
|
+
end || {}
|
89
|
+
rescue StandardError
|
90
|
+
msg = "invalid meta format:\n{{#{text}}}"
|
91
|
+
@on_error.call(msg) if @on_error
|
92
|
+
{}
|
93
|
+
end
|
94
|
+
|
95
|
+
NODE_REGX =
|
96
|
+
/^(\#+)[ ]*(\[([^\[\]\s]*)\][ ]*)?([\s\S]*?)\n({{([\s\S]*?)}})?(.*)$/m
|
97
|
+
|
98
|
+
end
|
99
|
+
|
100
|
+
end
|
101
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
require 'erb'
|
4
|
+
require_relative 'service'
|
5
|
+
|
6
|
+
module Clerq
|
7
|
+
module Services
|
8
|
+
|
9
|
+
# Render @object trough ERB temlate
|
10
|
+
#
|
11
|
+
# Usage
|
12
|
+
# erb = "id: <%= @object.id %>\ntitle: <%= @object.title %>\n"
|
13
|
+
# obj = Node.new(id: 'uc', title: 'Use Cases', meta: {skip_meta: true})
|
14
|
+
# txt = RenderErb.call(erb, obj) # or RenderErb.(erb, obj)
|
15
|
+
class RenderErb < Service
|
16
|
+
|
17
|
+
def call
|
18
|
+
tt = ERB.new(@erb, nil, "-")
|
19
|
+
tt.result(binding)
|
20
|
+
end
|
21
|
+
|
22
|
+
def initialize(erb: , object: )
|
23
|
+
@erb = erb
|
24
|
+
@object = object
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require_relative 'service'
|
3
|
+
require_relative 'query_template'
|
4
|
+
require_relative 'render_erb'
|
5
|
+
|
6
|
+
module Clerq
|
7
|
+
module Services
|
8
|
+
|
9
|
+
class RenderNode < Service
|
10
|
+
|
11
|
+
def call
|
12
|
+
@erb = QueryTemplate.(@ett)
|
13
|
+
RenderErb.(erb: @erb, object: @node)
|
14
|
+
end
|
15
|
+
|
16
|
+
def initialize(node: , template:)
|
17
|
+
check_string_argument!(template, 'template')
|
18
|
+
check_string_empty!(template, 'template')
|
19
|
+
@node = node
|
20
|
+
@ett = template
|
21
|
+
end
|
22
|
+
|
23
|
+
def check_string_argument!(arg, str)
|
24
|
+
return if arg.is_a? String
|
25
|
+
errmsg = ":#{str} must be String!"
|
26
|
+
raise ArgumentError, errmsg, caller
|
27
|
+
end
|
28
|
+
|
29
|
+
def check_string_empty!(arg, str)
|
30
|
+
return unless arg.empty?
|
31
|
+
errmsg = ":#{str} cannot be empty!"
|
32
|
+
raise ArgumentError, errmsg, caller
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
module Clerq
|
4
|
+
module Services
|
5
|
+
|
6
|
+
class Service
|
7
|
+
def self.call(*args, **opts)
|
8
|
+
new(*args, **opts).call
|
9
|
+
end
|
10
|
+
|
11
|
+
private_class_method :new
|
12
|
+
|
13
|
+
# Should be implemented in subclasses
|
14
|
+
def call
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
data/lib/clerq/settings.rb
CHANGED
@@ -12,9 +12,9 @@ module Clerq
|
|
12
12
|
STORAGE = 'clerq.yml'.freeze
|
13
13
|
|
14
14
|
# binary document settings that can be changed through 'clerq.yml'
|
15
|
-
property :document, default: 'Clе
|
15
|
+
property :document, default: 'Clеrq SRS'
|
16
16
|
property :template, default: 'default.md.erb'
|
17
|
-
property :title, default: 'Clе
|
17
|
+
property :title, default: 'Clеrq SRS'
|
18
18
|
|
19
19
|
# folders structure
|
20
20
|
property :bin, default: 'bin'
|
data/lib/clerq/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clerq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nikolay Voynov
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,58 +16,59 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 2.2.3
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 2.2.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '13.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '13.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: minitest
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 5.14.2
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 5.14.2
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: thor
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: 1.0.1
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
69
|
-
description: The gem provides
|
70
|
-
|
68
|
+
version: 1.0.1
|
69
|
+
description: The gem provides text nodes markup, text repository, advanced customizable
|
70
|
+
CLI for managing repository, the powerful templating system for text transformation
|
71
|
+
that perfect matches for managing large structured texts.
|
71
72
|
email:
|
72
73
|
- nvoynov@gmail.com
|
73
74
|
executables:
|
@@ -77,15 +78,33 @@ extra_rdoc_files: []
|
|
77
78
|
files:
|
78
79
|
- ".gitignore"
|
79
80
|
- ".travis.yml"
|
81
|
+
- CHANGELOG.md
|
80
82
|
- Gemfile
|
81
83
|
- Gemfile.lock
|
82
84
|
- README.md
|
83
85
|
- Rakefile
|
84
|
-
- TODO.md
|
85
86
|
- bin/console
|
86
87
|
- bin/setup
|
87
88
|
- clerq.gemspec
|
89
|
+
- clerq.thor
|
90
|
+
- docs/README.md
|
91
|
+
- docs/_config.yml
|
88
92
|
- exe/clerq
|
93
|
+
- lib/assets/knb/SRS-IEEE-830-1998.md
|
94
|
+
- lib/assets/knb/SRS-RUP.md
|
95
|
+
- lib/assets/knb/business-case.md
|
96
|
+
- lib/assets/knb/ears-with-examples.md
|
97
|
+
- lib/assets/knb/problem-statement.md
|
98
|
+
- lib/assets/knb/product-statement.md
|
99
|
+
- lib/assets/knb/requirement-attributes.md
|
100
|
+
- lib/assets/knb/requirement-classification.md
|
101
|
+
- lib/assets/knb/requirement-life-cycle.md
|
102
|
+
- lib/assets/knb/requirement-quality.md
|
103
|
+
- lib/assets/knb/use-case.md
|
104
|
+
- lib/assets/knb/vision-document.md
|
105
|
+
- lib/assets/lib/clerq_doc.thor
|
106
|
+
- lib/assets/lib/colonize_repo.rb
|
107
|
+
- lib/assets/lib/spec/colonize_repo_spec.rb
|
89
108
|
- lib/assets/new/README.md.tt
|
90
109
|
- lib/assets/new/clerq.thor.tt
|
91
110
|
- lib/assets/new/clerq.yml.tt
|
@@ -113,34 +132,27 @@ files:
|
|
113
132
|
- lib/assets/promo/src/us/us.reader.md
|
114
133
|
- lib/assets/promo/src/us/us.writer.md
|
115
134
|
- lib/assets/tt/default.md.erb
|
116
|
-
- lib/assets/tt/gitlab.md.erb
|
117
135
|
- lib/assets/tt/pandoc.md.erb
|
118
|
-
- lib/assets/tt/raw.md.erb
|
119
136
|
- lib/clerq.rb
|
120
137
|
- lib/clerq/cli.rb
|
121
138
|
- lib/clerq/entities.rb
|
122
139
|
- lib/clerq/entities/node.rb
|
123
|
-
- lib/clerq/entities/template.rb
|
124
|
-
- lib/clerq/gateways.rb
|
125
|
-
- lib/clerq/gateways/gateway.rb
|
126
|
-
- lib/clerq/gateways/in_files.rb
|
127
|
-
- lib/clerq/gateways/in_memory.rb
|
128
|
-
- lib/clerq/interactors.rb
|
129
|
-
- lib/clerq/interactors/check_nodes.rb
|
130
|
-
- lib/clerq/interactors/compile_nodes.rb
|
131
|
-
- lib/clerq/interactors/create_node.rb
|
132
|
-
- lib/clerq/interactors/interactor.rb
|
133
|
-
- lib/clerq/interactors/join_nodes.rb
|
134
|
-
- lib/clerq/interactors/query_nodes.rb
|
135
140
|
- lib/clerq/properties.rb
|
136
141
|
- lib/clerq/repositories.rb
|
137
|
-
- lib/clerq/repositories/
|
138
|
-
- lib/clerq/repositories/node_reader.rb
|
142
|
+
- lib/clerq/repositories/file_repository.rb
|
139
143
|
- lib/clerq/repositories/node_repository.rb
|
140
|
-
- lib/clerq/repositories/
|
141
|
-
- lib/clerq/
|
144
|
+
- lib/clerq/repositories/text_repository.rb
|
145
|
+
- lib/clerq/services.rb
|
146
|
+
- lib/clerq/services/check_assembly.rb
|
147
|
+
- lib/clerq/services/create_node.rb
|
148
|
+
- lib/clerq/services/load_assembly.rb
|
149
|
+
- lib/clerq/services/query_node.rb
|
150
|
+
- lib/clerq/services/query_template.rb
|
151
|
+
- lib/clerq/services/read_node.rb
|
152
|
+
- lib/clerq/services/render_erb.rb
|
153
|
+
- lib/clerq/services/render_node.rb
|
154
|
+
- lib/clerq/services/service.rb
|
142
155
|
- lib/clerq/settings.rb
|
143
|
-
- lib/clerq/templater.rb
|
144
156
|
- lib/clerq/version.rb
|
145
157
|
homepage: https://github.com/nvoynov/clerq
|
146
158
|
licenses:
|
@@ -150,7 +162,7 @@ metadata:
|
|
150
162
|
homepage_uri: https://github.com/nvoynov/clerq
|
151
163
|
source_code_uri: https://github.com/nvoynov/clerq
|
152
164
|
changelog_uri: https://github.com/nvoynov/clerq/CHANGELOG.md
|
153
|
-
post_install_message:
|
165
|
+
post_install_message:
|
154
166
|
rdoc_options: []
|
155
167
|
require_paths:
|
156
168
|
- lib
|
@@ -165,8 +177,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
165
177
|
- !ruby/object:Gem::Version
|
166
178
|
version: '0'
|
167
179
|
requirements: []
|
168
|
-
rubygems_version: 3.
|
169
|
-
signing_key:
|
180
|
+
rubygems_version: 3.2.15
|
181
|
+
signing_key:
|
170
182
|
specification_version: 4
|
171
|
-
summary:
|
183
|
+
summary: Text node repository and automation of managing large structured texts.
|
172
184
|
test_files: []
|