nanoc 4.7.3 → 4.7.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +5 -5
  3. data/NEWS.md +7 -0
  4. data/lib/nanoc/base/entities.rb +1 -1
  5. data/lib/nanoc/base/entities/{rule_memory.rb → action_sequence.rb} +19 -1
  6. data/lib/nanoc/base/entities/outdatedness_reasons.rb +12 -4
  7. data/lib/nanoc/base/entities/outdatedness_status.rb +1 -1
  8. data/lib/nanoc/base/repos.rb +1 -1
  9. data/lib/nanoc/base/repos/{rule_memory_store.rb → action_sequence_store.rb} +12 -12
  10. data/lib/nanoc/base/repos/checksum_store.rb +3 -3
  11. data/lib/nanoc/base/services/action_provider.rb +1 -9
  12. data/lib/nanoc/base/services/checksummer.rb +4 -2
  13. data/lib/nanoc/base/services/compiler.rb +11 -11
  14. data/lib/nanoc/base/services/compiler/phases/recalculate.rb +3 -3
  15. data/lib/nanoc/base/services/compiler/stages/cleanup.rb +1 -1
  16. data/lib/nanoc/base/services/compiler/stages/compile_reps.rb +3 -3
  17. data/lib/nanoc/base/services/compiler/stages/determine_outdatedness.rb +7 -2
  18. data/lib/nanoc/base/services/compiler_loader.rb +3 -3
  19. data/lib/nanoc/base/services/item_rep_builder.rb +4 -2
  20. data/lib/nanoc/base/services/item_rep_router.rb +7 -2
  21. data/lib/nanoc/base/services/outdatedness_checker.rb +30 -7
  22. data/lib/nanoc/base/services/outdatedness_rule.rb +7 -4
  23. data/lib/nanoc/base/services/outdatedness_rules.rb +9 -161
  24. data/lib/nanoc/base/services/outdatedness_rules/attributes_modified.rb +34 -0
  25. data/lib/nanoc/base/services/outdatedness_rules/code_snippets_modified.rb +26 -0
  26. data/lib/nanoc/base/services/outdatedness_rules/configuration_modified.rb +23 -0
  27. data/lib/nanoc/base/services/outdatedness_rules/content_modified.rb +15 -0
  28. data/lib/nanoc/base/services/outdatedness_rules/not_written.rb +11 -0
  29. data/lib/nanoc/base/services/outdatedness_rules/paths_modified.rb +20 -0
  30. data/lib/nanoc/base/services/outdatedness_rules/rules_modified.rb +13 -0
  31. data/lib/nanoc/base/services/outdatedness_rules/uses_always_outdated_filter.rb +20 -0
  32. data/lib/nanoc/rule_dsl.rb +1 -1
  33. data/lib/nanoc/rule_dsl/action_provider.rb +7 -11
  34. data/lib/nanoc/rule_dsl/{rule_memory_calculator.rb → action_sequence_calculator.rb} +21 -39
  35. data/lib/nanoc/rule_dsl/recording_executor.rb +7 -7
  36. data/lib/nanoc/spec.rb +7 -7
  37. data/lib/nanoc/version.rb +1 -1
  38. data/spec/nanoc/base/checksummer_spec.rb +20 -0
  39. data/spec/nanoc/base/compiler_spec.rb +7 -10
  40. data/spec/nanoc/base/entities/action_sequence_spec.rb +278 -0
  41. data/spec/nanoc/base/repos/checksum_store_spec.rb +22 -2
  42. data/spec/nanoc/base/services/compiler/stages/cleanup_spec.rb +2 -2
  43. data/spec/nanoc/base/services/compiler/stages/compile_reps_spec.rb +5 -9
  44. data/spec/nanoc/base/services/executor_spec.rb +5 -5
  45. data/spec/nanoc/base/services/item_rep_router_spec.rb +36 -18
  46. data/spec/nanoc/base/services/outdatedness_checker_spec.rb +74 -30
  47. data/spec/nanoc/base/services/outdatedness_rules_spec.rb +78 -18
  48. data/spec/nanoc/helpers/rendering_spec.rb +4 -4
  49. data/spec/nanoc/rule_dsl/{rule_memory_calculator_spec.rb → action_sequence_calculator_spec.rb} +6 -61
  50. data/spec/nanoc/rule_dsl/recording_executor_spec.rb +45 -45
  51. data/test/base/test_outdatedness_checker.rb +1 -1
  52. data/test/rule_dsl/test_action_provider.rb +3 -3
  53. metadata +15 -7
  54. data/spec/nanoc/base/entities/rule_memory_spec.rb +0 -167
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 06af73e98c0935c6d7d8fd00b40d9e09329d745c
4
- data.tar.gz: f5e03e20454c8d526ef62d3be16638e9a4e8bfe6
3
+ metadata.gz: a7edb702d8929a927c1451d25bfa2371a4464914
4
+ data.tar.gz: 1120a8323748658b9d26bb5ca10b500dfc162a31
5
5
  SHA512:
6
- metadata.gz: e898a8a5f2270666742feff827ab473843fed2f9dd6801016fbf5c201b6649d4f3a9825ce17fada634be2254252cfabda285e35ca004388d88ce2900994c208d
7
- data.tar.gz: 4246e6c9ad39036c4f271f3e99ac28b2b44f0f3de670459d72761046416369948a4695c9c4953ff4f7d7591f42f7dde698f4665f9ec1aaea5d940982fef53938
6
+ metadata.gz: a62949639c9c7ebb38ecaf5c1c4c60c1b03e73cdcc4791c300a811517e8fbf826b71079eee6dc5966ae4c25c7aea4e1eefe0ff589c3ec477e0a41f3b70717d16
7
+ data.tar.gz: 962038a9d13bb4d58395999e77f73a48fc6b3be78fc862e83135aa8fa82f894f01ffb8b696d2354dcaabc7b1b4983245a339bdc96d3cb98ac9bede5153cc0536
data/Gemfile.lock CHANGED
@@ -1,6 +1,6 @@
1
1
  GIT
2
2
  remote: https://github.com/bbatsov/rubocop.git
3
- revision: d1b9d66c3518389b0c408a6a4a42061b36748df4
3
+ revision: d602d0a763da9f4f16b441f6205c6913eb99fbe4
4
4
  specs:
5
5
  rubocop (0.48.0)
6
6
  parser (>= 2.3.3.1, < 3.0)
@@ -27,7 +27,7 @@ GIT
27
27
  PATH
28
28
  remote: .
29
29
  specs:
30
- nanoc (4.7.3)
30
+ nanoc (4.7.4)
31
31
  cri (~> 2.3)
32
32
  ddplugin (~> 1.0)
33
33
  hamster (~> 3.0)
@@ -273,7 +273,7 @@ GEM
273
273
  mocha (1.2.1)
274
274
  metaclass (~> 0.0.1)
275
275
  multi_json (1.12.1)
276
- mustache (1.0.4)
276
+ mustache (1.0.5)
277
277
  nenv (0.3.0)
278
278
  nokogiri (1.7.1)
279
279
  mini_portile2 (~> 2.1.0)
@@ -338,7 +338,7 @@ GEM
338
338
  tilt (>= 1.3.3, < 2.1)
339
339
  slop (3.6.0)
340
340
  temple (0.7.7)
341
- term-ansicolor (1.4.1)
341
+ term-ansicolor (1.5.0)
342
342
  tins (~> 1.0)
343
343
  thor (0.19.4)
344
344
  tilt (2.0.7)
@@ -347,7 +347,7 @@ GEM
347
347
  trollop (2.1.2)
348
348
  typogruby (1.0.18)
349
349
  rubypants
350
- uglifier (3.1.10)
350
+ uglifier (3.1.11)
351
351
  execjs (>= 0.3.0, < 3)
352
352
  unicode-display_width (1.1.3)
353
353
  url (0.3.2)
data/NEWS.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Nanoc news
2
2
 
3
+ ## 4.7.4 (2017-03-29)
4
+
5
+ Enhancements:
6
+
7
+ * Made attribute dependencies cause outdatedness less often (#1136, #1137, #1138)
8
+ * Improved speed of Rules file handling (#1140)
9
+
3
10
  ## 4.7.3 (2017-03-26)
4
11
 
5
12
  Fixes:
@@ -16,7 +16,7 @@ require_relative 'entities/item_rep'
16
16
  require_relative 'entities/layout'
17
17
  require_relative 'entities/pattern'
18
18
  require_relative 'entities/props'
19
- require_relative 'entities/rule_memory'
19
+ require_relative 'entities/action_sequence'
20
20
  require_relative 'entities/site'
21
21
  require_relative 'entities/snapshot_def'
22
22
 
@@ -1,5 +1,5 @@
1
1
  module Nanoc::Int
2
- class RuleMemory
2
+ class ActionSequence
3
3
  include Nanoc::Int::ContractsSupport
4
4
  include Enumerable
5
5
 
@@ -83,6 +83,24 @@ module Nanoc::Int
83
83
  self.class.new(@item_rep, actions: actions)
84
84
  end
85
85
 
86
+ def snapshots_defs
87
+ is_binary = @item_rep.item.content.binary?
88
+ snapshot_defs = []
89
+
90
+ each do |action|
91
+ case action
92
+ when Nanoc::Int::ProcessingActions::Snapshot
93
+ action.snapshot_names.each do |snapshot_name|
94
+ snapshot_defs << Nanoc::Int::SnapshotDef.new(snapshot_name, binary: is_binary)
95
+ end
96
+ when Nanoc::Int::ProcessingActions::Filter
97
+ is_binary = Nanoc::Filter.named!(action.filter_name).to_binary?
98
+ end
99
+ end
100
+
101
+ snapshot_defs
102
+ end
103
+
86
104
  private
87
105
 
88
106
  def will_add_snapshot(name)
@@ -49,10 +49,18 @@ module Nanoc::Int
49
49
  Props.new(raw_content: true, compiled_content: true),
50
50
  )
51
51
 
52
- AttributesModified = Generic.new(
53
- 'The attributes of this item have been modified since the last time the site was compiled.',
54
- Props.new(attributes: true, compiled_content: true),
55
- )
52
+ class AttributesModified < Generic
53
+ attr_reader :attributes
54
+
55
+ def initialize(attributes)
56
+ super(
57
+ 'The attributes of this item have been modified since the last time the site was compiled.',
58
+ Props.new(attributes: true, compiled_content: true),
59
+ )
60
+
61
+ @attributes = attributes
62
+ end
63
+ end
56
64
 
57
65
  PathsModified = Generic.new(
58
66
  'One or more output paths of this item have been modified since the last time the site was compiled.',
@@ -10,7 +10,7 @@ module Nanoc::Int
10
10
  end
11
11
 
12
12
  def useful_to_apply?(rule)
13
- (rule.instance.reason.props.active - @props.active).any?
13
+ (rule.affected_props - @props.active).any?
14
14
  end
15
15
 
16
16
  def update(reason)
@@ -7,7 +7,7 @@ require_relative 'repos/data_source'
7
7
  require_relative 'repos/dependency_store'
8
8
  require_relative 'repos/item_rep_repo'
9
9
  require_relative 'repos/outdatedness_store'
10
- require_relative 'repos/rule_memory_store'
10
+ require_relative 'repos/action_sequence_store'
11
11
  require_relative 'repos/site_loader'
12
12
  require_relative 'repos/snapshot_repo'
13
13
  require_relative 'repos/in_mem_data_source'
@@ -1,43 +1,43 @@
1
1
  module Nanoc::Int
2
- # Stores rule memories for objects that can be run through a rule (item
2
+ # Stores action sequences for objects that can be run through a rule (item
3
3
  # representations and layouts).
4
4
  #
5
5
  # @api private
6
- class RuleMemoryStore < ::Nanoc::Int::Store
6
+ class ActionSequenceStore < ::Nanoc::Int::Store
7
7
  def initialize(site: nil)
8
8
  super(Nanoc::Int::Store.tmp_path_for(site: site, store_name: 'rule_memory'), 1)
9
9
 
10
- @rule_memories = {}
10
+ @action_sequences = {}
11
11
  end
12
12
 
13
13
  # @param [Nanoc::Int::ItemRep, Nanoc::Int::Layout] obj The item representation or
14
- # the layout to get the rule memory for
14
+ # the layout to get the action sequence for
15
15
  #
16
- # @return [Array] The rule memory for the given object
16
+ # @return [Array] The action sequence for the given object
17
17
  def [](obj)
18
- @rule_memories[obj.reference]
18
+ @action_sequences[obj.reference]
19
19
  end
20
20
 
21
21
  # @param [Nanoc::Int::ItemRep, Nanoc::Int::Layout] obj The item representation or
22
- # the layout to set the rule memory for
22
+ # the layout to set the action sequence for
23
23
  #
24
- # @param [Array] rule_memory The new rule memory to be stored
24
+ # @param [Array] action_sequence The new action sequence to be stored
25
25
  #
26
26
  # @return [void]
27
- def []=(obj, rule_memory)
28
- @rule_memories[obj.reference] = rule_memory
27
+ def []=(obj, action_sequence)
28
+ @action_sequences[obj.reference] = action_sequence
29
29
  end
30
30
 
31
31
  protected
32
32
 
33
33
  # @see Nanoc::Int::Store#data
34
34
  def data
35
- @rule_memories
35
+ @action_sequences
36
36
  end
37
37
 
38
38
  # @see Nanoc::Int::Store#data=
39
39
  def data=(new_data)
40
- @rule_memories = new_data
40
+ @action_sequences = new_data
41
41
  end
42
42
  end
43
43
  end
@@ -28,7 +28,7 @@ module Nanoc::Int
28
28
  def add(obj)
29
29
  if obj.is_a?(Nanoc::Int::Document)
30
30
  @checksums[[obj.reference, :content]] = Nanoc::Int::Checksummer.calc_for_content_of(obj)
31
- @checksums[[obj.reference, :attributes]] = Nanoc::Int::Checksummer.calc_for_attributes_of(obj)
31
+ @checksums[[obj.reference, :each_attribute]] = Nanoc::Int::Checksummer.calc_for_each_attribute_of(obj)
32
32
  end
33
33
 
34
34
  @checksums[obj.reference] = Nanoc::Int::Checksummer.calc(obj)
@@ -41,9 +41,9 @@ module Nanoc::Int
41
41
  @checksums[[obj.reference, :content]]
42
42
  end
43
43
 
44
- contract c_obj => C::Maybe[String]
44
+ contract c_obj => C::Maybe[C::HashOf[Symbol, String]]
45
45
  def attributes_checksum_for(obj)
46
- @checksums[[obj.reference, :attributes]]
46
+ @checksums[[obj.reference, :each_attribute]]
47
47
  end
48
48
 
49
49
  protected
@@ -11,18 +11,10 @@ module Nanoc::Int
11
11
  raise NotImplementedError
12
12
  end
13
13
 
14
- def memory_for(_rep)
14
+ def action_sequence_for(_rep)
15
15
  raise NotImplementedError
16
16
  end
17
17
 
18
- def snapshots_defs_for(_rep)
19
- raise NotImplementedError
20
- end
21
-
22
- def paths_for(rep)
23
- memory_for(rep).paths
24
- end
25
-
26
18
  def need_preprocessing?
27
19
  raise NotImplementedError
28
20
  end
@@ -48,8 +48,10 @@ module Nanoc::Int
48
48
  obj.content_checksum_data || obj.checksum_data || Nanoc::Int::Checksummer.calc(obj.content)
49
49
  end
50
50
 
51
- def calc_for_attributes_of(obj)
52
- obj.attributes_checksum_data || obj.checksum_data || Nanoc::Int::Checksummer.calc(obj.attributes)
51
+ def calc_for_each_attribute_of(obj, digest_class = CompactDigest)
52
+ obj.attributes.each_with_object({}) do |(key, value), memo|
53
+ memo[key] = Nanoc::Int::Checksummer.calc(value, digest_class)
54
+ end
53
55
  end
54
56
 
55
57
  private
@@ -33,7 +33,7 @@ module Nanoc::Int
33
33
  end
34
34
 
35
35
  def filter_name_and_args_for_layout(layout)
36
- mem = @action_provider.memory_for(layout)
36
+ mem = @action_provider.action_sequence_for(layout)
37
37
  if mem.nil? || mem.size != 1 || !mem[0].is_a?(Nanoc::Int::ProcessingActions::Filter)
38
38
  raise Nanoc::Int::Errors::UndefinedFilterForLayout.new(layout)
39
39
  end
@@ -84,7 +84,7 @@ module Nanoc::Int
84
84
  attr_reader :checksum_store
85
85
 
86
86
  # @api private
87
- attr_reader :rule_memory_store
87
+ attr_reader :action_sequence_store
88
88
 
89
89
  # @api private
90
90
  attr_reader :action_provider
@@ -104,12 +104,12 @@ module Nanoc::Int
104
104
  # @api private
105
105
  attr_reader :snapshot_repo
106
106
 
107
- def initialize(site, compiled_content_cache:, checksum_store:, rule_memory_store:, action_provider:, dependency_store:, outdatedness_checker:, reps:, outdatedness_store:)
107
+ def initialize(site, compiled_content_cache:, checksum_store:, action_sequence_store:, action_provider:, dependency_store:, outdatedness_checker:, reps:, outdatedness_store:)
108
108
  @site = site
109
109
 
110
110
  @compiled_content_cache = compiled_content_cache
111
111
  @checksum_store = checksum_store
112
- @rule_memory_store = rule_memory_store
112
+ @action_sequence_store = action_sequence_store
113
113
  @dependency_store = dependency_store
114
114
  @outdatedness_checker = outdatedness_checker
115
115
  @reps = reps
@@ -141,9 +141,9 @@ module Nanoc::Int
141
141
 
142
142
  # TODO: rename to store_preprocessed_state
143
143
  def store
144
- # Calculate rule memory
144
+ # Calculate action sequence
145
145
  (@reps.to_a + @site.layouts.to_a).each do |obj|
146
- rule_memory_store[obj] = action_provider.memory_for(obj).serialize
146
+ action_sequence_store[obj] = action_provider.action_sequence_for(obj).serialize
147
147
  end
148
148
 
149
149
  # Calculate checksums
@@ -153,7 +153,7 @@ module Nanoc::Int
153
153
 
154
154
  # Store
155
155
  checksum_store.store
156
- rule_memory_store.store
156
+ action_sequence_store.store
157
157
  end
158
158
 
159
159
  def store_output_state
@@ -164,7 +164,7 @@ module Nanoc::Int
164
164
  builder = Nanoc::Int::ItemRepBuilder.new(
165
165
  site, action_provider, @reps
166
166
  )
167
- builder.run
167
+ @action_sequences = builder.run
168
168
  end
169
169
 
170
170
  def compilation_context
@@ -214,7 +214,7 @@ module Nanoc::Int
214
214
  @_compile_reps_stage ||= Stages::CompileReps.new(
215
215
  outdatedness_store: @outdatedness_store,
216
216
  dependency_store: @dependency_store,
217
- action_provider: action_provider,
217
+ action_sequences: @action_sequences,
218
218
  compilation_context: compilation_context,
219
219
  compiled_content_cache: compiled_content_cache,
220
220
  )
@@ -225,7 +225,7 @@ module Nanoc::Int
225
225
  end
226
226
 
227
227
  def determine_outdatedness
228
- determine_outdatedness_stage.run do |outdated_items|
228
+ determine_outdatedness_stage.run(@action_sequences) do |outdated_items|
229
229
  @outdated_items = outdated_items
230
230
  end
231
231
  end
@@ -241,7 +241,7 @@ module Nanoc::Int
241
241
  checksum_store,
242
242
  compiled_content_cache,
243
243
  @dependency_store,
244
- rule_memory_store,
244
+ action_sequence_store,
245
245
  @outdatedness_store,
246
246
  ]
247
247
  end
@@ -4,10 +4,10 @@ module Nanoc::Int::Compiler::Phases
4
4
  class Recalculate < Abstract
5
5
  include Nanoc::Int::ContractsSupport
6
6
 
7
- def initialize(action_provider:, dependency_store:, compilation_context:)
7
+ def initialize(action_sequences:, dependency_store:, compilation_context:)
8
8
  super(wrapped: nil)
9
9
 
10
- @action_provider = action_provider
10
+ @action_sequences = action_sequences
11
11
  @dependency_store = dependency_store
12
12
  @compilation_context = compilation_context
13
13
  end
@@ -21,7 +21,7 @@ module Nanoc::Int::Compiler::Phases
21
21
 
22
22
  @compilation_context.snapshot_repo.set(rep, :last, rep.item.content)
23
23
 
24
- actions = @action_provider.memory_for(rep)
24
+ actions = @action_sequences[rep]
25
25
  actions.each do |action|
26
26
  case action
27
27
  when Nanoc::Int::ProcessingActions::Filter
@@ -26,7 +26,7 @@ module Nanoc::Int::Compiler::Stages
26
26
  end
27
27
 
28
28
  def cleanup_old_stores
29
- %w(checksums compiled_content dependencies outdatedness rule_memory).each do |fn|
29
+ %w(checksums compiled_content dependencies outdatedness action_sequence).each do |fn|
30
30
  full_fn = File.join('tmp', fn)
31
31
  if File.file?(full_fn)
32
32
  FileUtils.rm_f(full_fn)
@@ -1,9 +1,9 @@
1
1
  module Nanoc::Int::Compiler::Stages
2
2
  class CompileReps
3
- def initialize(outdatedness_store:, dependency_store:, action_provider:, compilation_context:, compiled_content_cache:)
3
+ def initialize(outdatedness_store:, dependency_store:, action_sequences:, compilation_context:, compiled_content_cache:)
4
4
  @outdatedness_store = outdatedness_store
5
5
  @dependency_store = dependency_store
6
- @action_provider = action_provider
6
+ @action_sequences = action_sequences
7
7
  @compilation_context = compilation_context
8
8
  @compiled_content_cache = compiled_content_cache
9
9
  end
@@ -33,7 +33,7 @@ module Nanoc::Int::Compiler::Stages
33
33
  def item_rep_compiler
34
34
  @_item_rep_compiler ||= begin
35
35
  recalculate_phase = Nanoc::Int::Compiler::Phases::Recalculate.new(
36
- action_provider: @action_provider,
36
+ action_sequences: @action_sequences,
37
37
  dependency_store: @dependency_store,
38
38
  compilation_context: @compilation_context,
39
39
  )
@@ -1,14 +1,19 @@
1
1
  module Nanoc::Int::Compiler::Stages
2
2
  class DetermineOutdatedness
3
+ include Nanoc::Int::ContractsSupport
4
+
3
5
  def initialize(reps:, outdatedness_checker:, outdatedness_store:)
4
6
  @reps = reps
5
7
  @outdatedness_checker = outdatedness_checker
6
8
  @outdatedness_store = outdatedness_store
7
9
  end
8
10
 
9
- def run
11
+ C_OBJ = C::Or[Nanoc::Int::Item, Nanoc::Int::ItemRep, Nanoc::Int::Layout]
12
+
13
+ contract C::HashOf[C_OBJ => Nanoc::Int::ActionSequence], C::Func[C::IterOf[Nanoc::Int::Item] => C::Any] => C::Any
14
+ def run(action_sequences)
10
15
  outdated_reps_tmp = @reps.select do |r|
11
- @outdatedness_store.include?(r) || @outdatedness_checker.outdated?(r)
16
+ @outdatedness_store.include?(r) || @outdatedness_checker.outdated?(r, action_sequences)
12
17
  end
13
18
 
14
19
  outdated_items = outdated_reps_tmp.map(&:item).uniq
@@ -2,7 +2,7 @@ module Nanoc::Int
2
2
  # @api private
3
3
  class CompilerLoader
4
4
  def load(site, action_provider: nil)
5
- rule_memory_store = Nanoc::Int::RuleMemoryStore.new(site: site)
5
+ action_sequence_store = Nanoc::Int::ActionSequenceStore.new(site: site)
6
6
 
7
7
  dependency_store =
8
8
  Nanoc::Int::DependencyStore.new(site.items.to_a + site.layouts.to_a, site: site)
@@ -24,7 +24,7 @@ module Nanoc::Int
24
24
  site: site,
25
25
  checksum_store: checksum_store,
26
26
  dependency_store: dependency_store,
27
- rule_memory_store: rule_memory_store,
27
+ action_sequence_store: action_sequence_store,
28
28
  action_provider: action_provider,
29
29
  reps: item_rep_repo,
30
30
  )
@@ -38,7 +38,7 @@ module Nanoc::Int
38
38
  params = {
39
39
  compiled_content_cache: compiled_content_cache,
40
40
  checksum_store: checksum_store,
41
- rule_memory_store: rule_memory_store,
41
+ action_sequence_store: action_sequence_store,
42
42
  dependency_store: dependency_store,
43
43
  outdatedness_checker: outdatedness_checker,
44
44
  reps: item_rep_repo,