generamba 0.7.6 → 0.7.7
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 75fd8f09b867e3a63ea18b53a9d78d82eb1123f3
|
4
|
+
data.tar.gz: 83c57bda10c9a4cf25c28ab9724c1b4a1e606826
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1aa8ae6ebdd3b662865a14926857eb6d925651ce4f4779346484a4476587d7a926895e8929a2063b120246fc3623004ba8644aee35a2739d0b9bd4a4eed3d65c
|
7
|
+
data.tar.gz: 0cdb99df08c246ceda3c59abeafc48483d2bfe77a9f2a2f1bc2f95a10a68e310531b4e809dff643fe4d1c4be820e5f5e6decee4f020b8e9a0589e8e7ddf64714
|
@@ -5,22 +5,23 @@ module Generamba
|
|
5
5
|
# Responsible for generating code using provided liquid templates
|
6
6
|
class ContentGenerator
|
7
7
|
|
8
|
-
# Generates and returns a body of a specific code file.
|
8
|
+
# Generates and returns a filename and a body of a specific code file.
|
9
9
|
# @param file []Hash<String,String>] A hashmap with template's filename and filepath
|
10
10
|
# @param code_module [CodeModule] The model describing a generating module
|
11
11
|
# @param template [ModuleTemplate] The model describing a Generamba template used for code generation
|
12
12
|
#
|
13
|
-
# @return [String] The generated body
|
14
|
-
def self.
|
13
|
+
# @return [String], [String] The generated file_name and body
|
14
|
+
def self.create_file(file, code_module, template)
|
15
15
|
file_source = IO.read(template.template_path.join(file[TEMPLATE_FILE_PATH_KEY]))
|
16
16
|
Liquid::Template.file_system = Liquid::LocalFileSystem.new(template.template_path.join('snippets'), '%s.liquid')
|
17
17
|
|
18
18
|
template = Liquid::Template.parse(file_source)
|
19
|
-
|
19
|
+
filename_template = self.file_name_template(file)
|
20
|
+
|
21
|
+
file_basename = File.basename(file[TEMPLATE_FILE_NAME_KEY])
|
20
22
|
|
21
23
|
module_info = {
|
22
24
|
'name' => code_module.name,
|
23
|
-
'file_name' => file_name,
|
24
25
|
'description' => code_module.description,
|
25
26
|
'project_name' => code_module.project_name,
|
26
27
|
'project_targets' => code_module.project_targets,
|
@@ -39,10 +40,23 @@ module Generamba
|
|
39
40
|
'module_info' => module_info,
|
40
41
|
'prefix' => code_module.prefix
|
41
42
|
}
|
43
|
+
|
44
|
+
module_info['file_basename'] = file_basename
|
42
45
|
|
43
|
-
|
46
|
+
file_name = filename_template.render(scope)
|
44
47
|
|
45
|
-
|
48
|
+
module_info['file_name'] = file_name
|
49
|
+
module_info.delete('file_basename')
|
50
|
+
|
51
|
+
content = template.render(scope)
|
52
|
+
|
53
|
+
return file_name, content
|
54
|
+
end
|
55
|
+
|
56
|
+
def self.file_name_template(file)
|
57
|
+
template_default_text = "{{ prefix }}{{ module_info.name }}{{ module_info.file_basename }}"
|
58
|
+
template_text = file[TEMPLATE_FILE_FILENAME_KEY] || template_default_text
|
59
|
+
return Liquid::Template.parse(template_text)
|
46
60
|
end
|
47
61
|
end
|
48
62
|
end
|
@@ -67,19 +67,14 @@ module Generamba
|
|
67
67
|
|
68
68
|
XcodeprojHelper.clear_group(project, targets, group_path)
|
69
69
|
files.each do |file|
|
70
|
-
|
71
|
-
# E.g. RDS + Authorization + Presenter.h = RDSAuthorizationPresenter.h
|
72
|
-
file_basename = name + File.basename(file[TEMPLATE_NAME_KEY])
|
73
|
-
prefix = code_module.prefix
|
74
|
-
file_name = prefix ? prefix + file_basename : file_basename
|
75
|
-
|
70
|
+
|
76
71
|
file_group = File.dirname(file[TEMPLATE_NAME_KEY])
|
77
72
|
|
78
|
-
# Generating the content of the code file
|
79
|
-
file_content = ContentGenerator.
|
73
|
+
# Generating the content of the code file and it's name
|
74
|
+
file_name, file_content = ContentGenerator.create_file(file, code_module, template)
|
80
75
|
file_path = dir_path.join(file_group)
|
81
76
|
.join(file_name)
|
82
|
-
|
77
|
+
|
83
78
|
# Creating the file in the filesystem
|
84
79
|
FileUtils.mkdir_p File.dirname(file_path)
|
85
80
|
File.open(file_path, 'w+') do |f|
|
data/lib/generamba/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: generamba
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Egor Tolstoy
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-
|
13
|
+
date: 2016-05-10 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: thor
|