grom 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 19350b64f144db1c816c5e54d7e669360faa5383
4
- data.tar.gz: e1fccaf8a49153330c2439a6e84d1b8882bd5db6
3
+ metadata.gz: '00868d0d8687f9e5b228550499afda1340b32ddc'
4
+ data.tar.gz: 5e0c5da043501b4a19311dccef4aa9352690255b
5
5
  SHA512:
6
- metadata.gz: ad73c0767dc1c616bfb3bdb90f04325c972b2a2907b284d1dd4ba617ffe2ebb2ee07bee354ab2808608090b60e58a95a281651a9b61927768624c680b29ad9f4
7
- data.tar.gz: 5329fac467df5faa8958d04519f044ed95c346ca1b9591ba742fe7250a0649ead135d6ed0d210d5371db54293c7ac1df76dd8e83b28a3965a5a8c6c768a7a41a
6
+ metadata.gz: ddfeacff71067896dbca7393697ea3305ecee0fb92f7826f213fd5f03d4e9dc8e24504248b18ac7466369539c9220a473cebe85388f47bb4fa8664e97b1ac229
7
+ data.tar.gz: b9890c67a74e83d6026c73b56d6ca4c157e77d3bfc09c9546b3ee6a5b834cab11202c1a7baf6f3c9bbafc55d928c828878e7d9884624c4089350a93615f66132
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.3.1
1
+ 2.4.1
@@ -0,0 +1,30 @@
1
+ pipelines:
2
+ GEM-grom:
3
+ group: Dependencies
4
+ label_template: "${COUNT}"
5
+ materials:
6
+ GEM-grom-git:
7
+ git: https://github.com/ukparliament/grom.git
8
+ branch: master
9
+ auto_update: true
10
+ stages:
11
+ - deploy:
12
+ approval: manual
13
+ jobs:
14
+ deploy:
15
+ tasks:
16
+ - exec:
17
+ run_if: passed
18
+ command: make
19
+ arguments:
20
+ - checkout_to_release
21
+ - exec:
22
+ run_if: passed
23
+ command: make
24
+ arguments:
25
+ - deploy_to_release
26
+
27
+ environments:
28
+ Web.LIVE:
29
+ pipelines:
30
+ - GEM-grom
data/lib/grom/builder.rb CHANGED
@@ -46,14 +46,34 @@ module Grom
46
46
  @reader.edges_by_subject.each do |subject, predicates|
47
47
  predicates.each do |predicate, object_uris|
48
48
  current_node = @objects_by_subject[subject]
49
+ next if current_node.nil?
49
50
 
50
51
  object_uris.each do |object_uri|
51
52
  predicate_name_symbol = "@#{predicate}".to_sym
52
- object_array = current_node.instance_variable_get(predicate_name_symbol)
53
- object_array = [] if object_array.is_a?(String) || object_array.all? { |object| object.is_a?(String) }
54
- object_array << @objects_by_subject[object_uri]
55
53
 
56
- current_node.instance_variable_set(predicate_name_symbol, object_array)
54
+ # Get the current value (if there is one)
55
+ current_value = current_node.instance_variable_get(predicate_name_symbol)
56
+
57
+ object = current_value
58
+
59
+ # If we have stored a string, and there are objects to link, create an empty array
60
+ current_value_is_string = current_value.is_a?(String)
61
+ object_is_array_of_strings = object.all? { |entry| entry.is_a?(String) } if object.is_a?(Array)
62
+ object_by_uri = @objects_by_subject[object_uri]
63
+
64
+ object = [] if (current_value_is_string || object_is_array_of_strings) && object_by_uri
65
+
66
+ # If the above is correct, and we have an array
67
+ if object.is_a?(Array)
68
+ # Insert the current value (only if this is a new array (prevents possible duplication),
69
+ # the current value is a string, and there are no linked objects to insert)
70
+ object << current_value if object.empty? && current_value_is_string && object_by_uri.nil?
71
+
72
+ # Insert linked objects, if there are any
73
+ object << object_by_uri if object_by_uri
74
+ end
75
+
76
+ current_node.instance_variable_set(predicate_name_symbol, object)
57
77
  end
58
78
  end
59
79
  end
data/lib/grom/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Grom
2
- VERSION = '0.4.0'.freeze
2
+ VERSION = '0.5.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grom
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rebecca Appleyard
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2017-08-17 00:00:00.000000000 Z
13
+ date: 2017-09-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rdf
@@ -147,6 +147,7 @@ files:
147
147
  - bin/console
148
148
  - bin/setup
149
149
  - docs/logo.svg
150
+ - gocd/web1live.yaml
150
151
  - grom.gemspec
151
152
  - lib/grom.rb
152
153
  - lib/grom/builder.rb