msgtrail 0.9.5 → 0.9.7
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 +8 -0
- data/Gemfile.lock +3 -1
- data/lib/msgtrail/publish.rb +0 -1
- data/lib/msgtrail/renderers.rb +1 -1
- data/lib/msgtrail/version.rb +1 -1
- data/msgtrail.gemspec +4 -3
- metadata +28 -15
- data/lib/msgtrail/titlecase.rb +0 -72
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b961a49dbb071df9f7034df63bb555347667920387d040688afbc2579d1b32cd
|
|
4
|
+
data.tar.gz: 7900d15d2cf85c64903460788f264f5cee1e3d407c6c8e2c0b990fde003c4f46
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
|
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)
|
data/lib/msgtrail/publish.rb
CHANGED
data/lib/msgtrail/renderers.rb
CHANGED
data/lib/msgtrail/version.rb
CHANGED
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.
|
|
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-
|
|
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:
|
|
28
|
+
name: dotenv
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
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: '
|
|
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:
|
|
70
|
+
name: multi_json
|
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
|
58
72
|
requirements:
|
|
59
73
|
- - "~>"
|
|
60
74
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
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: '
|
|
82
|
+
version: '1.13'
|
|
69
83
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
84
|
+
name: nicetitle
|
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
|
72
86
|
requirements:
|
|
73
87
|
- - "~>"
|
|
74
88
|
- !ruby/object:Gem::Version
|
|
75
|
-
version:
|
|
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:
|
|
96
|
+
version: 1.0.1
|
|
83
97
|
- !ruby/object:Gem::Dependency
|
|
84
|
-
name:
|
|
98
|
+
name: rake
|
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
|
86
100
|
requirements:
|
|
87
101
|
- - "~>"
|
|
88
102
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '
|
|
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: '
|
|
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
|
data/lib/msgtrail/titlecase.rb
DELETED
|
@@ -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
|