reality-generators 1.8.0 → 1.9.0
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/lib/reality/generators/standard_artifact_dsl.rb +52 -33
- data/reality-generators.gemspec +1 -1
- data/test/generators/jpa/model.rb +13 -13
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e76ea1052bc46ab01b49553d2836611c6da83c1b
|
4
|
+
data.tar.gz: d5e6e663a5580a87a61ace92b2836e440620187f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c88db3db21c9c4c81c604043edd85df6681244cee76d95916d02767949a6c4cfbc9732d5ee6187935114bf1615aa31ac33c7fd75e7817528e548504f2a4273e
|
7
|
+
data.tar.gz: 3b038a2cf2b0b66c936e9ba4f862cca89bf8eb93b5571d4e9b3a09e86271a092562fefe678607d60081e3b7fc3645edd651c2d3aee667f329bb7ff96575594cd
|
@@ -42,7 +42,7 @@ module Reality #nodoc
|
|
42
42
|
artifact_category = options.delete(:artifact_category) || :main
|
43
43
|
Reality::Generators.error("artifact_category '#{artifact_category}' is not a known type") unless [:main, :test].include?(artifact_category)
|
44
44
|
filename_pattern = "#{artifact_category}/java/\#{#{self.target_key}.#{self.facet_key}.qualified_#{artifact_key}_name.gsub(\".\",\"/\")}.java"
|
45
|
-
|
45
|
+
file_artifact(template_set_suffix, artifact_key, filename_pattern, options)
|
46
46
|
end
|
47
47
|
|
48
48
|
#
|
@@ -57,46 +57,65 @@ module Reality #nodoc
|
|
57
57
|
# * :helpers - additional helpers that are added to the default helpers.
|
58
58
|
# * :guard - The :guard option passed to the template.
|
59
59
|
#
|
60
|
-
def
|
60
|
+
def file_artifact(template_set_suffix, artifact_key, filename_pattern, options = {})
|
61
61
|
Reality::Options.check(options, [:facets, :guard, :helpers], Reality::Generators, 'define artifact')
|
62
62
|
|
63
|
-
|
63
|
+
file_extension = File.extname(filename_pattern)[1...9999]
|
64
64
|
|
65
|
-
|
65
|
+
params = options.merge(:file_type => file_extension)
|
66
|
+
artifact(template_set_suffix, params) do |template_set, facets, helpers, template_options|
|
67
|
+
base_template_filename = "#{facet_templates_directory}/#{artifact_key}.#{file_extension}"
|
68
|
+
template_extension =
|
69
|
+
File.exist?("#{base_template_filename}.erb") ?
|
70
|
+
'erb' :
|
71
|
+
File.exist?("#{base_template_filename}.rb") ? 'rb' : nil
|
72
|
+
template_filename = "#{base_template_filename}.#{template_extension}"
|
73
|
+
if 'erb' == template_extension
|
74
|
+
template_set.erb_template(facets, self.target_key, template_filename, filename_pattern, helpers, template_options)
|
75
|
+
else
|
76
|
+
template_set.ruby_template(facets, self.target_key, template_filename, filename_pattern, helpers, template_options)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
66
80
|
|
67
|
-
|
81
|
+
#
|
82
|
+
# Define an arbitrary artifact and attach it to template_set.
|
83
|
+
# This delegates the work of creating the template to the supplied block which is passed the template pattern.
|
84
|
+
#
|
85
|
+
# The template set is prefixed with the name of the facet from which this is extended if any.
|
86
|
+
#
|
87
|
+
# The following options are supported. Additional options are passed to helper methods and may be used.
|
88
|
+
# * :facets - additional facets that must be enabled for the facet to be generated.
|
89
|
+
# * :helpers - additional helpers that are added to the default helpers.
|
90
|
+
# * :guard - The :guard option passed to the template.
|
91
|
+
#
|
92
|
+
def artifact(template_set_suffix, options = {}, &block)
|
93
|
+
block.call(template_set_with_suffix(template_set_suffix),
|
94
|
+
template_set_facets(options),
|
95
|
+
template_set_helpers(options),
|
96
|
+
:guard => options[:guard])
|
97
|
+
end
|
68
98
|
|
69
|
-
|
99
|
+
def template_set_facets(options = {})
|
100
|
+
(self.default_facets + (options[:facets].nil? ? [] : options[:facets])).compact
|
101
|
+
end
|
70
102
|
|
71
|
-
|
103
|
+
def template_set_helpers(options = {})
|
104
|
+
template_set_container.
|
105
|
+
derive_default_helpers(options.merge(:artifact_type => self.target_key, :facet_key => self.facet_key)) +
|
106
|
+
(options[:helpers].nil? ? [] : options[:helpers])
|
107
|
+
end
|
108
|
+
|
109
|
+
def template_set_with_suffix(suffix)
|
110
|
+
template_set_key = [self.facet_key, suffix].compact.join('_').to_sym
|
72
111
|
|
73
|
-
|
112
|
+
template_set_container.template_set_by_name?(template_set_key) ?
|
74
113
|
template_set_container.template_set_by_name(template_set_key) :
|
75
114
|
template_set_container.template_set(template_set_key)
|
115
|
+
end
|
76
116
|
|
77
|
-
|
78
|
-
|
79
|
-
template_filename = "#{base_template_filename}.#{template_extension}"
|
80
|
-
|
81
|
-
|
82
|
-
helpers = template_set_container.derive_default_helpers(options.merge(:file_type => file_extension, :artifact_type => artifact_type, :facet_key => self.facet_key)) +
|
83
|
-
(options[:helpers].nil? ? [] : options[:helpers])
|
84
|
-
|
85
|
-
if 'erb' == template_extension
|
86
|
-
template_set.erb_template(facets,
|
87
|
-
artifact_type,
|
88
|
-
template_filename,
|
89
|
-
filename_pattern,
|
90
|
-
helpers,
|
91
|
-
:guard => guard)
|
92
|
-
else
|
93
|
-
template_set.ruby_template(facets,
|
94
|
-
artifact_type,
|
95
|
-
template_filename,
|
96
|
-
filename_pattern,
|
97
|
-
helpers,
|
98
|
-
:guard => guard)
|
99
|
-
end
|
117
|
+
def default_facets
|
118
|
+
[self.facet_key]
|
100
119
|
end
|
101
120
|
|
102
121
|
def facet_templates_directory
|
@@ -110,12 +129,12 @@ module Reality #nodoc
|
|
110
129
|
caller_locations.collect { |c| c.absolute_path } :
|
111
130
|
caller.collect { |s| s.split(':')[0] }
|
112
131
|
locations.each do |location|
|
113
|
-
if location =~ /.*\/#{self.facet_key}\/model\.rb$/
|
132
|
+
if !self.facet_key.nil? && location =~ /.*\/#{self.facet_key}\/model\.rb$/
|
114
133
|
@facet_directory = File.dirname(location)
|
115
134
|
break
|
116
135
|
end
|
117
136
|
end
|
118
|
-
Reality::Generators.error("Unable to locate facet_directory for facet #{self.facet_key}. Caller trace: #{locations.inspect}") if @facet_directory.nil?
|
137
|
+
Reality::Generators.error("Unable to locate facet_directory for facet '#{self.facet_key}'. Caller trace: #{locations.inspect}") if @facet_directory.nil?
|
119
138
|
end
|
120
139
|
@facet_directory
|
121
140
|
end
|
data/reality-generators.gemspec
CHANGED
@@ -18,34 +18,34 @@ class TestFacetExtension
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def define_artifacts1
|
21
|
-
|
21
|
+
file_artifact(:models, :mytemplate, 'main/java/#{entity.qualified_name}.java')
|
22
22
|
end
|
23
23
|
|
24
24
|
def define_artifacts2
|
25
|
-
|
25
|
+
file_artifact(:models, :rubytemplate, 'main/java/#{entity.qualified_name}.java')
|
26
26
|
end
|
27
27
|
|
28
28
|
def define_artifacts3
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
29
|
+
file_artifact(:models,
|
30
|
+
:mytemplate,
|
31
|
+
'main/java/#{entity.qualified_name}.java',
|
32
|
+
:facets => [:ee],
|
33
|
+
:helpers => [MyHelperModule],
|
34
|
+
:guard => 'entity.jpa.good?')
|
35
35
|
end
|
36
36
|
|
37
37
|
def define_artifacts4
|
38
|
-
|
38
|
+
file_artifact(:models, :mytemplate, 'main/java/#{entity.qualified_name}.java')
|
39
39
|
end
|
40
40
|
|
41
41
|
def define_artifacts5
|
42
|
-
|
43
|
-
|
44
|
-
|
42
|
+
file_artifact(:models, :mytemplate, 'main/java/#{entity.qualified_name}.java')
|
43
|
+
file_artifact(:qa_models, :mytemplate, 'test/java/#{entity.qualified_name}.java')
|
44
|
+
file_artifact(:qa_models, :rubytemplate, 'main/java/#{entity.qualified_name}.java')
|
45
45
|
end
|
46
46
|
|
47
47
|
def define_artifacts6
|
48
|
-
|
48
|
+
file_artifact(:models, :mytemplate, 'main/java/#{entity.qualified_name}.java', :bad_option => true)
|
49
49
|
end
|
50
50
|
|
51
51
|
def define_artifacts7
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: reality-generators
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Donald
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-05-
|
11
|
+
date: 2017-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: reality-core
|