command_service_object 1.1.1 → 1.2.1

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 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