aggregate_root 0.27.1 → 0.28.0

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
- SHA1:
3
- metadata.gz: a142c8fd28eca68aaf47f5a21ac0d7922b0905a9
4
- data.tar.gz: 950e7fa9ffc83d5aed485ec3a90b3f0532eeeedf
2
+ SHA256:
3
+ metadata.gz: a5483be1de781b8175aa34881f7ebb93bca381f4b5141bd52247cc03f65568d2
4
+ data.tar.gz: 131a16a9fba376f9f2792e93087bad4bc5f9b7adc72e0ec335ec7c122e03f588
5
5
  SHA512:
6
- metadata.gz: f236961325f7e1305837a62f6d488acf488aea2093b77303f87fd9900411ef5b427dbba51ff429144ef9c7eff47bef0b0a23ebca9f195ab83864f87f0d2e9210
7
- data.tar.gz: a95d2e9786bd3121ed21cae8545ecf323a2f99c2c4f21f76a6859dc3c1c8a5b4be83cab22899be9bd9e7666981801f20582d13c0f32bc37d0c03e3a8d9edf82f
6
+ metadata.gz: c7510dfefc73f430b51a67caabfa94c1c51470ddfa780012a8c3631a4f8deb215d7a20dbd8afb5018f569a0833d79656776c21a91034e1a355c6b5b599248cfb
7
+ data.tar.gz: 39133f830f7fad7b0f939c1d615dfcd327b99bccb4dec2c6fff57e1199384fef0ecef01c88c9730be4309d41094b7956b0183cc453dfdbc0a4f771597acb906f
data/Makefile CHANGED
@@ -8,6 +8,12 @@ install: ## Install gem dependencies
8
8
  @echo "Installing gem dependencies"
9
9
  @bundle install
10
10
 
11
+ remove-lock:
12
+ @echo "Removing resolved dependency versions"
13
+ -rm Gemfile.lock
14
+
15
+ reinstall: remove-lock install ## Removing resolved dependency versions
16
+
11
17
  test: ## Run unit tests
12
18
  @echo "Running unit tests"
13
19
  @bundle exec rspec
@@ -27,7 +33,7 @@ build:
27
33
 
28
34
  push:
29
35
  @echo "Pushing package to RubyGems"
30
- @gem push pkg/$(GEM_NAME)-$(GEM_VERSION).gem
36
+ @gem push -k dev_arkency pkg/$(GEM_NAME)-$(GEM_VERSION).gem
31
37
 
32
38
  clean:
33
39
  @echo "Removing previously built package"
@@ -12,7 +12,13 @@ Gem::Specification.new do |spec|
12
12
 
13
13
  spec.summary = %q{Event sourced (with Rails Event Store) aggregate root implementation}
14
14
  spec.description = %q{Event sourced (with Rails Event Store) aggregate root implementation}
15
- spec.homepage = ''
15
+ spec.homepage = 'https://railseventstore.org'
16
+ spec.metadata = {
17
+ "homepage_uri" => "https://railseventstore.org/",
18
+ "changelog_uri" => "https://github.com/RailsEventStore/rails_event_store/releases",
19
+ "source_code_uri" => "https://github.com/RailsEventStore/rails_event_store",
20
+ "bug_tracker_uri" => "https://github.com/RailsEventStore/rails_event_store/issues",
21
+ }
16
22
 
17
23
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
24
  spec.bindir = 'exe'
@@ -22,8 +28,6 @@ Gem::Specification.new do |spec|
22
28
  spec.add_development_dependency 'bundler', '~> 1.15'
23
29
  spec.add_development_dependency 'rake', '~> 10.0'
24
30
  spec.add_development_dependency 'rspec', '~> 3.6'
25
- spec.add_development_dependency 'ruby_event_store', '= 0.27.1'
31
+ spec.add_development_dependency 'ruby_event_store', '= 0.28.0'
26
32
  spec.add_development_dependency 'mutant-rspec', '~> 0.8.14'
27
-
28
- spec.add_dependency 'activesupport', '>= 3.0'
29
33
  end
@@ -1,4 +1,3 @@
1
- require 'active_support/inflector'
2
1
  require 'aggregate_root/version'
3
2
  require 'aggregate_root/configuration'
4
3
  require 'aggregate_root/default_apply_strategy'
@@ -46,7 +45,7 @@ module AggregateRoot
46
45
  self
47
46
  end
48
47
 
49
- def store(stream_name = @loaded_from_stream_name, event_store: default_event_store)
48
+ def store(stream_name = loaded_from_stream_name, event_store: default_event_store)
50
49
  event_store.publish_events(unpublished_events, stream_name: stream_name, expected_version: version)
51
50
  @version += unpublished_events.size
52
51
  @unpublished_events = nil
@@ -73,4 +72,6 @@ module AggregateRoot
73
72
  def default_event_store
74
73
  AggregateRoot.configuration.default_event_store
75
74
  end
75
+
76
+ attr_reader :loaded_from_stream_name
76
77
  end
@@ -18,12 +18,21 @@ module AggregateRoot
18
18
 
19
19
  private
20
20
 
21
+ def handler_name(event)
22
+ on_methods.fetch(event.class) { handler_name_by_class(event.class) }
23
+ end
24
+
21
25
  def handler_name_by_class(event_class)
22
- "apply_#{event_class.name.demodulize.underscore}"
26
+ "apply_#{to_snake_case(event_class.name)}"
23
27
  end
24
28
 
25
- def handler_name(event)
26
- on_methods.fetch(event.class){ handler_name_by_class(event.class) }
29
+ def to_snake_case(class_name)
30
+ class_name
31
+ .split("::")
32
+ .last
33
+ .gsub(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2')
34
+ .gsub(/([a-z\d])([A-Z])/, '\1_\2')
35
+ .downcase
27
36
  end
28
37
 
29
38
  private
@@ -1,3 +1,3 @@
1
1
  module AggregateRoot
2
- VERSION = "0.27.1"
2
+ VERSION = "0.28.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aggregate_root
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.1
4
+ version: 0.28.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arkency
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-03-26 00:00:00.000000000 Z
11
+ date: 2018-05-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 0.27.1
61
+ version: 0.28.0
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 0.27.1
68
+ version: 0.28.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mutant-rspec
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -80,20 +80,6 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: 0.8.14
83
- - !ruby/object:Gem::Dependency
84
- name: activesupport
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '3.0'
90
- type: :runtime
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '3.0'
97
83
  description: Event sourced (with Rails Event Store) aggregate root implementation
98
84
  email:
99
85
  - dev@arkency.com
@@ -110,10 +96,14 @@ files:
110
96
  - lib/aggregate_root/configuration.rb
111
97
  - lib/aggregate_root/default_apply_strategy.rb
112
98
  - lib/aggregate_root/version.rb
113
- homepage: ''
99
+ homepage: https://railseventstore.org
114
100
  licenses:
115
101
  - MIT
116
- metadata: {}
102
+ metadata:
103
+ homepage_uri: https://railseventstore.org/
104
+ changelog_uri: https://github.com/RailsEventStore/rails_event_store/releases
105
+ source_code_uri: https://github.com/RailsEventStore/rails_event_store
106
+ bug_tracker_uri: https://github.com/RailsEventStore/rails_event_store/issues
117
107
  post_install_message:
118
108
  rdoc_options: []
119
109
  require_paths:
@@ -130,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
130
120
  version: '0'
131
121
  requirements: []
132
122
  rubyforge_project:
133
- rubygems_version: 2.6.13
123
+ rubygems_version: 2.7.6
134
124
  signing_key:
135
125
  specification_version: 4
136
126
  summary: Event sourced (with Rails Event Store) aggregate root implementation