project_store 0.1.2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|