project_store 0.1.2 → 0.2.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 +4 -4
- data/lib/project_store/base.rb +4 -1
- data/lib/project_store/entity/base.rb +1 -0
- data/lib/project_store/entity/common_properties.rb +2 -14
- data/lib/project_store/entity/mandatory_properties.rb +3 -8
- data/lib/project_store/entity/properties_binder.rb +36 -0
- data/lib/project_store/version.rb +1 -1
- data/lib/project_store.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2a440ea35cc13eac21b4b49b276827c7e2986f93
|
4
|
+
data.tar.gz: 097afce6d59434ab813f55401d8bd7919002c767
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd426008c44158a469e482cd12b11b30ab4d332c4b027911f73ea750866a1afd898a9b2b2bd03402e1c0bce396adc4659ff68f9511086bb3e2a2a5cd5c05ae63
|
7
|
+
data.tar.gz: 636119673d80a7aed3697ab8d685b7f8b4dd10689ae4c1cc674b81086fec1a5850e203f697f93bfa2fbb5830afbbf7c4fc41c39a362e76a2d940cbd531aaa344
|
data/lib/project_store/base.rb
CHANGED
@@ -63,10 +63,13 @@ module ProjectStore
|
|
63
63
|
logger.info "Found '#{entity.name}' of type '#{entity.type}'."
|
64
64
|
raise PSE, "Entity '#{entity.name}' already defined in file '#{project_entities[entity.name].backing_store.path}'" if project_entities[entity.name]
|
65
65
|
entity.backing_store = store
|
66
|
+
# Add to the store index store -> entity list
|
67
|
+
stores[store] << entity
|
68
|
+
# Add to main hash entity name -> entity
|
66
69
|
project_entities[entity.name] = entity
|
70
|
+
# Add to type hash entity type -> entity list
|
67
71
|
entity_types[entity.type] ||= []
|
68
72
|
entity_types[entity.type] << entity
|
69
|
-
stores[store] << entity
|
70
73
|
end
|
71
74
|
|
72
75
|
|
@@ -3,21 +3,9 @@ module ProjectStore
|
|
3
3
|
|
4
4
|
module CommonProperties
|
5
5
|
|
6
|
-
|
7
|
-
self[:description]
|
8
|
-
end
|
6
|
+
extend ProjectStore::Entity::PropertyBinder
|
9
7
|
|
10
|
-
|
11
|
-
self[:description] = description
|
12
|
-
end
|
13
|
-
|
14
|
-
def data
|
15
|
-
self[:data]
|
16
|
-
end
|
17
|
-
|
18
|
-
def data=(data)
|
19
|
-
self[:data] = data
|
20
|
-
end
|
8
|
+
yaml_accessor :description, :data
|
21
9
|
|
22
10
|
end
|
23
11
|
|
@@ -3,15 +3,10 @@ module ProjectStore
|
|
3
3
|
|
4
4
|
module MandatoryProperties
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
def type
|
9
|
-
self[:type]
|
10
|
-
end
|
6
|
+
extend ProjectStore::Entity::PropertyBinder
|
11
7
|
|
12
|
-
|
13
|
-
|
14
|
-
end
|
8
|
+
attr_accessor :name
|
9
|
+
yaml_accessor :type
|
15
10
|
|
16
11
|
end
|
17
12
|
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module ProjectStore
|
2
|
+
module Entity
|
3
|
+
|
4
|
+
module PropertyBinder
|
5
|
+
|
6
|
+
def yaml_accessor(*args)
|
7
|
+
args.each do |arg|
|
8
|
+
yaml_reader arg
|
9
|
+
yaml_writer arg
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def yaml_reader(*args)
|
14
|
+
args.each do |arg|
|
15
|
+
self.class_eval do
|
16
|
+
define_method arg do
|
17
|
+
self[arg]
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def yaml_writer(*args)
|
24
|
+
args.each do |arg|
|
25
|
+
self.class_eval do
|
26
|
+
define_method "#{arg}=" do |val|
|
27
|
+
self[arg] = val
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
data/lib/project_store.rb
CHANGED
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.
|
4
|
+
version: 0.2.0
|
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-
|
11
|
+
date: 2016-07-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -89,6 +89,7 @@ files:
|
|
89
89
|
- lib/project_store/entity/base.rb
|
90
90
|
- lib/project_store/entity/common_properties.rb
|
91
91
|
- lib/project_store/entity/mandatory_properties.rb
|
92
|
+
- lib/project_store/entity/properties_binder.rb
|
92
93
|
- lib/project_store/error.rb
|
93
94
|
- lib/project_store/initializer.rb
|
94
95
|
- lib/project_store/utils/basic_logger.rb
|