command_service_object 1.1.1 → 1.2.1

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: f443a5cc09eca1c23b649f3662cf4fa1ee4ee3203f8b5869fddb0847ebc5c090
4
- data.tar.gz: 0e2188106ea26d10dada611fb620a113147d598ef8775abce191a7c2cc6df2b9
3
+ metadata.gz: f6713525d2c5f070d0e1f852b675d9a3afd12470cf124c151a816894c7f5328e
4
+ data.tar.gz: f76c2b168cac3af6d0fbb12cf07371168efa6b9a1c45fb2efa181cbf435af21f
5
5
  SHA512:
6
- metadata.gz: 5f9cb881156fcf6fd2393bdc5fd76399aa0d7b61d6c330c587c79ac22acb390f8ff1b07fbc79a73408edbd2f370306191420ebf29e8e35b0b90991530599805c
7
- data.tar.gz: d742ef303630b50c26c07498d2557af1a593e20690544a617df4f416390cebbdb9fef6e8d2be5d0de94e51f6467a30e13a6bfa2ec35f7fb179cfb2750d034d6e
6
+ metadata.gz: 17b03115466551f6c9bdca3f16a92d9d15c25072d8f9dd401442ff3d8fa3f4ed190365c5bd47ff6d6cd2ac5c88fd2fd9dc300e7991230fe9440297360d683831
7
+ data.tar.gz: 7a829d7e6b32e37f9a162a6946170bb8437657bbbe03dfbb1fce8a969330555756186fff62969e49167f760eb6cdd63d776a0c3c1e52906c9bade6fc55f2b6c5
@@ -1,3 +1,3 @@
1
1
  module CommandServiceObject
2
- VERSION = '1.1.1'.freeze
2
+ VERSION = '1.2.1'.freeze
3
3
  end
@@ -1,4 +1,5 @@
1
1
  require_relative '../setup/setup_generator.rb'
2
+ require_relative '../helper'
2
3
 
3
4
  module Service
4
5
  module Generators
@@ -23,17 +24,25 @@ module Service
23
24
  private
24
25
 
25
26
  def create_main(m)
26
- path = "app/services/#{service_name}/commands/#{m.underscore}.rb"
27
+ path = "#{service_path}/commands/#{m.underscore}.rb"
27
28
  template 'command.rb.erb', path unless options.skip_command?
28
29
  end
29
30
 
30
31
  def create_test(m)
31
- path = "spec/services/#{service_name}/commands/#{m.underscore}_spec.rb"
32
+ path = "#{spec_path}/commands/#{m.underscore}_spec.rb"
32
33
  template 'command_spec.rb.erb', path
33
34
  end
34
35
 
35
36
  def service_name
36
- "#{name.underscore}_service"
37
+ Service::Helper.service_name(name)
38
+ end
39
+
40
+ def service_path
41
+ Service::Helper.service_path(name)
42
+ end
43
+
44
+ def spec_path
45
+ Service::Helper.spec_path(name)
37
46
  end
38
47
  end
39
48
  end
@@ -1,4 +1,5 @@
1
1
  require_relative '../setup/setup_generator.rb'
2
+ require_relative '../helper'
2
3
 
3
4
  module Service
4
5
  module Generators
@@ -15,7 +16,7 @@ module Service
15
16
  entities.each do |m|
16
17
  @entity = m.classify
17
18
 
18
- path = "app/services/#{service_name}/entities/#{m.underscore}.rb"
19
+ path = "#{service_path}/entities/#{m.underscore}.rb"
19
20
  template 'entity.rb.erb', path
20
21
  end
21
22
  end
@@ -23,7 +24,15 @@ module Service
23
24
  private
24
25
 
25
26
  def service_name
26
- "#{name.underscore}_service"
27
+ Service::Helper.service_name(name)
28
+ end
29
+
30
+ def service_path
31
+ Service::Helper.service_path(name)
32
+ end
33
+
34
+ def spec_path
35
+ Service::Helper.spec_path(name)
27
36
  end
28
37
  end
29
38
  end
@@ -1,4 +1,5 @@
1
1
  require_relative '../setup/setup_generator.rb'
2
+ require_relative '../helper'
2
3
 
3
4
  module Service
4
5
  module Generators
@@ -20,17 +21,25 @@ module Service
20
21
  private
21
22
 
22
23
  def create_main(m)
23
- path = "app/services/#{service_name}/externals/#{m.underscore}.rb"
24
+ path = "#{service_path}/externals/#{m.underscore}.rb"
24
25
  template 'external.rb.erb', path
25
26
  end
26
27
 
27
28
  def create_test(m)
28
- path = "spec/services/#{service_name}/externals/#{m.underscore}_spec.rb"
29
+ path = "#{spec_path}/externals/#{m.underscore}_spec.rb"
29
30
  template 'external_spec.rb.erb', path
30
31
  end
31
32
 
32
33
  def service_name
33
- "#{name.underscore}_service"
34
+ Service::Helper.service_name(name)
35
+ end
36
+
37
+ def service_path
38
+ Service::Helper.service_path(name)
39
+ end
40
+
41
+ def spec_path
42
+ Service::Helper.spec_path(name)
34
43
  end
35
44
  end
36
45
  end
@@ -0,0 +1,23 @@
1
+ module Service
2
+ module Helper
3
+ extend self
4
+
5
+ def service_name(arg)
6
+ if arg.include? "/"
7
+ root = arg.split("/").first
8
+ sub_domain = arg.split("/").last
9
+ "#{root.underscore}_service/#{sub_domain}"
10
+ else
11
+ "#{arg.underscore}_service"
12
+ end
13
+ end
14
+
15
+ def service_path(arg)
16
+ "app/services/#{service_name(arg)}"
17
+ end
18
+
19
+ def spec_path(arg)
20
+ "spec/services/#{service_name(arg)}"
21
+ end
22
+ end
23
+ end
@@ -1,4 +1,5 @@
1
1
  require_relative '../setup/setup_generator.rb'
2
+ require_relative '../helper'
2
3
 
3
4
  module Service
4
5
  module Generators
@@ -15,7 +16,7 @@ module Service
15
16
  listeners.each do |m|
16
17
  @listener = m.classify
17
18
 
18
- path = "app/services/#{service_name}/listeners/#{m.underscore}.rb"
19
+ path = "#{service_path}/listeners/#{m.underscore}.rb"
19
20
  template 'listener.rb.erb', path
20
21
  end
21
22
  end
@@ -23,7 +24,15 @@ module Service
23
24
  private
24
25
 
25
26
  def service_name
26
- "#{name.underscore}_service"
27
+ Service::Helper.service_name(name)
28
+ end
29
+
30
+ def service_path
31
+ Service::Helper.service_path(name)
32
+ end
33
+
34
+ def spec_path
35
+ Service::Helper.spec_path(name)
27
36
  end
28
37
  end
29
38
  end
@@ -1,4 +1,5 @@
1
1
  require_relative '../setup/setup_generator.rb'
2
+ require_relative '../helper'
2
3
 
3
4
  module Service
4
5
  module Generators
@@ -15,7 +16,7 @@ module Service
15
16
  micros.each do |m|
16
17
  @micro = m.classify
17
18
 
18
- path = "app/services/#{service_name}/usecases/micros/#{m.underscore}.rb"
19
+ path = "#{service_path}/usecases/micros/#{m.underscore}.rb"
19
20
  template 'micro.rb.erb', path
20
21
  end
21
22
  end
@@ -23,7 +24,15 @@ module Service
23
24
  private
24
25
 
25
26
  def service_name
26
- "#{name.underscore}_service"
27
+ Service::Helper.service_name(name)
28
+ end
29
+
30
+ def service_path
31
+ Service::Helper.service_path(name)
32
+ end
33
+
34
+ def spec_path
35
+ Service::Helper.spec_path(name)
27
36
  end
28
37
  end
29
38
  end
@@ -1,4 +1,5 @@
1
1
  require_relative '../setup/setup_generator.rb'
2
+ require_relative '../helper'
2
3
 
3
4
  module Service
4
5
  module Generators
@@ -15,7 +16,7 @@ module Service
15
16
  queries.each do |m|
16
17
  @query = m.classify
17
18
 
18
- path = "app/services/#{service_name}/queries/#{m.underscore}.rb"
19
+ path = "#{service_path}/queries/#{m.underscore}.rb"
19
20
  template 'query.rb.erb', path
20
21
  end
21
22
  end
@@ -23,7 +24,15 @@ module Service
23
24
  private
24
25
 
25
26
  def service_name
26
- "#{name.underscore}_service"
27
+ Service::Helper.service_name(name)
28
+ end
29
+
30
+ def service_path
31
+ Service::Helper.service_path(name)
32
+ end
33
+
34
+ def spec_path
35
+ Service::Helper.spec_path(name)
27
36
  end
28
37
  end
29
38
  end
@@ -6,6 +6,7 @@ require_relative './usecase/usecase_generator.rb'
6
6
  require_relative './command/command_generator.rb'
7
7
  require 'rails/generators'
8
8
  require 'rails/generators/model_helpers'
9
+ require_relative './helper.rb'
9
10
 
10
11
  module Service
11
12
  module Generators
@@ -39,6 +40,20 @@ module Service
39
40
 
40
41
  invoke Service::Generators::CommandGenerator, [name, usecases]
41
42
  end
43
+
44
+ private
45
+
46
+ def service_name
47
+ Service::Helper.service_name(name)
48
+ end
49
+
50
+ def service_path
51
+ Service::Helper.service_path(name)
52
+ end
53
+
54
+ def spec_path
55
+ Service::Helper.spec_path(name)
56
+ end
42
57
  end
43
58
  end
44
59
  end
@@ -1,29 +1,33 @@
1
+ require_relative '../helper'
2
+
1
3
  module Service
2
4
  module Generators
3
5
  class SetupGenerator < Rails::Generators::Base
4
6
  source_root File.expand_path('templates', __dir__)
5
7
 
8
+ DIRS = %w(listeners jobs externals queries usecases commands entities usecases/micros)
9
+
6
10
  def setup
7
- return if File.exist?("app/services/#{service_name}")
8
-
9
- empty_directory("app/services/#{service_name}")
10
- empty_directory("app/services/#{service_name}/listeners")
11
- empty_directory("app/services/#{service_name}/jobs")
12
- empty_directory("app/services/#{service_name}/externals")
13
- empty_directory("app/services/#{service_name}/queries")
14
- empty_directory("app/services/#{service_name}/usecases")
15
- empty_directory("app/services/#{service_name}/commands")
16
- empty_directory("app/services/#{service_name}/entities")
17
- empty_directory("app/services/#{service_name}/usecases/micros")
18
-
19
- path = "app/services/#{service_name}/doc.md"
11
+ DIRS.each do |dir|
12
+ empty_directory("#{service_path}/#{dir}")
13
+ end
14
+
15
+ path = "#{service_path}/doc.md"
20
16
  template 'doc.md.erb', path unless File.exist?(path)
21
17
  end
22
18
 
23
19
  private
24
20
 
25
21
  def service_name
26
- "#{args.first.underscore}_service"
22
+ Service::Helper.service_name(args.first)
23
+ end
24
+
25
+ def service_path
26
+ Service::Helper.service_path(args.first)
27
+ end
28
+
29
+ def spec_path
30
+ Service::Helper.spec_path(args.first)
27
31
  end
28
32
  end
29
33
  end
@@ -1,4 +1,5 @@
1
1
  require_relative '../setup/setup_generator.rb'
2
+ require_relative '../helper'
2
3
 
3
4
  module Service
4
5
  module Generators
@@ -20,17 +21,25 @@ module Service
20
21
  private
21
22
 
22
23
  def create_main(m)
23
- path = "app/services/#{service_name}/usecases/#{m.underscore}.rb"
24
+ path = "#{service_path}/usecases/#{m.underscore}.rb"
24
25
  template 'usecase.rb.erb', path unless options.skip_command?
25
26
  end
26
27
 
27
28
  def create_test(m)
28
- path = "spec/services/#{service_name}/usecases/#{m.underscore}_spec.rb"
29
+ path = "#{spec_path}/usecases/#{m.underscore}_spec.rb"
29
30
  template 'usecase_spec.rb.erb', path
30
31
  end
31
32
 
32
33
  def service_name
33
- "#{name.underscore}_service"
34
+ Service::Helper.service_name(name)
35
+ end
36
+
37
+ def service_path
38
+ Service::Helper.service_path(name)
39
+ end
40
+
41
+ def spec_path
42
+ Service::Helper.spec_path(name)
34
43
  end
35
44
  end
36
45
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: command_service_object
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adham EL-Deeb
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2020-10-07 00:00:00.000000000 Z
12
+ date: 2020-10-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -181,8 +181,7 @@ files:
181
181
  - lib/generators/service/external/templates/external.rb.erb
182
182
  - lib/generators/service/external/templates/external_spec.rb.erb
183
183
  - lib/generators/service/external/templates/external_test.rb.erb
184
- - lib/generators/service/getter/getter_generator.rb
185
- - lib/generators/service/getter/templates/getter.rb.erb
184
+ - lib/generators/service/helper.rb
186
185
  - lib/generators/service/install/install_generator.rb
187
186
  - lib/generators/service/install/templates/initializer.rb
188
187
  - lib/generators/service/install/templates/services/application_service.rb
@@ -1,30 +0,0 @@
1
- require_relative '../setup/setup_generator.rb'
2
-
3
- module Service
4
- module Generators
5
- class GetterGenerator < Rails::Generators::NamedBase
6
- source_root File.expand_path('templates', __dir__)
7
-
8
- argument :getters, type: :array, default: [], banner: 'getter getter'
9
-
10
- def setup
11
- invoke Service::Generators::SetupGenerator, [name]
12
- end
13
-
14
- def create_getters
15
- getters.each do |g|
16
- @getter = g.classify
17
-
18
- path = "app/services/#{service_name}/usecases/getters/#{g.underscore}.rb"
19
- template 'getter.rb.erb', path
20
- end
21
- end
22
-
23
- private
24
-
25
- def service_name
26
- "#{name.underscore}_service"
27
- end
28
- end
29
- end
30
- end
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module <%= service_name.classify %>::Usecases::Getters
4
- class <%= @getter %>
5
- def call(*args)
6
- end
7
- end
8
- end