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 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