command_service_object 1.2.1 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/command_service_object/version.rb +1 -1
- data/lib/generators/service/command/command_generator.rb +1 -1
- data/lib/generators/service/install/templates/services/value_object_base.rb +4 -0
- data/lib/generators/service/service_generator.rb +0 -10
- data/lib/generators/service/usecase/usecase_generator.rb +1 -1
- data/lib/generators/service/value_object/templates/value_object.rb.erb +17 -0
- data/lib/generators/service/value_object/value_object_generator.rb +40 -0
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c58b761fce4de1db245e0074625141f0c803f50f4611b359f3a632b1d04ff05b
|
4
|
+
data.tar.gz: e01ded8f6eb6c98a867da1dadab904ac8b00f37a45e248a033b4a2d6728708e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca1fae4e751ecf83514124c0fa189ff667ce7b180c2fdc531bd2e42365f64c4c55b3b71c0665c4ce137669dc578806044677027c37192d0b554bb766827f6263
|
7
|
+
data.tar.gz: 855ac6338a4660bc2fe704c4b42e9cb9ae9b8f45375b827149f23566d23b16fe566ebbf8d994114319fef56882ad896ce2663168747892ef3acd05b633725feb
|
@@ -13,12 +13,6 @@ module Service
|
|
13
13
|
class ServiceGenerator < Rails::Generators::NamedBase
|
14
14
|
argument :usecases, type: :array, default: [], banner: 'usecase usecase'
|
15
15
|
|
16
|
-
# Skiping options
|
17
|
-
class_option :skip_usecase, type: :boolean, default: false, aliases: '-U'
|
18
|
-
class_option :skip_command, type: :boolean, default: false, aliases: '-C'
|
19
|
-
class_option :skip_entity, type: :boolean, default: false, aliases: '-E'
|
20
|
-
class_option :skip_test, type: :boolean, default: false, aliases: '-T'
|
21
|
-
|
22
16
|
def install_if_not
|
23
17
|
return if File.exist?('app/services')
|
24
18
|
|
@@ -30,14 +24,10 @@ module Service
|
|
30
24
|
end
|
31
25
|
|
32
26
|
def generate_usecases
|
33
|
-
return if options.skip_usecase?
|
34
|
-
|
35
27
|
invoke Service::Generators::UsecaseGenerator, [name, usecases]
|
36
28
|
end
|
37
29
|
|
38
30
|
def generate_commands
|
39
|
-
return if options.skip_command?
|
40
|
-
|
41
31
|
invoke Service::Generators::CommandGenerator, [name, usecases]
|
42
32
|
end
|
43
33
|
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module <%= service_name.classify %>::ValueObjects
|
4
|
+
class <%= @value_object %> < ValueObjectBase
|
5
|
+
# You can read Virtus gem doc for more info.
|
6
|
+
# https://github.com/solnic/virtus
|
7
|
+
|
8
|
+
# Attributes
|
9
|
+
# values do
|
10
|
+
# attribute :latitude, Float
|
11
|
+
# attribute :longitude, Float
|
12
|
+
# end
|
13
|
+
|
14
|
+
# Validations
|
15
|
+
# validates :REPLACE_ME, presence: true
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require_relative '../setup/setup_generator.rb'
|
2
|
+
require_relative '../helper'
|
3
|
+
|
4
|
+
module Service
|
5
|
+
module Generators
|
6
|
+
class ValueObjectGenerator < Rails::Generators::NamedBase
|
7
|
+
source_root File.expand_path('templates', __dir__)
|
8
|
+
|
9
|
+
argument :value_objects, type: :array, default: [], banner: 'value_object value_object'
|
10
|
+
|
11
|
+
def call
|
12
|
+
invoke Service::Generators::SetupGenerator, [name]
|
13
|
+
|
14
|
+
value_objects.each do |u|
|
15
|
+
@value_object = u.classify
|
16
|
+
create_main(u)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def create_main(m)
|
23
|
+
path = "#{service_path}/value_objects/#{m.underscore}.rb"
|
24
|
+
template 'value_object.rb.erb', path
|
25
|
+
end
|
26
|
+
|
27
|
+
def service_name
|
28
|
+
Service::Helper.service_name(name)
|
29
|
+
end
|
30
|
+
|
31
|
+
def service_path
|
32
|
+
Service::Helper.service_path(name)
|
33
|
+
end
|
34
|
+
|
35
|
+
def spec_path
|
36
|
+
Service::Helper.spec_path(name)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
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.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adham EL-Deeb
|
@@ -190,6 +190,7 @@ files:
|
|
190
190
|
- lib/generators/service/install/templates/services/listener_base.rb
|
191
191
|
- lib/generators/service/install/templates/services/query_base.rb
|
192
192
|
- lib/generators/service/install/templates/services/service_result.rb
|
193
|
+
- lib/generators/service/install/templates/services/value_object_base.rb
|
193
194
|
- lib/generators/service/listener/listener_generator.rb
|
194
195
|
- lib/generators/service/listener/templates/listener.rb.erb
|
195
196
|
- lib/generators/service/micro/micro_generator.rb
|
@@ -204,6 +205,8 @@ files:
|
|
204
205
|
- lib/generators/service/usecase/templates/usecase.rb.erb
|
205
206
|
- lib/generators/service/usecase/templates/usecase_spec.rb.erb
|
206
207
|
- lib/generators/service/usecase/usecase_generator.rb
|
208
|
+
- lib/generators/service/value_object/templates/value_object.rb.erb
|
209
|
+
- lib/generators/service/value_object/value_object_generator.rb
|
207
210
|
homepage: https://github.com/adham90/command_service_object
|
208
211
|
licenses:
|
209
212
|
- MIT
|