meta-record 1.0.4 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1b69f5ecbbd9f965b58eb3e7e24afc9eb1984b9731dacacb27c6b9ca9b330e0a
4
- data.tar.gz: 27801886a4b4faec633e3126610aafe74a527e4ca01ed196f0cf686fff2e99bb
3
+ metadata.gz: 7d3ae0ed61506286b16383437708cb00772a261b5918c7bad70eb3a98f2a9801
4
+ data.tar.gz: a4c8bbc4eb90d352a6a3d6d78f3412e9b2dc70ce966ad83061466a6d98d3bd99
5
5
  SHA512:
6
- metadata.gz: 17cdcda84be56c6cadb92d0820de95da5afaa7dd308bedc3a85c50ef435cf4ab319d108a556f6e93487922818d5f90d1d32e0fa08d0317acfb653d83a8c3e222
7
- data.tar.gz: 2f6e23b9cd576e810ff94418343cd673c8b5a3ac1104a43d2bda67b791abc0d76958f722ad0510161eaa0465ea548a6f220d91db5839897c5e625ee38e55560a
6
+ metadata.gz: fcd4a7e510f542d0d02226f00995fd8cc70e09e87009ddbbb835d08df056a9d78365e43a34dd750aaa4f672c31d863d8f0a65922b3e6cc5619242fc631e2a149
7
+ data.tar.gz: b898b99895df1a27d4e168b587e5251ae54fe8d5176c804c5e2f840d5d70008eb9c4c01fcda1c799867e00ab300375951ca112a44eac1e84cfcfc153484a8be5
@@ -44,18 +44,18 @@ class CometArchiveGenerator < GeneratorBase
44
44
  funcname_prefix = "render_#{object[:classname].gsub(/^::/,'').underscore}"
45
45
  funcname = "#{funcname_prefix}_show_archive"
46
46
  _append "#ifndef #{self.class.client_define}"
47
- _append "std::string #{funcname}(const Crails::Renderer* renderer, Crails::SharedVars& vars)"
47
+ _append "void #{funcname}(const Crails::Renderer&, Crails::RenderTarget& target, Crails::SharedVars& vars)"
48
48
  _append "{"
49
49
  @indent += 1
50
50
  _append "auto* model = Crails::cast<#{ptr_type}>(vars, \"model\");"
51
51
  _append "OArchive archive;\n"
52
52
  _append "model->serialize(archive);"
53
- _append "return archive.as_string();"
53
+ _append "target.set_body(archive.as_string());"
54
54
  @indent -= 1
55
55
  _append "}\n"
56
56
 
57
57
  funcname = "#{funcname_prefix}_index_archive"
58
- _append "std::string #{funcname}(const Crails::Renderer* renderer, Crails::SharedVars& vars)"
58
+ _append "void #{funcname}(const Crails::Renderer&, Crails::RenderTarget& target, Crails::SharedVars& vars)"
59
59
  _append "{"
60
60
  @indent += 1
61
61
  _append "auto* models = Crails::cast<std::vector<#{object[:classname]}>*>(vars, \"models\");"
@@ -64,7 +64,7 @@ class CometArchiveGenerator < GeneratorBase
64
64
  _append "archive & size;"
65
65
  _append "for (auto& model : *models)"
66
66
  _append " model.serialize(archive);"
67
- _append "return archive.as_string();"
67
+ _append "target.set_body(archive.as_string());"
68
68
  @indent -= 1
69
69
  _append "}"
70
70
  _append "#endif"
@@ -26,12 +26,12 @@ private
26
26
  name = model.gsub(/^::/,'').underscore
27
27
  funcname_prefix = "render_#{name}"
28
28
  funcname = "#{funcname_prefix}_show_archive"
29
- @declarations += "std::string #{funcname}(const Crails::Renderer* renderer, Crails::SharedVars& vars);\n"
29
+ @declarations += "void #{funcname}(const Crails::Renderer& renderer, Crails::RenderTarget& target, Crails::SharedVars& vars);\n"
30
30
  _append "templates.insert("
31
31
  _append " pair<string, Generator>(\"#{name}/show\", #{funcname})"
32
32
  _append ");"
33
33
  funcname = "#{funcname_prefix}_index_archive"
34
- @declarations += "std::string #{funcname}(const Crails::Renderer* renderer, Crails::SharedVars& vars);\n"
34
+ @declarations += "void #{funcname}(const Crails::Renderer& renderer, Crails::RenderTarget& target, Crails::SharedVars& vars);\n"
35
35
  _append "templates.insert("
36
36
  _append " pair<string, Generator>(\"#{name}/index\", #{funcname})"
37
37
  _append ");"
@@ -13,6 +13,10 @@ class RailsDataGenerator < GeneratorBase
13
13
  "ActiveRecord::Base"
14
14
  end
15
15
  end
16
+
17
+ def super_class
18
+ if @inherits.nil? then model_base_class else @inherits end
19
+ end
16
20
 
17
21
  def reset
18
22
  super
@@ -21,8 +25,9 @@ class RailsDataGenerator < GeneratorBase
21
25
 
22
26
  def generate_for object
23
27
  reset
28
+ @inherits = object[:inherits]
24
29
  indent do
25
- _append "class #{object[:name]} < #{model_base_class}"
30
+ _append "class #{object[:name]} < #{super_class}"
26
31
  indent do
27
32
  _append "self.abstract_class = true"
28
33
  _append ""
@@ -10,8 +10,14 @@ class Model
10
10
  definition = { classname: definition.first, hpp: definition.last }
11
11
  end
12
12
  definition[:classname] ||= "::#{name}"
13
- @list << { name: name, filename: current_file, block: block,
14
- classname: definition[:classname], header: definition[:hpp] }
13
+ @list << {
14
+ name: name,
15
+ filename: current_file,
16
+ classname: definition[:classname],
17
+ header: definition[:hpp],
18
+ inherits: definition[:inherits],
19
+ block: block,
20
+ }
15
21
  end
16
22
 
17
23
  def list
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: meta-record
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Martin Moro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-23 00:00:00.000000000 Z
11
+ date: 2023-02-12 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |2
14
14
  MetaRecord is a code generator that allows you to define your application