research_metadata_announcement 0.5.0 → 0.5.1
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/CHANGELOG.md +11 -0
- data/README.md +1 -1
- data/lib/research_metadata_announcement/transformer/base.rb +29 -7
- data/lib/research_metadata_announcement/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: bf0c1c8fc3b0e8d58f989fc77575708349146f54
|
4
|
+
data.tar.gz: 8ee85200f2fc1bfc3d16742a1c97ac9e75183e2b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0951b8d89a3bbf596cfbace7aa7021c594bbc03bc383fa9b94d0830320224534f8f144480ca2d66d54d9ee60c775ce5465ce82bccb817c1dfaf08e558c1c85d2
|
7
|
+
data.tar.gz: 042f6d932f8366a8b1941aa0d1fd16104ebecb4b68f4dcfd06250bc10d9faf96597042721a84fa6442e705afa9f147d13e6156cdb36ef7009ae088acc09b90d2
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,17 @@
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
4
4
|
|
5
|
+
## 0.5.1 - 2018-01-17
|
6
|
+
### Added
|
7
|
+
- Testing announcements against known live data.
|
8
|
+
|
9
|
+
### Fixed
|
10
|
+
- Ellipsis after truncated title.
|
11
|
+
|
12
|
+
### Changed
|
13
|
+
- Cope with missing resolver in DOI.
|
14
|
+
- Cope with full stop in title.
|
15
|
+
|
5
16
|
## 0.5.0 - 2018-01-11
|
6
17
|
### Changed
|
7
18
|
- For Pure API 59.
|
data/README.md
CHANGED
@@ -84,7 +84,7 @@ transformer.transform id: 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'
|
|
84
84
|
#=> "New journal article. Can poly-parameter linear-free energy relationships (pp-LFERs) improve modelling bioaccumulation in fish? #partitioncoefficients #pplfer. dx.doi.org/10.1016/j.chemosphere.2017.10.007."
|
85
85
|
|
86
86
|
transformer.transform id: 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx', max_length: 140
|
87
|
-
#=> "New journal article. The Parting of Burroughs and... #americancounterculture #arthurrimbaud. dx.doi.org/10.1179/1477570013Z.00000000045."
|
87
|
+
#=> "New journal article. The Parting of Burroughs and Ker... #americancounterculture #arthurrimbaud. dx.doi.org/10.1179/1477570013Z.00000000045."
|
88
88
|
|
89
89
|
transformer.transform id: 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx', composition: [:new, :title, :hashtags] # research output has no descriptors
|
90
90
|
#=> "New conference paper. Deductive and inductive data collection for agent-based modelling."
|
@@ -29,7 +29,7 @@ module ResearchMetadataAnnouncement
|
|
29
29
|
if composition.include? :uri
|
30
30
|
return nil unless prepare_uri
|
31
31
|
end
|
32
|
-
title = @resource.title
|
32
|
+
title = remove_full_stop @resource.title
|
33
33
|
keywords = @resource.keywords
|
34
34
|
|
35
35
|
# sizing
|
@@ -49,10 +49,16 @@ module ResearchMetadataAnnouncement
|
|
49
49
|
chars_needed += build_hashtags(keywords, max_descriptors).size + chars_component_end if !keywords.empty?
|
50
50
|
when :uri
|
51
51
|
uri = prepare_uri
|
52
|
-
chars_needed += uri.size if uri
|
52
|
+
chars_needed += uri.size + chars_component_end if uri
|
53
53
|
end
|
54
54
|
end
|
55
55
|
|
56
|
+
# since the arrangement of the composition is unknown, after sizing
|
57
|
+
# chars_needed has two extra spaces allocated
|
58
|
+
# one is used for the terminating full stop
|
59
|
+
# one is not needed
|
60
|
+
chars_needed -= 1
|
61
|
+
|
56
62
|
# determine if title needs truncating/removing before combining
|
57
63
|
if chars_needed > max_length
|
58
64
|
# truncate title
|
@@ -60,7 +66,7 @@ module ResearchMetadataAnnouncement
|
|
60
66
|
excess_chars = chars_needed - max_length
|
61
67
|
truncated_title_length = title.size - excess_chars
|
62
68
|
truncated_title_length = 0 if truncated_title_length < 0
|
63
|
-
title = title[0..truncated_title_length -
|
69
|
+
title = title[0..truncated_title_length - 3].strip + '..'
|
64
70
|
composition -= [:title] if title.size <= 5 # give up on title if just too small
|
65
71
|
end
|
66
72
|
end
|
@@ -99,6 +105,15 @@ module ResearchMetadataAnnouncement
|
|
99
105
|
|
100
106
|
private
|
101
107
|
|
108
|
+
def remove_full_stop(str)
|
109
|
+
arr = str.split('')
|
110
|
+
if arr.pop == '.' && arr.pop != '.'
|
111
|
+
return str.chomp('.')
|
112
|
+
else
|
113
|
+
return str
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
102
117
|
def new_phrase(resource)
|
103
118
|
part_1 = 'New'
|
104
119
|
part_2 = ''
|
@@ -116,14 +131,21 @@ module ResearchMetadataAnnouncement
|
|
116
131
|
end
|
117
132
|
end
|
118
133
|
|
119
|
-
def prepare_uri
|
120
|
-
strip_uri_scheme @resource.doi if @resource && @resource.doi
|
121
|
-
end
|
122
|
-
|
123
134
|
def strip_uri_scheme(uri)
|
124
135
|
uri.sub %r{^.+//}, ''
|
125
136
|
end
|
126
137
|
|
138
|
+
def prepare_uri
|
139
|
+
uri = strip_uri_scheme @resource.doi if @resource && @resource.doi
|
140
|
+
return unless uri
|
141
|
+
resolver = 'dx.doi.org'
|
142
|
+
if uri.include? resolver
|
143
|
+
uri
|
144
|
+
else
|
145
|
+
File.join resolver, uri
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
127
149
|
def length_constrained?(max_length)
|
128
150
|
max_length && max_length > 0
|
129
151
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: research_metadata_announcement
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adrian Albin-Clark
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-01-
|
11
|
+
date: 2018-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: puree
|