ChunkyText 0.0.1 → 0.0.2
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/ChunkyText-0.0.1.gem +0 -0
- data/ChunkyText.gemspec +1 -1
- data/lib/ChunkyText/chunker.rb +24 -18
- data/lib/ChunkyText/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 491751797404fbf89fd57a908084dfd07c07ca40
|
4
|
+
data.tar.gz: 93fbb2e831ed4f4a5b3b9c32db592466cd367133
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: be92f5171bb05a232142743dde631e63052c508e6213135368c6e417b880d55c6114390b235d90a0f7f0db327ab31108456f5fd7b60166ea39c86d04963281c2
|
7
|
+
data.tar.gz: 14242f1502ade16e1c751994f7cc42bd69a929d1e64e260c415a9f7e025822be8f533b0814a78cd3c0d30fa3eb68943087c0f8091c03e1a3ccfca0c95222e35b
|
Binary file
|
data/ChunkyText.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.email = ["dstein-phins@hotmail.com"]
|
10
10
|
spec.summary = %q{ Break up a long string of text into smaller strings for Twitter }
|
11
11
|
spec.description = %q{ Break up a long string of text into nicely formated 140 character strings for Twitter and keping links and punctuation intact. }
|
12
|
-
spec.homepage = ""
|
12
|
+
spec.homepage = "https://github.com/ZestySalsa/ChunkyText"
|
13
13
|
spec.license = "MIT"
|
14
14
|
|
15
15
|
spec.files = `git ls-files -z`.split("\x0")
|
data/lib/ChunkyText/chunker.rb
CHANGED
@@ -1,19 +1,22 @@
|
|
1
1
|
module ChunkyText
|
2
2
|
class Chunker
|
3
|
+
|
4
|
+
PREPEND_COUNT = 6
|
3
5
|
|
4
|
-
attr_reader :max_length, :chunk_array, :get_chunk
|
6
|
+
attr_reader :max_length, :chunk_array, :get_chunk, :elipse
|
5
7
|
attr_accessor :string
|
6
8
|
|
7
|
-
def initialize(string, max_length)
|
9
|
+
def initialize(string, max_length, elipse = "(...)")
|
8
10
|
@string = string
|
9
|
-
@
|
11
|
+
@elipse = elipse
|
12
|
+
@max_length = max_length - elipse.length - 1
|
10
13
|
end
|
11
14
|
|
12
|
-
def get_chunk(input_string)
|
13
|
-
smaller_string = input_string.slice(0,max_length)
|
15
|
+
def get_chunk(input_string)
|
16
|
+
smaller_string = input_string.slice(0,max_length - PREPEND_COUNT)
|
14
17
|
|
15
|
-
if
|
16
|
-
smaller_string.slice(0,
|
18
|
+
if last_space(smaller_string)
|
19
|
+
smaller_string.slice(0,last_space(smaller_string) + 1)
|
17
20
|
else
|
18
21
|
smaller_string
|
19
22
|
end
|
@@ -23,23 +26,26 @@ module ChunkyText
|
|
23
26
|
input_string = string.clone
|
24
27
|
array = []
|
25
28
|
while input_string.length > 0 do
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
+
if input_string.length > max_length - PREPEND_COUNT
|
30
|
+
chunk = get_chunk(input_string)
|
31
|
+
array << chunk + ' ' + elipse
|
32
|
+
input_string.slice!(0..chunk.length - 1)
|
33
|
+
else
|
34
|
+
array << input_string
|
35
|
+
break
|
36
|
+
end
|
29
37
|
end
|
30
38
|
input_string = string.clone
|
31
|
-
|
39
|
+
|
40
|
+
array.map!.with_index do |chunk, i|
|
41
|
+
"(#{i + 1}/#{array.count}) " + chunk
|
42
|
+
end
|
32
43
|
end
|
33
44
|
|
34
45
|
private
|
35
46
|
|
36
|
-
def
|
37
|
-
|
38
|
-
['!','?','.'].each do |p_mark|
|
39
|
-
punctuation_mark_positions << string.rindex(p_mark)
|
40
|
-
end
|
41
|
-
punctuation_mark_positions.reject! { |item| item == nil }
|
42
|
-
punctuation_mark_positions.max
|
47
|
+
def last_space(string)
|
48
|
+
position = string.rindex /\s/
|
43
49
|
end
|
44
50
|
end
|
45
51
|
end
|
data/lib/ChunkyText/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ChunkyText
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Doug Steinberg
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-02-
|
12
|
+
date: 2015-02-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -163,6 +163,7 @@ files:
|
|
163
163
|
- ".gitignore"
|
164
164
|
- ".rspec"
|
165
165
|
- ".travis.yml"
|
166
|
+
- ChunkyText-0.0.1.gem
|
166
167
|
- ChunkyText.gemspec
|
167
168
|
- Gemfile
|
168
169
|
- Guardfile
|
@@ -174,7 +175,7 @@ files:
|
|
174
175
|
- lib/ChunkyText/version.rb
|
175
176
|
- spec/models/chunker_spec.rb
|
176
177
|
- spec/spec_helper.rb
|
177
|
-
homepage:
|
178
|
+
homepage: https://github.com/ZestySalsa/ChunkyText
|
178
179
|
licenses:
|
179
180
|
- MIT
|
180
181
|
metadata: {}
|