command_service_object 0.6.3 → 0.6.4

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: 0d8ab15141c6bc3153127d058369fdc2b0aed2f0f91ccd65a3bac690de01ccde
4
- data.tar.gz: f63cb499ebc6472cbfc37d82962c1e59672589c25a7e48e122f056e0ad1947b9
3
+ metadata.gz: 28de0190d89c14e5850b1de269a0e36fc0686e95ebf2d1051e7d2ab06a469dbb
4
+ data.tar.gz: 61a880a5ab49bd1247333158c93c8286f22e9985a1806137a73f7cc146a6f96e
5
5
  SHA512:
6
- metadata.gz: 55f4a339b73e771c011788148001407e64189993163c4ffd0702d776131438ce061c860797d0871e4e46a6e6432518894ce83d642527d10ed655c5c6aed7063d
7
- data.tar.gz: da257195f7ec587c14ad74607efb1a85608098f8c17a63e47bd6df6cad26d1566a1ab94067bd4341d93d70ecd166b08f1ed8c7b4df8a323dc46487bf3a4dfbf0
6
+ metadata.gz: 7c1c4763e2e342ab1344674910c6a32bafe78cdf0bd19dabc4df66facd67b736cb2c6bee6582527e06ef5a28ff96f6f0ba936d8c6236bcf4e46baf012e703eac
7
+ data.tar.gz: bb0b8c631d55ffd5cc18485bf2c5a9ff319fa8f54c21724ab4a2c3c47c3dbb0e6ecedff38b6f9dd6682d7c7cac8e99c8f32fed04edf4ed63fef09a7527298356
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- command_service_object (0.6.3)
4
+ command_service_object (0.6.4)
5
5
  virtus (~> 1.0, >= 1.0.5)
6
6
 
7
7
  GEM
@@ -1,3 +1,3 @@
1
1
  module CommandServiceObject
2
- VERSION = '0.6.3'.freeze
2
+ VERSION = '0.6.4'.freeze
3
3
  end
@@ -2,13 +2,22 @@
2
2
 
3
3
  class CaseBase
4
4
  include CommandServiceObject::FailureHelper
5
- include CommandServiceObject::Hooks
6
5
 
7
- attr_reader :cmd
6
+ attr_reader :cmd, :issuer, :right_name
8
7
  alias_attribute :payload, :cmd
9
8
 
10
9
  def initialize(cmd)
11
10
  @cmd = cmd
11
+ @issuer = cmd.try(:issuer)
12
+ @right_name = "#{service_name}.#{case_name}"
13
+ end
14
+
15
+ def case_name
16
+ self.class.name.split('::').last.downcase
17
+ end
18
+
19
+ def service_name
20
+ self.class.name.split('::').first.remove('Service').downcase
12
21
  end
13
22
 
14
23
  def allowed?
@@ -1,10 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class CommandBase
4
- include Virtus.model
5
4
  include ActiveModel::Validations
5
+ include Virtus.model(nullify_blank: true)
6
6
 
7
7
  # if you need to enable policies add issuer attribute
8
- # attribute :issuer, User
9
- # validates :issuer, presence: true
8
+ attribute :issuer, Object, default: :default_issuer
9
+
10
+ private
11
+
12
+ def default_issuer
13
+ nil
14
+ end
10
15
  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: 0.6.3
4
+ version: 0.6.4
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: 2019-10-29 00:00:00.000000000 Z
12
+ date: 2019-11-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler