team_api 0.0.1 → 0.0.2
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/team_api/canonicalizer.rb +13 -2
- data/lib/team_api/cross_referencer.rb +15 -4
- data/lib/team_api/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9dff193621885b732e86f4796e1392e51f1d9025
|
4
|
+
data.tar.gz: b28833e5d8d114604ba3f2b76e0af14d132f842a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 694d28f524bb623a665ea18b821d08966b0abcd4dcf8d23949bfc491c319e3ae0df785ba9dcb34e362813e23da0539a000d9a77ad4b44b168867028d430c1488
|
7
|
+
data.tar.gz: 38e1984b4bc4158481a5be7bd588b6c275b75156eadd32f73b77a392eb4fff2e12790f5448080aaf82a030e63de6b6a193af27d59b464fa5581f9f090594074d
|
@@ -9,8 +9,13 @@ module TeamApi
|
|
9
9
|
# Canonicalizes the order and names of certain fields within site_data.
|
10
10
|
def self.canonicalize_data(site_data)
|
11
11
|
sort_collections site_data
|
12
|
-
|
13
|
-
|
12
|
+
%w(skills interests).each do |category|
|
13
|
+
xrefs = site_data[category]
|
14
|
+
canonicalize_tag_category xrefs
|
15
|
+
site_data['team'].values.each do |member|
|
16
|
+
canonicalize_tags_for_item category, xrefs, member
|
17
|
+
end
|
18
|
+
end
|
14
19
|
end
|
15
20
|
|
16
21
|
def self.sort_collections(site_data)
|
@@ -121,5 +126,11 @@ module TeamApi
|
|
121
126
|
[slug, result]
|
122
127
|
end
|
123
128
|
private_class_method :consolidate_xrefs
|
129
|
+
|
130
|
+
def self.canonicalize_tags_for_item(category, xrefs, item)
|
131
|
+
return if item[category].nil?
|
132
|
+
item[category].each { |tag| tag['name'] = xrefs[tag['slug']]['name'] }
|
133
|
+
.sort_by! { |tag| tag['name'] }
|
134
|
+
end
|
124
135
|
end
|
125
136
|
end
|
@@ -110,10 +110,11 @@ module TeamApi
|
|
110
110
|
# Builds cross-references between data sets.
|
111
111
|
class CrossReferencer
|
112
112
|
TEAM_FIELDS = %w(name last_name first_name full_name self)
|
113
|
-
PROJECT_FIELDS = %w(name
|
113
|
+
PROJECT_FIELDS = %w(name full_name self)
|
114
114
|
WORKING_GROUP_FIELDS = %w(name full_name self)
|
115
115
|
GUILD_FIELDS = %w(name full_name self)
|
116
116
|
TAG_CATEGORIES = %w(skills interests)
|
117
|
+
TAG_XREF_FIELDS = %w(name slug self)
|
117
118
|
|
118
119
|
# Build cross-references between data sets.
|
119
120
|
# +site_data+:: Jekyll +site.data+ object
|
@@ -140,10 +141,20 @@ module TeamApi
|
|
140
141
|
private_class_method :create_xref_data
|
141
142
|
|
142
143
|
def self.xref_tags_and_team_members(site, tag_categories, team_xref)
|
144
|
+
team = (site.data['team'] || {})
|
143
145
|
tag_categories.each do |category|
|
144
|
-
xrefs = create_tag_xrefs(site,
|
145
|
-
|
146
|
-
site.data[category] = xrefs
|
146
|
+
xrefs = create_tag_xrefs(site, team.values, category, team_xref)
|
147
|
+
next if xrefs.empty?
|
148
|
+
site.data[category] = xrefs
|
149
|
+
replace_item_tags_with_xrefs category, xrefs, team.values
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
153
|
+
def self.replace_item_tags_with_xrefs(tag_category, tag_xrefs, items)
|
154
|
+
items.each do |item|
|
155
|
+
(item[tag_category] || []).map! do |tag|
|
156
|
+
tag_xrefs[tag].select { |field| TAG_XREF_FIELDS.include? field }
|
157
|
+
end
|
147
158
|
end
|
148
159
|
end
|
149
160
|
|
data/lib/team_api/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: team_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Bland
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|