command_service_object 0.6.5 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +74 -61
  3. data/README.md +41 -22
  4. data/command_service_object.gemspec +2 -1
  5. data/lib/command_service_object.rb +1 -0
  6. data/lib/command_service_object/helpers/check_helper.rb +9 -0
  7. data/lib/command_service_object/version.rb +1 -1
  8. data/lib/generators/.DS_Store +0 -0
  9. data/lib/generators/service/command/command_generator.rb +23 -3
  10. data/lib/generators/service/{test/templates/rspec/command.rb.erb → command/templates/command_spec.rb.erb} +0 -0
  11. data/lib/generators/service/entity/entity_generator.rb +39 -0
  12. data/lib/generators/service/entity/templates/entity.rb.erb +9 -0
  13. data/lib/generators/service/external/external_generator.rb +46 -0
  14. data/lib/generators/service/external/templates/external.rb.erb +16 -0
  15. data/lib/generators/service/external/templates/external_spec.rb.erb +12 -0
  16. data/lib/generators/service/external/templates/external_test.rb.erb +0 -0
  17. data/lib/generators/service/helper.rb +23 -0
  18. data/lib/generators/service/install/templates/initializer.rb +5 -0
  19. data/lib/generators/service/install/templates/services/application_service.rb +57 -16
  20. data/lib/generators/service/install/templates/services/case_base.rb +3 -0
  21. data/lib/generators/service/install/templates/services/listener_base.rb +7 -0
  22. data/lib/generators/service/install/templates/services/query_base.rb +55 -0
  23. data/lib/generators/service/install/templates/services/value_object_base.rb +4 -0
  24. data/lib/generators/service/listener/listener_generator.rb +39 -0
  25. data/lib/generators/service/listener/templates/listener.rb.erb +11 -0
  26. data/lib/generators/service/micro/micro_generator.rb +11 -2
  27. data/lib/generators/service/query/USAGE +8 -0
  28. data/lib/generators/service/query/query_generator.rb +39 -0
  29. data/lib/generators/service/query/templates/query.rb.erb +22 -0
  30. data/lib/generators/service/service_generator.rb +12 -13
  31. data/lib/generators/service/setup/setup_generator.rb +20 -6
  32. data/lib/generators/service/setup/templates/doc.md.erb +39 -0
  33. data/lib/generators/service/usecase/templates/usecase.rb.erb +17 -3
  34. data/lib/generators/service/{test/templates/rspec/usecase.rb.erb → usecase/templates/usecase_spec.rb.erb} +0 -0
  35. data/lib/generators/service/usecase/usecase_generator.rb +22 -3
  36. data/lib/generators/service/value_object/templates/value_object.rb.erb +17 -0
  37. data/lib/generators/service/value_object/value_object_generator.rb +40 -0
  38. metadata +43 -15
  39. data/lib/generators/service/getter/getter_generator.rb +0 -30
  40. data/lib/generators/service/getter/templates/getter.rb.erb +0 -8
  41. data/lib/generators/service/policies.rb +0 -5
  42. data/lib/generators/service/test/USAGE +0 -8
  43. data/lib/generators/service/test/templates/minitest/usecase.rb.erb +0 -1
  44. data/lib/generators/service/test/test_generator.rb +0 -72
@@ -1,8 +0,0 @@
1
- Description:
2
- Explain the generator
3
-
4
- Example:
5
- rails generate service Thing
6
-
7
- This will create:
8
- what/will/it/create
@@ -1 +0,0 @@
1
- # frozen_string_literal: true
@@ -1,72 +0,0 @@
1
- require_relative '../setup/setup_generator.rb'
2
-
3
- module Service
4
- module Generators
5
- class TestGenerator < Rails::Generators::NamedBase
6
- source_root File.expand_path('templates', __dir__)
7
- argument :tests, type: :array, default: [], banner: 'usecase usecase'
8
-
9
- def generate_test
10
- return if options.skip_test?
11
-
12
- if defined?(Minitest)
13
- minitest_test
14
- elsif defined?(RSpec)
15
- rspec_test
16
- end
17
- end
18
-
19
- private
20
-
21
- def minitest_test
22
- dir = create_test_dir('test')
23
-
24
- tests.each do |t|
25
- @test = t.classify
26
- path = "#{dir}/usecases/#{t.underscore}_test.rb"
27
- template 'minitest/usecase.rb.erb', path
28
- end
29
- end
30
-
31
- def rspec_test
32
- dir = create_test_dir('spec')
33
- create_usecase_test(dir)
34
- create_command_test(dir)
35
- end
36
-
37
- def create_usecase_test(dir)
38
- tests.each do |t|
39
- @test = t.classify
40
- path = "#{dir}/usecases/#{t.underscore}_spec.rb"
41
- template 'rspec/usecase.rb.erb', path
42
- end
43
- end
44
-
45
- def create_command_test(dir)
46
- tests.each do |t|
47
- @test = t.classify
48
- path = "#{dir}/commands/#{t.underscore}_spec.rb"
49
- template 'rspec/command.rb.erb', path
50
- end
51
- end
52
-
53
- def create_test_dir(path)
54
- test_path = "#{path}/services"
55
- service_test = "#{test_path}/#{service_name}"
56
- usecases_path = "#{test_path}/#{service_name}/usecases"
57
- commands_path = "#{test_path}/#{service_name}/commands"
58
-
59
- empty_directory(test_path) unless File.exist?(test_path)
60
- empty_directory(service_test) unless File.exist?(service_test)
61
- empty_directory(usecases_path) unless File.exist?(usecases_path)
62
- empty_directory(commands_path) unless File.exist?(commands_path)
63
-
64
- service_test
65
- end
66
-
67
- def service_name
68
- "#{name.underscore}_service"
69
- end
70
- end
71
- end
72
- end