msgtrail 0.9.5 → 0.9.7

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
  SHA256:
3
- metadata.gz: 2b20e814763f7c87e18d49d963781d18d7520016fe813264071cbf001957443c
4
- data.tar.gz: b960e7bda415b67366027a78ca183e195f30d0a75879720e7963aaabcd86c198
3
+ metadata.gz: b961a49dbb071df9f7034df63bb555347667920387d040688afbc2579d1b32cd
4
+ data.tar.gz: 7900d15d2cf85c64903460788f264f5cee1e3d407c6c8e2c0b990fde003c4f46
5
5
  SHA512:
6
- metadata.gz: b6228df3a2905ad14e343aa7f521b8943c5b2f2a3600467099abed217a75c764167f8cbe3b5367a44a9e48741529a3b7683a83e9e519ea1398895876108ec5ef
7
- data.tar.gz: 72a56bc8be30fc848cc0c5c285b744fdd19541aa240260df1c2fbf912b35ba7ff9743ba697e6b17b43b87c854deceadd3916037b51540523875a139be95503b4
6
+ metadata.gz: d24e9122902068514ebeb33c2c5383933862c3d0f212d3210c49eaa5fec33723d94bfa8fdaa825d49863c33ce7af5ae1f7354cfe6b96714b258dc8e43290ef8d
7
+ data.tar.gz: 9e915e9fe7e75b198a290170e001edb9991a6ba52d0ee78f8503702fcef5b564652eba69dc72d11be0fd2c3e7c20df27dac60a0c339590d9bad4e08770a15f0e
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## Version 0.9.7
4
+
5
+ - Re-publish due to rubygems.org issue.
6
+
7
+ ## Version 0.9.6
8
+
9
+ - Replace internal title case code for [Nicetitle gem](https://github.com/evaneykelen/nicetitle/).
10
+
3
11
  ## Version 0.9.5
4
12
 
5
13
  - Add support for ~~strikethrough~~.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- msgtrail (0.7.0)
4
+ msgtrail (0.9.7)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -22,6 +22,7 @@ GEM
22
22
  http_parser.rb (0.6.0)
23
23
  minitest (5.11.3)
24
24
  multi_json (1.13.1)
25
+ nicetitle (1.0.1)
25
26
  public_suffix (3.0.3)
26
27
  rake (10.5.0)
27
28
  redcarpet (3.4.0)
@@ -40,6 +41,7 @@ DEPENDENCIES
40
41
  minitest (~> 5.0)
41
42
  msgtrail!
42
43
  multi_json (~> 1.13)
44
+ nicetitle (~> 1.0.1)
43
45
  rake (~> 10.0)
44
46
  redcarpet (~> 3.4)
45
47
  tilt (~> 2.0)
@@ -11,7 +11,6 @@ require 'msgtrail/markdown_file'
11
11
  require 'msgtrail/renderers'
12
12
  require 'msgtrail/site'
13
13
  require 'msgtrail/slug'
14
- require 'msgtrail/titlecase'
15
14
  require 'msgtrail/twitter'
16
15
  require 'multi_json'
17
16
  require 'ostruct'
@@ -12,7 +12,7 @@ module RenderHelper
12
12
  end
13
13
 
14
14
  def titlecase(word)
15
- Msgtrail::Titlecase.titlecase(word)
15
+ Nice.title(word)
16
16
  end
17
17
 
18
18
  def xml_safe(str)
@@ -1,3 +1,3 @@
1
1
  module Msgtrail
2
- VERSION = "0.9.5"
2
+ VERSION = "0.9.7"
3
3
  end
data/msgtrail.gemspec CHANGED
@@ -35,11 +35,12 @@ Gem::Specification.new do |spec|
35
35
  spec.require_paths = ["lib"]
36
36
 
37
37
  spec.add_development_dependency "bundler", "~> 2.0"
38
- spec.add_development_dependency "rake", "~> 10.0"
39
- spec.add_development_dependency "minitest", "~> 5.0"
40
- spec.add_development_dependency "http", "~> 4.1"
41
38
  spec.add_development_dependency "dotenv", "~> 2.7"
39
+ spec.add_development_dependency "http", "~> 4.1"
40
+ spec.add_development_dependency "minitest", "~> 5.0"
42
41
  spec.add_development_dependency "multi_json", "~> 1.13"
42
+ spec.add_development_dependency "nicetitle", "~> 1.0.1"
43
+ spec.add_development_dependency "rake", "~> 10.0"
43
44
  spec.add_development_dependency "redcarpet", "~> 3.4"
44
45
  spec.add_development_dependency "tilt", "~> 2.0"
45
46
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: msgtrail
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.5
4
+ version: 0.9.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erik van Eykelen
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-05-29 00:00:00.000000000 Z
11
+ date: 2019-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -25,19 +25,33 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
28
+ name: dotenv
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '2.7'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '2.7'
41
+ - !ruby/object:Gem::Dependency
42
+ name: http
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '4.1'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '4.1'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: minitest
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -53,47 +67,47 @@ dependencies:
53
67
  - !ruby/object:Gem::Version
54
68
  version: '5.0'
55
69
  - !ruby/object:Gem::Dependency
56
- name: http
70
+ name: multi_json
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: '4.1'
75
+ version: '1.13'
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: '4.1'
82
+ version: '1.13'
69
83
  - !ruby/object:Gem::Dependency
70
- name: dotenv
84
+ name: nicetitle
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: '2.7'
89
+ version: 1.0.1
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: '2.7'
96
+ version: 1.0.1
83
97
  - !ruby/object:Gem::Dependency
84
- name: multi_json
98
+ name: rake
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - "~>"
88
102
  - !ruby/object:Gem::Version
89
- version: '1.13'
103
+ version: '10.0'
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
108
  - - "~>"
95
109
  - !ruby/object:Gem::Version
96
- version: '1.13'
110
+ version: '10.0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: redcarpet
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -148,7 +162,6 @@ files:
148
162
  - lib/msgtrail/renderers.rb
149
163
  - lib/msgtrail/site.rb
150
164
  - lib/msgtrail/slug.rb
151
- - lib/msgtrail/titlecase.rb
152
165
  - lib/msgtrail/twitter.rb
153
166
  - lib/msgtrail/version.rb
154
167
  - msgtrail.gemspec
@@ -1,72 +0,0 @@
1
- module Msgtrail
2
- class Titlecase
3
-
4
- SMALL_WORDS = Regexp.new('\b(a(nd|n|s|t)?|b(ut|y)|en|for|i(f|n)|o(f|n|r)|t(he|o)|vs?\.?)\b').freeze
5
-
6
- def self.is_small_word?(word)
7
- SMALL_WORDS.match(word)
8
- end
9
-
10
- # "__foo" => "__Foo"
11
- def self.upcase_first_real_letter(word)
12
- word.sub(/[a-zA-Z0-9]/, &:upcase)
13
- end
14
-
15
- # step-by-step => Step-by-Step
16
- def self.upcase_word_with_dashes(word)
17
- word.split('-').map { |part| is_small_word?(part) ? part : part.capitalize }.join("-")
18
- end
19
-
20
- # before/after => Before/After
21
- def self.upcase_word_with_slashes(word)
22
- word.split('/').map(&:capitalize).join('/')
23
- end
24
-
25
- def self.titlecase(str)
26
- # Replace tabs by single space
27
- # Replace weird spaces by regular space
28
- str = (str || '').gsub(/\t/, ' ').gsub("\u{2011}", ' ').strip
29
- return if str.empty?
30
-
31
- # Downcase an all-upcase sentence
32
- str.downcase! if str.scan(/[A-Z]|\s|\W/).length == str.length
33
-
34
- # Split sentence at space boundaries
35
- word_arr = str.split(' ')
36
-
37
- # Initialize operand array
38
- operand_arr = Array.new(word_arr.size, :capitalize)
39
-
40
- word_arr.each_with_index do |word, idx|
41
- # Don't capitalize small words...
42
- # ... unless it's first word
43
- # ... unless it's last word
44
- # ... unless word is preceded by word ending with colon
45
- operand_arr[idx] = :do_not_upcase if idx != 0 && idx != word_arr.size - 1 && is_small_word?(word) && word_arr[idx - 1][-1] != ':'
46
- # Don't simply capitalize first letter if word starts with (, _, ', or "
47
- operand_arr[idx] = :upcase_later if word[0].match(/\(|_|'|"/)
48
- # Capitalize first letter and letters preceded by -
49
- operand_arr[idx] = :upcase_dashed if word.count('-') > 0
50
- # Capitalize letters preceded by / inside word
51
- operand_arr[idx] = :upcase_slashed if word[1..].count('/') > 0
52
- # Don't capitalize word if it starts with /
53
- operand_arr[idx] = :do_not_upcase if word[0] == '/'
54
- # Don't capitalize URLs
55
- operand_arr[idx] = :do_not_upcase if word.match(/https?:\/\//i)
56
- # Don't capitalize words containing capitals besides first letter
57
- # Don't capitalize words containing dots inside word
58
- operand_arr[idx] = :do_not_upcase if word[1..].match(/[A-Z]/) || word[1..-3].match(/\.|&/)
59
- end
60
-
61
- word_arr.each_with_index do |word, idx|
62
- word_arr[idx] = upcase_first_real_letter(word) if operand_arr[idx] == :upcase_later
63
- word_arr[idx] = upcase_word_with_dashes(word) if operand_arr[idx] == :upcase_dashed
64
- word_arr[idx] = upcase_word_with_slashes(word) if operand_arr[idx] == :upcase_slashed
65
- word_arr[idx] = word.capitalize if operand_arr[idx] == :capitalize
66
- end
67
-
68
- word_arr.join(' ')
69
- end
70
-
71
- end
72
- end