spring-gen 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +3 -0
  5. data/Gemfile +9 -0
  6. data/LICENSE.txt +674 -0
  7. data/README.md +133 -0
  8. data/Rakefile +1 -0
  9. data/bin/setup +7 -0
  10. data/bin/spring-gen +8 -0
  11. data/lib/command_router.rb +15 -0
  12. data/lib/commands/resource.rb +129 -0
  13. data/lib/commands/service.rb +53 -0
  14. data/lib/spring-gen/version.rb +3 -0
  15. data/lib/spring-gen.rb +5 -0
  16. data/lib/templates/layout/.gitignore +36 -0
  17. data/lib/templates/layout/build.gradle.erb +105 -0
  18. data/lib/templates/layout/intellij/config/checkstyle/checkstyle.xml +199 -0
  19. data/lib/templates/layout/intellij/config/codestyle/Codestyle.xml +34 -0
  20. data/lib/templates/layout/intellij/config/copyright/gnu.xml +6 -0
  21. data/lib/templates/layout/intellij/config/copyright/profiles_settings.xml +10 -0
  22. data/lib/templates/layout/src/java/config/AppConfig.java.erb +54 -0
  23. data/lib/templates/layout/src/java/main/App.java.erb +41 -0
  24. data/lib/templates/layout/src/resources/application.yml.erb +108 -0
  25. data/lib/templates/layout/src/resources/bootstrap.yml.erb +3 -0
  26. data/lib/templates/resource/assembler/Assembler.java.erb +57 -0
  27. data/lib/templates/resource/assembler/BaseAssembler.java.erb +95 -0
  28. data/lib/templates/resource/controller/BaseController.java.erb +66 -0
  29. data/lib/templates/resource/controller/Controller.java.erb +106 -0
  30. data/lib/templates/resource/exception/NotCreatedException.java.erb +34 -0
  31. data/lib/templates/resource/model/JpaBaseEntity.java.erb +43 -0
  32. data/lib/templates/resource/model/Model.java.erb +51 -0
  33. data/lib/templates/resource/model/MongodbBaseEntity.java.erb +33 -0
  34. data/lib/templates/resource/model/Neo4jBaseEntity.java.erb +81 -0
  35. data/lib/templates/resource/repository/Repository.java.erb +30 -0
  36. data/lib/templates/resource/resource/Resource.java.erb +48 -0
  37. data/lib/templates/resource/test/TestUtil.java.erb +85 -0
  38. data/lib/templates/resource/test/integration/jpa/IntegrationTest.java.erb +123 -0
  39. data/lib/templates/resource/test/integration/jpa/IntegrationTestConfig.java.erb +47 -0
  40. data/lib/templates/resource/test/integration/jpa/sampleData.xml.erb +20 -0
  41. data/lib/templates/resource/test/integration/mongodb/IntegrationTest.java.erb +114 -0
  42. data/lib/templates/resource/test/integration/mongodb/IntegrationTestConfig.java.erb +60 -0
  43. data/lib/templates/resource/test/integration/mongodb/SampleData.java.erb +43 -0
  44. data/lib/templates/resource/test/integration/neo4j/IntegrationTest.java.erb +123 -0
  45. data/lib/templates/resource/test/integration/neo4j/IntegrationTestConfig.java.erb +47 -0
  46. data/lib/templates/resource/test/integration/neo4j/SampleData.java.erb +23 -0
  47. data/lib/templates/resource/test/unit/assembler/AssemblerUnitTest.java.erb +52 -0
  48. data/lib/templates/resource/test/unit/assembler/AssemblerUnitTestConfig.java.erb +43 -0
  49. data/lib/templates/resource/test/unit/controller/ControllerUnitTest.java.erb +115 -0
  50. data/lib/templates/resource/test/unit/controller/ControllerUnitTestConfig.java.erb +64 -0
  51. data/lib/templates/service.yml.erb +4 -0
  52. data/lib/util.rb +39 -0
  53. data/spring-gen.gemspec +25 -0
  54. metadata +153 -0
@@ -0,0 +1,43 @@
1
+ package <%=@group_id%>.unit.<%=@model_name.downcase%>.assembler;
2
+ /*
3
+ * Copyright (c) 2015 <%=@user_name%>.
4
+ * This program is free software; you can redistribute it and/or modify
5
+ * it under the terms of the GNU General Public License as published by
6
+ * the Free Software Foundation; either version 3 of the License, or
7
+ * (at your option) any later version.
8
+ * This program is distributed in the hope that it will be useful,
9
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ * GNU General Public License for more details.
12
+ * You should have received a copy of the GNU General Public License
13
+ * along with this program; if not, write to the Free Software Foundation,
14
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15
+ */
16
+
17
+
18
+ import <%=@group_id%>.assembler.<%=@model_name%>Assembler;
19
+ import org.mockito.Mockito;
20
+ import org.springframework.cloud.client.loadbalancer.LoadBalancerClient;
21
+ import org.springframework.context.annotation.Bean;
22
+ import org.springframework.context.annotation.Configuration;
23
+ import org.springframework.data.web.PagedResourcesAssembler;
24
+ import org.springframework.hateoas.config.EnableHypermediaSupport;
25
+
26
+ /**
27
+ * Configuration class for <%=@model_name%> unit tests.
28
+ * @author <%=@user_name%>
29
+ */
30
+ @Configuration
31
+ @EnableHypermediaSupport(type = {EnableHypermediaSupport.HypermediaType.HAL})
32
+ public class <%=@model_name%>AssemblerUnitTestConfig {
33
+
34
+ @Bean
35
+ public LoadBalancerClient loadBalancerClient() {
36
+ return Mockito.mock(LoadBalancerClient.class);
37
+ }
38
+
39
+ @Bean
40
+ public <%=@model_name%>Assembler <%=@model_name.downcase%>Assembler() {
41
+ return new <%=@model_name%>Assembler();
42
+ }
43
+ }
@@ -0,0 +1,115 @@
1
+ package <%=@group_id%>.unit.<%=@model_name.downcase%>.controller;
2
+ /*
3
+ * Copyright (c) 2015 <%=@user_name%>.
4
+ * This program is free software; you can redistribute it and/or modify
5
+ * it under the terms of the GNU General Public License as published by
6
+ * the Free Software Foundation; either version 3 of the License, or
7
+ * (at your option) any later version.
8
+ * This program is distributed in the hope that it will be useful,
9
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ * GNU General Public License for more details.
12
+ * You should have received a copy of the GNU General Public License
13
+ * along with this program; if not, write to the Free Software Foundation,
14
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15
+ */
16
+
17
+ import static org.junit.Assert.assertEquals;
18
+ import static org.mockito.Matchers.any;
19
+ import static org.mockito.Matchers.eq;
20
+ import static org.mockito.Mockito.reset;
21
+ import static org.mockito.Mockito.times;
22
+ import static org.mockito.Mockito.verify;
23
+ import static org.mockito.Mockito.verifyNoMoreInteractions;
24
+ import static org.mockito.Mockito.when;
25
+
26
+ import <%=@group_id%>.assembler.<%=@model_name%>Assembler;
27
+ import <%=@group_id%>.controller.<%=@model_name%>Controller;
28
+ import <%=@group_id%>.repository.<%=@model_name%>Repository;
29
+ import <%=@group_id%>.resource.<%=@model_name%>Resource;
30
+ import <%=@group_id%>.model.<%=@model_name%>;
31
+ import org.junit.Before;
32
+ import org.junit.Test;
33
+ import org.junit.runner.RunWith;
34
+ import org.springframework.beans.factory.annotation.Autowired;
35
+ import org.springframework.data.domain.Page;
36
+ import org.springframework.data.domain.PageImpl;
37
+ import org.springframework.data.domain.PageRequest;
38
+ import org.springframework.data.domain.Pageable;
39
+ import org.springframework.data.web.PagedResourcesAssembler;
40
+ import org.springframework.hateoas.PagedResources;
41
+ import org.springframework.http.ResponseEntity;
42
+ import org.springframework.test.context.ContextConfiguration;
43
+ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
44
+ import org.springframework.test.web.servlet.MockMvc;
45
+
46
+ import java.util.ArrayList;
47
+ import java.util.List;
48
+
49
+ /**
50
+ * Unit test for <%=@model_name%> controllers.
51
+ * @author <%=@user_name%>
52
+ */
53
+ @RunWith(SpringJUnit4ClassRunner.class)
54
+ @ContextConfiguration(classes = {<%=@model_name%>ControllerUnitTestConfig.class})
55
+ public class <%=@model_name%>ControllerUnitTest {
56
+
57
+ @Autowired
58
+ private <%=@model_name%>Repository <%=@model_name.downcase%>Repository;
59
+
60
+ @Autowired
61
+ private <%=@model_name%>Assembler <%=@model_name.downcase%>Assembler;
62
+
63
+ @Autowired
64
+ private PagedResourcesAssembler pagedResourcesAssembler;
65
+
66
+ @Autowired
67
+ private <%=@model_name%>Controller testInstance;
68
+
69
+
70
+ /**
71
+ * sets up the test.
72
+ */
73
+ @Before
74
+ public void setUp() {
75
+ reset(<%=@model_name.downcase%>Repository,<%=@model_name.downcase%>Assembler,pagedResourcesAssembler);
76
+ }
77
+
78
+
79
+ @Test
80
+ public void getAllShouldReturnAPageOf<%=@model_name%>() throws Exception {
81
+
82
+ List<<%=@model_name%>> sampleData = new ArrayList<>();
83
+ for (int i = 0; i < 10; i++) {
84
+ <%=@model_name%> instance = new <%=@model_name%>();
85
+ instance.setId(i);
86
+ sampleData.add(instance);
87
+ }
88
+ Page<<%=@model_name%>> page = new PageImpl<>(sampleData);
89
+ when(<%=@model_name.downcase%>Repository.findAll(any(Pageable.class))).thenReturn(page);
90
+ when(pagedResourcesAssembler.toResource(page,<%=@model_name.downcase%>Assembler))
91
+ .thenReturn(new PagedResources(sampleData,null));
92
+
93
+ Pageable pageable = new PageRequest(2,2);
94
+ PagedResources result = testInstance.getAll(pageable,pagedResourcesAssembler);
95
+ assertEquals(10,result.getContent().size());
96
+ verify(<%=@model_name.downcase%>Repository, times(1)).findAll(any(Pageable.class));
97
+ verify(pagedResourcesAssembler,times(1)).toResource(eq(page),eq(<%=@model_name.downcase%>Assembler));
98
+ verifyNoMoreInteractions(<%=@model_name.downcase%>Repository);
99
+ verifyNoMoreInteractions(<%=@model_name.downcase%>Assembler);
100
+ verifyNoMoreInteractions(pagedResourcesAssembler);
101
+ }
102
+
103
+ @Test
104
+ public void getOneShouldReturnResponseContainingTheDataOfOne<%=@model_name%>AsJson() throws Exception {
105
+ <%=@model_name%> instance = new <%=@model_name%>();
106
+ instance.setId(1L);
107
+ <%=@model_name%>Resource testResource = new <%=@model_name%>Resource(instance);
108
+ when(<%=@model_name.downcase%>Repository.findOne(1L)).thenReturn(instance);
109
+ when(<%=@model_name.downcase%>Assembler.toResource(instance)).thenReturn(testResource);
110
+ ResponseEntity response = testInstance.getOne(1L);
111
+ assertEquals(200,response.getStatusCode().value());
112
+ verify(<%=@model_name.downcase%>Repository, times(1)).findOne(1L);
113
+ verify(<%=@model_name.downcase%>Assembler, times(1)).toResource(instance);
114
+ }
115
+ }
@@ -0,0 +1,64 @@
1
+ package <%=@group_id%>.unit.<%=@model_name.downcase%>.controller;
2
+
3
+ /*
4
+ * Copyright (c) 2015 <%=@user_name%>.
5
+ * This program is free software; you can redistribute it and/or modify
6
+ * it under the terms of the GNU General Public License as published by
7
+ * the Free Software Foundation; either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ * This program is distributed in the hope that it will be useful,
10
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ * GNU General Public License for more details.
13
+ * You should have received a copy of the GNU General Public License
14
+ * along with this program; if not, write to the Free Software Foundation,
15
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+ */
17
+
18
+
19
+ import <%=@group_id%>.assembler.<%=@model_name%>Assembler;
20
+ import <%=@group_id%>.repository.<%=@model_name%>Repository;
21
+ import <%=@group_id%>.controller.<%=@model_name%>Controller;
22
+ import org.mockito.Mockito;
23
+ import org.springframework.cloud.client.loadbalancer.LoadBalancerClient;
24
+ import org.springframework.context.annotation.Bean;
25
+ import org.springframework.context.annotation.Configuration;
26
+ import org.springframework.data.web.PagedResourcesAssembler;
27
+ import org.springframework.hateoas.config.EnableHypermediaSupport;
28
+
29
+ /**
30
+ * Configuration for <%=@model_name%> controller unit tests.
31
+ * @author <%=@user_name%>
32
+ */
33
+ @Configuration
34
+ @EnableHypermediaSupport(type = {EnableHypermediaSupport.HypermediaType.HAL})
35
+ public class <%=@model_name%>ControllerUnitTestConfig {
36
+
37
+
38
+ @Bean
39
+ public <%=@model_name%>Controller <%=@model_name.downcase%>Controller() {
40
+ return new <%=@model_name%>Controller();
41
+ }
42
+
43
+ @Bean
44
+ public LoadBalancerClient loadBalancerClient() {
45
+ return Mockito.mock(LoadBalancerClient.class);
46
+ }
47
+
48
+ @Bean
49
+ public <%=@model_name%>Repository <%=@model_name.downcase%>Repository() {
50
+ return Mockito.mock(<%=@model_name%>Repository.class);
51
+ }
52
+
53
+ @Bean
54
+ public <%=@model_name%>Assembler <%=@model_name.downcase%>Assembler() {
55
+ return Mockito.mock(<%=@model_name%>Assembler.class);
56
+ }
57
+
58
+ @Bean
59
+ public PagedResourcesAssembler pagedResourcesAssembler() {
60
+ return Mockito.mock(PagedResourcesAssembler.class);
61
+ }
62
+
63
+
64
+ }
@@ -0,0 +1,4 @@
1
+ service_name: <%=@name%>
2
+ repository_technique: <%=@repository_technique%>
3
+ group_id: <%=@group_id%>
4
+ artifact_id: <%=@artifact_id%>
data/lib/util.rb ADDED
@@ -0,0 +1,39 @@
1
+ require 'yaml'
2
+
3
+ module Util
4
+ Config = Struct.new(:service_name,:repository_technique,:group_id,:artifact_id)
5
+ def content_root
6
+ return @root_dir if @root_dir
7
+ search_dir = Dir.pwd
8
+ while search_dir && !File.exist?("#{search_dir}/service.yml")
9
+ parent = File.dirname(search_dir)
10
+ # project_root wird entweder der Root-pfad oder false. Wenn es false
11
+ # wird, bricht die Schleife ab. Vgl. Rails
12
+ search_dir = (parent != search_dir) && parent
13
+ end
14
+ project_root = search_dir if File.exist? "#{search_dir}/service.yml"
15
+ raise 'you are not within a service directory.' unless project_root
16
+ @root_dir = Pathname.new(File.realpath project_root)
17
+ end
18
+
19
+ def config
20
+ return @config if @config
21
+ config_hash = YAML.load_file("#{content_root}/service.yml")
22
+ @config = Config.new(config_hash['service_name'],
23
+ config_hash['repository_technique'],
24
+ config_hash['group_id'],
25
+ config_hash['artifact_id'])
26
+ end
27
+
28
+ def user_name
29
+ return @user_name if @user_name
30
+ g = Git.open(content_root)
31
+ @user_name = g.config['user.name']
32
+ end
33
+
34
+ def user_email
35
+ return @user_email if @user_email
36
+ g = Git.open(content_root)
37
+ @user_email = g.config['user.email']
38
+ end
39
+ end
@@ -0,0 +1,25 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'spring-gen/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "spring-gen"
8
+ spec.version = SpringGen::VERSION
9
+ spec.authors = ["Rene Richter"]
10
+ spec.email = ["Richterrettich@gmail.com"]
11
+
12
+ spec.summary = %q{Generator for spring microservices}
13
+ spec.description = %q{Generator for spring microservices}
14
+ spec.homepage = "https://github.com/Richterrettich/spring-gen"
15
+ spec.license = "GPLv3"
16
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
+ spec.executables = "spring-gen"
18
+ spec.require_paths = ["lib"]
19
+
20
+ spec.add_development_dependency "bundler", "~> 1.9"
21
+ spec.add_development_dependency "rake", "~> 10.0"
22
+
23
+ spec.add_runtime_dependency 'thor', '~> 0.19.1'
24
+ spec.add_runtime_dependency 'git', '~> 1.2.9.1'
25
+ end
metadata ADDED
@@ -0,0 +1,153 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: spring-gen
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Rene Richter
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-06-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.9'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.9'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: thor
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.19.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.19.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: git
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 1.2.9.1
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 1.2.9.1
69
+ description: Generator for spring microservices
70
+ email:
71
+ - Richterrettich@gmail.com
72
+ executables:
73
+ - spring-gen
74
+ extensions: []
75
+ extra_rdoc_files: []
76
+ files:
77
+ - ".gitignore"
78
+ - ".rspec"
79
+ - ".travis.yml"
80
+ - Gemfile
81
+ - LICENSE.txt
82
+ - README.md
83
+ - Rakefile
84
+ - bin/setup
85
+ - bin/spring-gen
86
+ - lib/command_router.rb
87
+ - lib/commands/resource.rb
88
+ - lib/commands/service.rb
89
+ - lib/spring-gen.rb
90
+ - lib/spring-gen/version.rb
91
+ - lib/templates/layout/.gitignore
92
+ - lib/templates/layout/build.gradle.erb
93
+ - lib/templates/layout/intellij/config/checkstyle/checkstyle.xml
94
+ - lib/templates/layout/intellij/config/codestyle/Codestyle.xml
95
+ - lib/templates/layout/intellij/config/copyright/gnu.xml
96
+ - lib/templates/layout/intellij/config/copyright/profiles_settings.xml
97
+ - lib/templates/layout/src/java/config/AppConfig.java.erb
98
+ - lib/templates/layout/src/java/main/App.java.erb
99
+ - lib/templates/layout/src/resources/application.yml.erb
100
+ - lib/templates/layout/src/resources/bootstrap.yml.erb
101
+ - lib/templates/resource/assembler/Assembler.java.erb
102
+ - lib/templates/resource/assembler/BaseAssembler.java.erb
103
+ - lib/templates/resource/controller/BaseController.java.erb
104
+ - lib/templates/resource/controller/Controller.java.erb
105
+ - lib/templates/resource/exception/NotCreatedException.java.erb
106
+ - lib/templates/resource/model/JpaBaseEntity.java.erb
107
+ - lib/templates/resource/model/Model.java.erb
108
+ - lib/templates/resource/model/MongodbBaseEntity.java.erb
109
+ - lib/templates/resource/model/Neo4jBaseEntity.java.erb
110
+ - lib/templates/resource/repository/Repository.java.erb
111
+ - lib/templates/resource/resource/Resource.java.erb
112
+ - lib/templates/resource/test/TestUtil.java.erb
113
+ - lib/templates/resource/test/integration/jpa/IntegrationTest.java.erb
114
+ - lib/templates/resource/test/integration/jpa/IntegrationTestConfig.java.erb
115
+ - lib/templates/resource/test/integration/jpa/sampleData.xml.erb
116
+ - lib/templates/resource/test/integration/mongodb/IntegrationTest.java.erb
117
+ - lib/templates/resource/test/integration/mongodb/IntegrationTestConfig.java.erb
118
+ - lib/templates/resource/test/integration/mongodb/SampleData.java.erb
119
+ - lib/templates/resource/test/integration/neo4j/IntegrationTest.java.erb
120
+ - lib/templates/resource/test/integration/neo4j/IntegrationTestConfig.java.erb
121
+ - lib/templates/resource/test/integration/neo4j/SampleData.java.erb
122
+ - lib/templates/resource/test/unit/assembler/AssemblerUnitTest.java.erb
123
+ - lib/templates/resource/test/unit/assembler/AssemblerUnitTestConfig.java.erb
124
+ - lib/templates/resource/test/unit/controller/ControllerUnitTest.java.erb
125
+ - lib/templates/resource/test/unit/controller/ControllerUnitTestConfig.java.erb
126
+ - lib/templates/service.yml.erb
127
+ - lib/util.rb
128
+ - spring-gen.gemspec
129
+ homepage: https://github.com/Richterrettich/spring-gen
130
+ licenses:
131
+ - GPLv3
132
+ metadata: {}
133
+ post_install_message:
134
+ rdoc_options: []
135
+ require_paths:
136
+ - lib
137
+ required_ruby_version: !ruby/object:Gem::Requirement
138
+ requirements:
139
+ - - ">="
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ required_rubygems_version: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ requirements: []
148
+ rubyforge_project:
149
+ rubygems_version: 2.2.2
150
+ signing_key:
151
+ specification_version: 4
152
+ summary: Generator for spring microservices
153
+ test_files: []