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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b4e9c9fd7ba55dbdb831bf9fc25fc4c6df3785ba
4
- data.tar.gz: 280d4111796b2ea9ad96b72076891027608bbac2
3
+ metadata.gz: bf0c1c8fc3b0e8d58f989fc77575708349146f54
4
+ data.tar.gz: 8ee85200f2fc1bfc3d16742a1c97ac9e75183e2b
5
5
  SHA512:
6
- metadata.gz: 0599597e515308ad7183fddb3d59791fd596c25c5d02bb9dc1c2ec0487241618f957f72765bab6cf4dd293919b4eb77f40ae22913c844e763ee461f4f46cac00
7
- data.tar.gz: 4ff2e913fb3b5621226d36b5c429be46fde5e3491df8dc275df97a8fe90ef09b71b5b02bbe0c9a6422898de5a0f45ba9fb584aa1f636479659fe83c6a07ef196
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 - 2].strip + '..'
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
@@ -1,5 +1,5 @@
1
1
  module ResearchMetadataAnnouncement
2
2
  # Semantic version number
3
3
  #
4
- VERSION = "0.5.0"
4
+ VERSION = "0.5.1"
5
5
  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.0
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 00:00:00.000000000 Z
11
+ date: 2018-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: puree