goon_model_gen 0.2.5 → 0.3.0

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: 35eae7744ace6ecb88fdce49041734f3cfd1c724ef899e6996e4a4fcdd7ea59a
4
- data.tar.gz: a32f155f2e6bb40fb48ddf3eb166e67e1d3090948bb7a4e50bd203c86317825c
3
+ metadata.gz: 1b3a9f1be05eeba8aa04aa53bb51f772733251f87d6f0b5902b3e6c8f1a510ce
4
+ data.tar.gz: 0f088cd4911a7fcc6959a7727d56e95d01ed41721bab85b47e4d890221abbfc2
5
5
  SHA512:
6
- metadata.gz: bddf0a66939b7a378d6d75fab1a9770068b93817f70122ba8f27c2f2fa15004e0604c065c4d94607a13f3cc6cffdb7b51ff75a3dc604d3cfea5674512516f0d7
7
- data.tar.gz: 070c8c3081315a3b4721291fb3969b69322378eb33d96d318dec6f5d90f3ea29662ff7bb15736482b2562d7ac6cccf8f0107f76b98fd0304826af2adf3656f48
6
+ metadata.gz: 796194776aac212a5036cbedc42d43d8a79ebd0b608b1d2e33de3b6b6125074d5d614c50f17b6a64e23db7d02360cc79d1f0abd561f1b80d3e1b1262ff84ebe1
7
+ data.tar.gz: 7dcdeddd27e7766c194cbdd7922e028e6533651bf9673a12ab69437044725bb6610e175acd93d0726654b6e347eb43722be0fa1735c74c9445c327c5b584cd92
@@ -54,6 +54,8 @@ module GoonModelGen
54
54
  g = conv.gen_type
55
55
  t.add(:model, m.name, m.package_path, m.package_base_path)
56
56
  t.add(:gen_type, g.name, g.package_path, g.package_base_path)
57
+ t.memo['base_conv_func'] = (m.ordinary_name == g.ordinary_name) ? "#{m.ordinary_name}ToResult" : "#{m.ordinary_name}To#{g.ordinary_name}"
58
+ t.memo['slice_conv_func'] = (m.ordinary_name == g.ordinary_name) ? "#{m.ordinary_name}SliceToResultSlice" : "#{m.ordinary_name}SliceTo#{g.ordinary_name}Slice"
57
59
  t.memo['mappings'] = conv.mappings
58
60
  unless conv.model.slice_with_ptr.nil?
59
61
  t.memo['model_slice_with_ptr'] = conv.model.slice_with_ptr
@@ -9,6 +9,11 @@ module GoonModelGen
9
9
  def initialize(name, package_path)
10
10
  @name, @package_path = name, package_path
11
11
  end
12
+
13
+ def ordinary_name
14
+ name.include?('.') ? name.split('.').last : name
15
+ end
16
+
12
17
  end
13
18
  end
14
19
  end
@@ -2,6 +2,9 @@
2
2
  model = type.map[:model].type
3
3
  gen_type = type.map[:gen_type].type
4
4
 
5
+ base_conv_func = type.memo['base_conv_func'] || raise("type #{type.name} has no memo named 'base_conv_func'")
6
+ slice_conv_func = type.memo['slice_conv_func'] || raise("type #{type.name} has no memo named 'slice_conv_func'")
7
+
5
8
  model_slice = model.package.types.detect do |t|
6
9
  t.is_a?(GoonModelGen::Golang::NamedSlice) &&
7
10
  (
@@ -21,13 +24,13 @@ else
21
24
  end
22
25
  -%>
23
26
 
24
- func <%= model.name %>SliceToResultSlice(s *<%= plural_model_type_name %>) *[]*<%= gen_type.qualified_name(dependencies) %> {
27
+ func <%= slice_conv_func %>(s *<%= plural_model_type_name %>) *[]*<%= gen_type.qualified_name(dependencies) %> {
25
28
  if s == nil {
26
29
  return nil
27
30
  }
28
31
  r := []*<%= gen_type.qualified_name(dependencies) %>{}
29
32
  for _, m := range *s {
30
- r = append(r, <%= model.name %>ToResult(<%= element_is_ptr ? '' : '&' %>m))
33
+ r = append(r, <%= base_conv_func %>(<%= element_is_ptr ? '' : '&' %>m))
31
34
  }
32
35
  return &r
33
36
  }
@@ -2,10 +2,11 @@
2
2
  model = type.map[:model].type
3
3
  gen_type = type.map[:gen_type].type
4
4
  mappings = type.memo['mappings'] || []
5
+ base_conv_func = type.memo['base_conv_func'] || raise("type #{type.name} has no memo named 'base_conv_func'")
5
6
  -%>
6
7
 
7
8
 
8
- func <%= model.name %>ToResult(m *<%= model.qualified_name %>) *<%= gen_type.qualified_name(dependencies) %> {
9
+ func <%= base_conv_func %>(m *<%= model.qualified_name %>) *<%= gen_type.qualified_name(dependencies) %> {
9
10
  if m == nil {
10
11
  return nil
11
12
  }
@@ -1,3 +1,3 @@
1
1
  module GoonModelGen
2
- VERSION = "0.2.5"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: goon_model_gen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - akm
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-05-30 00:00:00.000000000 Z
11
+ date: 2019-07-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -256,7 +256,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
256
256
  - !ruby/object:Gem::Version
257
257
  version: '0'
258
258
  requirements: []
259
- rubygems_version: 3.0.3
259
+ rubygems_version: 3.0.4
260
260
  signing_key:
261
261
  specification_version: 4
262
262
  summary: Generate model source files with datastore in Golang