project_store 0.6.8 → 0.6.9

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
2
  SHA1:
3
- metadata.gz: 68bf885a3948fba46055ea4b967e0ac9d313cc67
4
- data.tar.gz: bba7870f3eda812689c6fa811549c8511285d5e1
3
+ metadata.gz: c1df2bd03938b69e30dbefa75c4b66b4be402b1b
4
+ data.tar.gz: 1fa4346552c9729c76a8b4371d32a26e93eb2b63
5
5
  SHA512:
6
- metadata.gz: 952a0808722a918c1b8c9a01c604d5818e4a66c2ecff42fc631311dd2b174f3be8f1e0aef34b5a36c4ab7ef864dee6021788573ae3909452a100a9cff4ab4339
7
- data.tar.gz: ddf6e3cb95f019dee1a593c44a992be6ec194300fcf2f0c108f08821dbbacbf5c7debfade8690c1fc7bcd6e0982da49f8768ed6e43afe0f39de0b384c9c8bef1
6
+ metadata.gz: b347a01141464333148c7e745c0449a82e0776efcdaa6d43c8b58944c75a7dffc98ab64c4448b999844dea820ac00bffd83fd4d25f57fdae706ac3b1ad44ebd6
7
+ data.tar.gz: 65c1bf127f43b87a9fa16398d4ab2b139f2946fba2bee9822577c8a82d972802e7baba9d85aa63ba7611d5cf7c91ddffab006bb26b0896293d0339aaeff52ca6
@@ -8,7 +8,7 @@ module ProjectStore
8
8
  include ProjectStore::Editing
9
9
 
10
10
  attr_accessor :continue_on_error
11
- attr_reader :path, :project_entities, :entity_types, :stores, :logger
11
+ attr_reader :path, :project_entities, :entity_types, :files, :logger
12
12
 
13
13
  def initialize(path)
14
14
  raise PSE, "Invalid store path '#{path}'!" unless valid_path? path
@@ -16,7 +16,7 @@ module ProjectStore
16
16
  @path = File.expand_path path
17
17
  self.continue_on_error = false
18
18
  @project_entities = {}
19
- @stores = {}
19
+ @files = {}
20
20
  @entity_types = {}
21
21
  self.decorators = {}
22
22
  end
@@ -26,7 +26,7 @@ module ProjectStore
26
26
  logger.debug "Found store file '#{file}'"
27
27
  begin
28
28
  store = YAML::Store.new(file)
29
- stores[store] ||= []
29
+ files[store] ||= []
30
30
  store.transaction(true) do
31
31
  store.roots.each do |entity_name|
32
32
  begin
@@ -34,12 +34,14 @@ module ProjectStore
34
34
  entity = store[entity_name]
35
35
  decorate_and_index_entity entity_name, entity, store, &block
36
36
  rescue => e
37
+ msg = "Invalid entity '#{entity_name}' in file '#{file}' (#{e.message})"
38
+ dbg_msg = "#{e.message}\nBacktrace:\n#{e.backtrace.join("\n\t")}"
37
39
  if continue_on_error
38
- logger.warn "Invalid entity '#{entity_name}' in file '#{file}'"
39
- logger.debug "#{e.message}\nBacktrace:\n#{e.backtrace.join("\n\t")}"
40
+ logger.warn msg
41
+ logger.debug dbg_msg
40
42
  else
41
- logger.debug "#{e.message}\nBacktrace:\n#{e.backtrace.join("\n\t")}"
42
- raise PSE, "Invalid entity '#{entity_name}' in file '#{file}' (#{e.message})"
43
+ logger.debug dbg_msg
44
+ raise PSE, msg
43
45
  end
44
46
  end
45
47
  end
@@ -55,6 +57,10 @@ module ProjectStore
55
57
 
56
58
  private
57
59
 
60
+ def reset
61
+ [project_entities, files, entity_types].each { |list| list.clear}
62
+ end
63
+
58
64
  def valid_path?(path)
59
65
  Dir.exist? path and File.readable? path and File.writable? path
60
66
  end
@@ -70,7 +76,7 @@ module ProjectStore
70
76
  entity.backing_store = store
71
77
  raise PSE, "Entity '#{entity.name}' already defined in file '#{project_entities[entity.name].backing_store.path}'" if project_entities[entity.name]
72
78
  # Add to the store index store -> entity list
73
- stores[store] << entity
79
+ files[store] << entity
74
80
  # Add to main hash entity name -> entity
75
81
  project_entities[entity.name] = entity
76
82
  # Add to type hash entity type -> entity list
@@ -79,6 +85,7 @@ module ProjectStore
79
85
  end
80
86
 
81
87
 
88
+
82
89
  end
83
90
 
84
91
 
@@ -1,3 +1,3 @@
1
1
  module ProjectStore
2
- VERSION = '0.6.8'
2
+ VERSION = '0.6.9'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: project_store
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.8
4
+ version: 0.6.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Laurent B.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-07-29 00:00:00.000000000 Z
11
+ date: 2016-07-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler