verse 0.4.0 → 0.5.0

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: 91a9c0b0722656e5b2b160a14e68f9d228830120
4
- data.tar.gz: 9397441752523d44ac885b7e5ad4b0e8faffbead
3
+ metadata.gz: b480b85987f2de41f4570f5a0522d2acb3f7e78d
4
+ data.tar.gz: 030f669b31afcf4329a79d906d4bb630ee447ad3
5
5
  SHA512:
6
- metadata.gz: aa1fb93fb455d0d141616c0a0dd08886486331a92b5b165a3ec1852f228b89e8002fb078d9329b0c9325a758725004ebb14f74c5ba618145de9c29990b2b0519
7
- data.tar.gz: bf4deb4d61427c35aab5d4522b31003a49e1b93388e176fd19533dfe3177e618126beee94893de210b14f64b5c51555b707cb7b39b1d17dd168ead985af54c6d
6
+ metadata.gz: 1944945843174ee5c0e2c91c7698c1b1ef7ea06759c2a1cca1917740bbffc3a77dc828bcc547218c30a40a127bf64360e423563b11f379d9af65de5b93bbd8a3
7
+ data.tar.gz: 6e48975ef2b03f0aacbfddb9bb7c01da0a04c588ffb74aa2e3e8d569d9ec15bc7bc4b7ea2b9e627c675eebcc320d1a30a35831f69560f321ce30576a6fe66450
@@ -1,22 +1,24 @@
1
+ ---
1
2
  language: ruby
2
- bundler_args: --without yard benchmarks
3
+ sudo: false
4
+ cache: bundler
5
+ language: ruby
6
+ bundler_args: --without benchmarks
3
7
  script: "bundle exec rake ci"
4
8
  rvm:
5
- - 1.9.3
6
9
  - 2.0.0
7
10
  - 2.1.0
8
- - 2.2.0
11
+ - 2.2.5
12
+ - 2.3.1
13
+ - jruby-9.1.1.0
14
+ - jruby-head
9
15
  - ruby-head
10
16
  matrix:
11
- include:
12
- - rvm: jruby-19mode
13
- - rvm: jruby-20mode
14
- - rvm: jruby-21mode
15
- - rvm: jruby-head
16
- - rvm: rbx-2
17
17
  allow_failures:
18
- - rvm: ruby-head
19
18
  - rvm: jruby-head
19
+ - rvm: ruby-head
20
20
  fast_finish: true
21
21
  branches:
22
22
  only: master
23
+ notifications:
24
+ email: false
@@ -1,25 +1,59 @@
1
- 0.4.0 (Mar 28, 2015)
1
+ # Change log
2
2
 
3
+ ## [v0.5.0] - 2016-10-25
4
+
5
+ ### Added
6
+ * Add ParseError to Padder
7
+
8
+ ### Changed
9
+ * Change Sanitizer to module
10
+ * Replaces UnicodeUtils.display_width with Unicode::DisplayWidth.of by @MichaelBaker
11
+
12
+ ## [v0.4.0] - 2015-03-28
13
+
14
+ ### Added
3
15
  * Add Sanitizer#ansi? to check for ANSI codes
16
+
17
+ ### Changed
4
18
  * Change Alignment to work with ANSI codes
5
19
  * Change Truncation to work with ANSI codes
6
20
  * Change Wrapping to work with ANSI codes
7
21
  * Chnage Padding to work with ANSI codes
8
22
 
9
- 0.3.0 (Feb 28, 2015)
23
+ ## [v0.3.0] - 2015-02-28
10
24
 
25
+ ### Added
11
26
  * Add Sanitizer#replace for substitutiong linebreaks
12
27
  * Add Padder for parsing padding values
13
28
  * Add Padding for padding content around
29
+
30
+ ### Changed
14
31
  * Change Wrapping#wrap to preserve whitespace characters
15
32
 
16
- 0.2.1 (Feb 15, 2015)
33
+ ## [v0.2.1] - 2015-02-15
17
34
 
35
+ ### Fixed
18
36
  * Fix empty string alignment
19
37
  * Fix alignment to stop modifying original content
20
38
 
21
- 0.2.0 (Feb 15, 2015)
39
+ ## [v0.2.0] - 2015-02-15
22
40
 
41
+ ### Added
23
42
  * Add unicode support
43
+
44
+ ### Changed
24
45
  * Change wrap, truncate and align to work with unicode characters
46
+
47
+ ### Removed
25
48
  * Remove padding and indent from Verse::Wrapping
49
+
50
+ ## [v0.1.0] - 2015-02-07
51
+
52
+ * Inital implementation and release
53
+
54
+ [v0.5.0]: https://github.com/piotrmurach/verse/compare/v0.4.0...v0.5.0
55
+ [v0.4.0]: https://github.com/piotrmurach/verse/compare/v0.3.0...v0.4.0
56
+ [v0.3.0]: https://github.com/piotrmurach/verse/compare/v0.2.1...v0.3.0
57
+ [v0.2.1]: https://github.com/piotrmurach/verse/compare/v0.2.0...v0.2.1
58
+ [v0.2.0]: https://github.com/piotrmurach/verse/compare/v0.1.0...v0.2.0
59
+ [v0.1.0]: https://github.com/piotrmurach/verse/compare/v0.1.0
data/Gemfile CHANGED
@@ -3,13 +3,17 @@ source 'https://rubygems.org'
3
3
  gemspec
4
4
 
5
5
  group :development do
6
- gem 'rake', '~> 10.3.2'
7
- gem 'rspec', '~> 3.1.0'
6
+ gem 'rake', '~> 11.1.1'
7
+ gem 'rspec', '~> 3.5.0'
8
8
  gem 'yard', '~> 0.8.7'
9
9
  end
10
10
 
11
11
  group :metrics do
12
- gem 'coveralls', '~> 0.7.0'
13
- gem 'simplecov', '~> 0.8.2'
12
+ gem 'coveralls', '~> 0.8.2'
13
+ gem 'simplecov', '~> 0.10.0'
14
14
  gem 'yardstick', '~> 0.9.9'
15
15
  end
16
+
17
+ group :benchmarks do
18
+ gem 'benchmark-ips'
19
+ end
data/README.md CHANGED
@@ -1,15 +1,15 @@
1
1
  # Verse
2
- [![Gem Version](https://badge.fury.io/rb/verse.png)][gem]
3
- [![Build Status](https://secure.travis-ci.org/peter-murach/verse.png?branch=master)][travis]
4
- [![Code Climate](https://codeclimate.com/github/peter-murach/verse.png)][codeclimate]
5
- [![Coverage Status](https://coveralls.io/repos/peter-murach/verse/badge.png)][coverage]
6
- [![Inline docs](http://inch-ci.org/github/peter-murach/verse.png)][inchpages]
2
+ [![Gem Version](https://badge.fury.io/rb/verse.svg)][gem]
3
+ [![Build Status](https://secure.travis-ci.org/piotrmurach/verse.svg?branch=master)][travis]
4
+ [![Code Climate](https://codeclimate.com/github/piotrmurach/verse/badges/gpa.png)][codeclimate]
5
+ [![Coverage Status](https://coveralls.io/repos/piotrmurach/verse/badge.svg)][coverage]
6
+ [![Inline docs](http://inch-ci.org/github/piotrmurach/verse.svg)][inchpages]
7
7
 
8
8
  [gem]: http://badge.fury.io/rb/verse
9
- [travis]: http://travis-ci.org/peter-murach/verse
10
- [codeclimate]: https://codeclimate.com/github/peter-murach/verse
11
- [coverage]: https://coveralls.io/r/peter-murach/verse
12
- [inchpages]: http://inch-ci.org/github/peter-murach/verse
9
+ [travis]: http://travis-ci.org/piotrmurach/verse
10
+ [codeclimate]: https://codeclimate.com/github/piotrmurach/verse
11
+ [coverage]: https://coveralls.io/r/piotrmurach/verse
12
+ [inchpages]: http://inch-ci.org/github/piotrmurach/verse
13
13
 
14
14
  > Text transformations such as truncation, wrapping, aligning, indentation and grouping of words.
15
15
 
@@ -66,7 +66,7 @@ alignment = Verse::Alignment.new "for there is no folly of the beast\n" +
66
66
  Then using direction out of `:right`, `:left` or `:center` methods and passing width you can align the text:
67
67
 
68
68
  ```ruby
69
- alignemnt.align(40, :right) # =>
69
+ alignment.align(40, :right) # =>
70
70
  " for there is no folly of the beast\n" +
71
71
  " of the earth which\n" +
72
72
  " is not infinitely\n" +
@@ -245,7 +245,7 @@ Verse.wrap(text, wrap_at)
245
245
 
246
246
  ## Contributing
247
247
 
248
- 1. Fork it ( https://github.com/peter-murach/verse/fork )
248
+ 1. Fork it ( https://github.com/piotrmurach/verse/fork )
249
249
  2. Create your feature branch (`git checkout -b my-new-feature`)
250
250
  3. Commit your changes (`git commit -am 'Add some feature'`)
251
251
  4. Push to the branch (`git push origin my-new-feature`)
@@ -253,4 +253,4 @@ Verse.wrap(text, wrap_at)
253
253
 
254
254
  ## Copyright
255
255
 
256
- Copyright (c) 2015 Piotr Murach. See LICENSE for further details.
256
+ Copyright (c) 2015-2016 Piotr Murach. See LICENSE for further details.
@@ -0,0 +1,26 @@
1
+ require 'benchmark/ips'
2
+ require 'verse'
3
+
4
+ text = "Ignorance is the parent of fear."
5
+
6
+ Benchmark.ips do |x|
7
+ x.report('wrap') do
8
+ Verse::Wrapping.wrap(text, 10)
9
+ end
10
+
11
+ x.report('truncate') do
12
+ Verse::Truncation.truncate(text, 10)
13
+ end
14
+
15
+ x.compare!
16
+ end
17
+
18
+ # Warming up --------------------------------------
19
+ # wrap 178.000 i/100ms
20
+ # truncate 262.000 i/100ms
21
+ # Calculating -------------------------------------
22
+ # wrap 1.812k (± 1.9%) i/s - 9.078k in 5.010776s
23
+ # truncate 2.625k (± 1.9%) i/s - 13.362k in 5.092305s
24
+ # Comparison:
25
+ # truncate: 2624.9 i/s
26
+ # wrap: 1812.3 i/s - 1.45x slower
@@ -1,6 +1,6 @@
1
1
  # coding: utf-8
2
2
 
3
- require 'unicode_utils/display_width'
3
+ require 'unicode/display_width'
4
4
  require 'unicode_utils/each_grapheme'
5
5
 
6
6
  require 'verse/alignment'
@@ -14,7 +14,6 @@ require 'verse/version'
14
14
  module Verse
15
15
  SPACE = ' '.freeze
16
16
  NEWLINE = "\n".freeze
17
- TAB = "\n".freeze
18
17
  RESET = "\e[0m".freeze
19
18
  ANSI = "\033".freeze
20
19
 
@@ -3,7 +3,6 @@
3
3
  module Verse
4
4
  # A class responsible for text alignment
5
5
  class Alignment
6
-
7
6
  attr_reader :fill
8
7
 
9
8
  attr_reader :direction
@@ -13,7 +12,6 @@ module Verse
13
12
  # @api public
14
13
  def initialize(text, options = {})
15
14
  @text = text
16
- @sanitizer = Sanitizer.new
17
15
  @fill = options.fetch(:fill) { SPACE }
18
16
  @direction = options.fetch(:direction) { :left }
19
17
  end
@@ -82,6 +80,11 @@ module Verse
82
80
 
83
81
  protected
84
82
 
83
+ # The text to align
84
+ #
85
+ # @ api private
86
+ attr_reader :text
87
+
85
88
  # @api private
86
89
  def convert_to_method(direction)
87
90
  case direction.to_sym
@@ -89,7 +92,7 @@ module Verse
89
92
  when :right then :right_justify
90
93
  when :center then :center_justify
91
94
  else
92
- fail ArgumentError, "Unknown alignment `#{direction}`."
95
+ raise ArgumentError, "Unknown alignment `#{direction}`."
93
96
  end
94
97
  end
95
98
 
@@ -104,7 +107,7 @@ module Verse
104
107
 
105
108
  # @api private
106
109
  def left_justify(text, width, filler)
107
- width_diff = width - actual_width(text)
110
+ width_diff = width - display_width(text)
108
111
  if width_diff > 0
109
112
  text + filler * width_diff
110
113
  else
@@ -114,7 +117,7 @@ module Verse
114
117
 
115
118
  # @api private
116
119
  def right_justify(text, width, filler)
117
- width_diff = width - actual_width(text)
120
+ width_diff = width - display_width(text)
118
121
  if width_diff > 0
119
122
  filler * width_diff + text
120
123
  else
@@ -124,7 +127,7 @@ module Verse
124
127
 
125
128
  # @api private
126
129
  def center_justify(text, width, filler)
127
- text_width = actual_width(text)
130
+ text_width = display_width(text)
128
131
  width_diff = width - text_width
129
132
  if width_diff > 0
130
133
  right_count = (width_diff.to_f / 2).ceil
@@ -136,10 +139,8 @@ module Verse
136
139
  end
137
140
 
138
141
  # @api private
139
- def actual_width(text)
140
- UnicodeUtils.display_width(@sanitizer.sanitize(text))
142
+ def display_width(text)
143
+ Unicode::DisplayWidth.of(Sanitizer.sanitize(text))
141
144
  end
142
-
143
- attr_reader :text
144
145
  end # Alignment
145
146
  end # Verse
@@ -1,6 +1,8 @@
1
1
  # coding: utf-8
2
2
 
3
3
  module Verse
4
+ ParseError = Class.new(ArgumentError)
5
+
4
6
  # A class responsible for parsing padding value
5
7
  #
6
8
  # Used internally by {Verse::Padding}
@@ -55,7 +57,7 @@ module Verse
55
57
  elsif value.size == 4
56
58
  value
57
59
  else
58
- fail ArgumentError, 'Wrong :padding parameter, must be an array'
60
+ fail ParseError, 'Wrong :padding parameter, must be an array'
59
61
  end
60
62
  end
61
63
 
@@ -9,7 +9,6 @@ module Verse
9
9
  def initialize(text, options = {})
10
10
  @text = text
11
11
  @padding = Padder.parse(options[:padding])
12
- @sanitizer = Sanitizer.new
13
12
  end
14
13
 
15
14
  # Pad content out
@@ -89,7 +88,7 @@ module Verse
89
88
  end
90
89
 
91
90
  def display_width(string)
92
- UnicodeUtils.display_width(@sanitizer.sanitize(string))
91
+ Unicode::DisplayWidth.of(Sanitizer.sanitize(string))
93
92
  end
94
93
  end # Padding
95
94
  end # Verse
@@ -1,8 +1,8 @@
1
1
  # coding: utf-8
2
2
 
3
3
  module Verse
4
- class Sanitizer
5
- ANSI_MATCHER = /(\[)?\033(\[)?[;?\d]*[\dA-Za-z](\])?/.freeze
4
+ module Sanitizer
5
+ ANSI_MATCHER = /(\[)?\033(\[)?[;?\d]*[\dA-Za-z](\])?/
6
6
 
7
7
  LINE_BREAK = "(\r\n+|\r+|\n+|\t+)".freeze
8
8
 
@@ -16,6 +16,7 @@ module Verse
16
16
  def sanitize(text)
17
17
  text.gsub(ANSI_MATCHER, '')
18
18
  end
19
+ module_function :sanitize
19
20
 
20
21
  # Check if string is an ANSI code
21
22
  #
@@ -28,6 +29,7 @@ module Verse
28
29
  def ansi?(string)
29
30
  !!(string =~ /^(\[)?\033(\[)?[;?\d]*[\dA-Za-z]([\];])?$/)
30
31
  end
32
+ module_function :ansi?
31
33
 
32
34
  # Replace separator with whitespace
33
35
  #
@@ -43,9 +45,10 @@ module Verse
43
45
  #
44
46
  # @api public
45
47
  def replace(text, separator = LINE_BREAK)
46
- text.gsub(/([ ]+)#{separator}/, "\\1").
47
- gsub(/#{separator}(?<space>[ ]+)/, "\\k<space>").
48
- gsub(/#{separator}/, ' ')
48
+ text.gsub(/([ ]+)#{separator}/, "\\1")
49
+ .gsub(/#{separator}(?<space>[ ]+)/, "\\k<space>")
50
+ .gsub(/#{separator}/, ' ')
49
51
  end
52
+ module_function :replace
50
53
  end # Sanitizer
51
54
  end # Verse
@@ -5,7 +5,7 @@ module Verse
5
5
  class Truncation
6
6
  DEFAULT_TRAILING = '…'.freeze
7
7
 
8
- DEFAULT_LENGTH = 30.freeze
8
+ DEFAULT_LENGTH = 30
9
9
 
10
10
  attr_reader :separator
11
11
 
@@ -23,7 +23,6 @@ module Verse
23
23
  # @api public
24
24
  def initialize(text, options = {})
25
25
  @text = text.dup.freeze
26
- @sanitizer = Sanitizer.new
27
26
  @separator = options.fetch(:separator) { nil }
28
27
  @trailing = options.fetch(:trailing) { DEFAULT_TRAILING }
29
28
  end
@@ -63,7 +62,7 @@ module Verse
63
62
  trail = options.fetch(:trailing) { trailing }
64
63
  separation = options.fetch(:separator) { separator }
65
64
  width = display_width(text)
66
- sanitized_text = @sanitizer.sanitize(text)
65
+ sanitized_text = Sanitizer.sanitize(text)
67
66
 
68
67
  return text if width <= truncate_at
69
68
 
@@ -107,12 +106,12 @@ module Verse
107
106
 
108
107
  # @api private
109
108
  def to_chars(text)
110
- UnicodeUtils.each_grapheme(text).to_a
109
+ UnicodeUtils.each_grapheme(text)
111
110
  end
112
111
 
113
112
  # @api private
114
113
  def display_width(string)
115
- UnicodeUtils.display_width(@sanitizer.sanitize(string))
114
+ Unicode::DisplayWidth.of(Sanitizer.sanitize(string))
116
115
  end
117
116
  end # Truncation
118
117
  end # Verse
@@ -1,5 +1,5 @@
1
1
  # coding: utf-8
2
2
 
3
3
  module Verse
4
- VERSION = '0.4.0'
4
+ VERSION = '0.5.0'
5
5
  end # Verse
@@ -3,7 +3,7 @@
3
3
  module Verse
4
4
  # A class responsible for text wrapping
5
5
  class Wrapping
6
- DEFAULT_WIDTH = 80.freeze
6
+ DEFAULT_WIDTH = 80
7
7
 
8
8
  # Initialize a Wrapping
9
9
  #
@@ -15,9 +15,8 @@ module Verse
15
15
  #
16
16
  # @api public
17
17
  def initialize(text, options = {})
18
- @text = text
18
+ @text = text
19
19
  @line_width = options.fetch(:line_width) { DEFAULT_WIDTH }
20
- @sanitizer = Sanitizer.new
21
20
  end
22
21
 
23
22
  # Wrap a text into lines no longer than wrap_at
@@ -68,10 +67,10 @@ module Verse
68
67
  #
69
68
  # @api private
70
69
  def format_paragraph(paragraph, wrap_at, ansi_stack)
71
- cleared_para = @sanitizer.replace(paragraph)
70
+ cleared_para = Sanitizer.replace(paragraph)
72
71
  lines = []
73
72
  line = ''
74
- word = ''
73
+ word = ''
75
74
  word_length = 0
76
75
  line_length = 0
77
76
  char_length = 0 # visible char length
@@ -79,14 +78,14 @@ module Verse
79
78
  total_length = 0
80
79
  ansi = ''
81
80
  matched = nil
82
- UnicodeUtils.each_grapheme(cleared_para) do |char|
81
+ to_chars(cleared_para) do |char|
83
82
  if char == ANSI # found ansi
84
83
  ansi << char && next
85
84
  end
86
85
 
87
86
  if ansi.length > 0
88
87
  ansi << char
89
- if @sanitizer.ansi?(ansi) # we found ansi let's consume
88
+ if Sanitizer.ansi?(ansi) # we found ansi let's consume
90
89
  matched = ansi
91
90
  elsif matched
92
91
  ansi_stack << [matched[0...-1], line_length + word_length]
@@ -173,11 +172,20 @@ module Verse
173
172
  output
174
173
  end
175
174
 
175
+ # @api private
176
+ def to_chars(text, &block)
177
+ if block_given?
178
+ UnicodeUtils.each_grapheme(text, &block)
179
+ else
180
+ UnicodeUtils.each_grapheme(text)
181
+ end
182
+ end
183
+
176
184
  # Visible width of string
177
185
  #
178
186
  # @api private
179
187
  def display_width(string)
180
- UnicodeUtils.display_width(@sanitizer.sanitize(string))
188
+ Unicode::DisplayWidth.of(Sanitizer.sanitize(string))
181
189
  end
182
190
  end # Wrapping
183
191
  end # Verse
@@ -34,6 +34,6 @@ RSpec.describe Verse::Padder, '#parse' do
34
34
  it "fails to parse unknown value" do
35
35
  expect {
36
36
  padder.parse(:unknown)
37
- }.to raise_error
37
+ }.to raise_error(Verse::ParseError)
38
38
  end
39
39
  end
@@ -3,7 +3,7 @@
3
3
  require 'spec_helper'
4
4
 
5
5
  RSpec.describe Verse::Sanitizer, '.ansi?' do
6
- subject(:sanitizer) { described_class.new }
6
+ subject(:sanitizer) { described_class }
7
7
 
8
8
  it "checks if code is ansi" do
9
9
  expect(sanitizer.ansi?("\e[0;33m")).to eq(true)
@@ -3,7 +3,7 @@
3
3
  require 'spec_helper'
4
4
 
5
5
  RSpec.describe Verse::Sanitizer, '.replace' do
6
- subject(:sanitizer) { described_class.new }
6
+ subject(:sanitizer) { described_class }
7
7
 
8
8
  {
9
9
  " \n" => ' ',
@@ -3,7 +3,7 @@
3
3
  require 'spec_helper'
4
4
 
5
5
  RSpec.describe Verse::Sanitizer, '.sanitize' do
6
- subject(:sanitizer) { described_class.new }
6
+ subject(:sanitizer) { described_class }
7
7
 
8
8
  {
9
9
  "\e[20h" => '',
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = [""]
11
11
  spec.summary = %q{Text transformations such as truncation, wrapping, aligning, indentation and grouping of words.}
12
12
  spec.description = %q{Text transformations such as truncation, wrapping, aligning, indentation and grouping of words.}
13
- spec.homepage = "https://github.com/peter-murach/verse"
13
+ spec.homepage = "https://github.com/piotrmurach/verse"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0")
@@ -18,7 +18,8 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(spec)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_dependency 'unicode_utils', '~> 1.4.0'
21
+ spec.add_dependency 'unicode_utils', '~> 1.4.0'
22
+ spec.add_dependency 'unicode-display_width','~> 1.1.0'
22
23
 
23
24
  spec.add_development_dependency 'bundler', '~> 1.5'
24
25
  end
metadata CHANGED
@@ -1,41 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: verse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Murach
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-28 00:00:00.000000000 Z
11
+ date: 2016-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: unicode_utils
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.4.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.4.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: unicode-display_width
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 1.1.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 1.1.0
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - ~>
45
+ - - "~>"
32
46
  - !ruby/object:Gem::Version
33
47
  version: '1.5'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - ~>
52
+ - - "~>"
39
53
  - !ruby/object:Gem::Version
40
54
  version: '1.5'
41
55
  description: Text transformations such as truncation, wrapping, aligning, indentation
@@ -46,15 +60,15 @@ executables: []
46
60
  extensions: []
47
61
  extra_rdoc_files: []
48
62
  files:
49
- - .gitignore
50
- - .rspec
51
- - .ruby-version
52
- - .travis.yml
63
+ - ".gitignore"
64
+ - ".rspec"
65
+ - ".travis.yml"
53
66
  - CHANGELOG.md
54
67
  - Gemfile
55
68
  - LICENSE.txt
56
69
  - README.md
57
70
  - Rakefile
71
+ - benchmarks/speed_profile.rb
58
72
  - lib/verse.rb
59
73
  - lib/verse/alignment.rb
60
74
  - lib/verse/padder.rb
@@ -84,7 +98,7 @@ files:
84
98
  - tasks/coverage.rake
85
99
  - tasks/spec.rake
86
100
  - verse.gemspec
87
- homepage: https://github.com/peter-murach/verse
101
+ homepage: https://github.com/piotrmurach/verse
88
102
  licenses:
89
103
  - MIT
90
104
  metadata: {}
@@ -94,17 +108,17 @@ require_paths:
94
108
  - lib
95
109
  required_ruby_version: !ruby/object:Gem::Requirement
96
110
  requirements:
97
- - - '>='
111
+ - - ">="
98
112
  - !ruby/object:Gem::Version
99
113
  version: '0'
100
114
  required_rubygems_version: !ruby/object:Gem::Requirement
101
115
  requirements:
102
- - - '>='
116
+ - - ">="
103
117
  - !ruby/object:Gem::Version
104
118
  version: '0'
105
119
  requirements: []
106
120
  rubyforge_project:
107
- rubygems_version: 2.0.3
121
+ rubygems_version: 2.5.1
108
122
  signing_key:
109
123
  specification_version: 4
110
124
  summary: Text transformations such as truncation, wrapping, aligning, indentation
@@ -1 +0,0 @@
1
- 2.0.0