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