hirb-unicode-steakknife 0.0.6
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 +7 -0
- checksums.yaml.gz.sig +3 -0
- data/.gitignore +4 -0
- data/.travis.yml +7 -0
- data/Gemfile +4 -0
- data/MIT-LICENSE +19 -0
- data/README.md +42 -0
- data/Rakefile +25 -0
- data/gem-public_cert.pem +32 -0
- data/hirb-unicode-steakknife.gemspec +29 -0
- data/lib/hirb/unicode/string_util.rb +39 -0
- data/lib/hirb/unicode/version.rb +5 -0
- data/lib/hirb/unicode.rb +4 -0
- data/lib/hirb-unicode.rb +1 -0
- data/test/string_test.rb +51 -0
- data/test/test_helper.rb +63 -0
- data.tar.gz.sig +6 -0
- metadata +199 -0
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 0bbeefa80aed8dd52fa1b15b7c734c1c789b41ac
|
4
|
+
data.tar.gz: 73f45e5a697624f203aee3f43d35d6e16dbc2699
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6c6ec938cc2d82d1d8f4c2698e4ad1ab1b068552dc9e88640fa29153289dfd799565833167f9e51c6e74a6dee5395be6f43ca0118e3287baa633bb2e0328df8d
|
7
|
+
data.tar.gz: e6711bdf6d8cd1142d1710a4ef71345ef7712445022c734629c3405e3e49ee0c50bb6d346fc0c13331b4b4533e404e0b5903d58797128e8401ae273a72a32207
|
checksums.yaml.gz.sig
ADDED
@@ -0,0 +1,3 @@
|
|
1
|
+
�����}�U���;���a�����^i�*�����A�ig�OѴ���'2��!�Qvm�&C�BG�P�2ٓ-�/f�Ρ)Y%�xﻉ������]Cw<�g�C�&��btS��C�i���j��fQ�o�gr�YJ�� >���U+>Ļ�c!�K�"��z�
|
2
|
+
�����Oy�eP����1�v�6�<�YT-DgvRc�Z�?;:�E8��URs,�&%z��{�;1/ȴx�9`�v��Г�R��P|b��J�c@&��R�R��Q����J�#!*R��5�?��*C�0��7=��5��(
|
3
|
+
LQ���!�+�#_N�è�-���D��ڂ��L��[L�8<���l&1����N*L<�8�;'�:���J�;�ø�.!�_S;�{�z~�ek�`;����P8S7���(y��
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/MIT-LICENSE
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
Copyright (C) 2011 by BigCat a.k.a. miaout17 (miaout17 at gmail dot com)
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
5
|
+
in the Software without restriction, including without limitation the rights
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
8
|
+
furnished to do so, subject to the following conditions:
|
9
|
+
|
10
|
+
The above copyright notice and this permission notice shall be included in
|
11
|
+
all copies or substantial portions of the Software.
|
12
|
+
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
# Hirb-unicode
|
2
|
+
`hirb-unicode` fixes the problem that [full-width unicode characters](http://en.wikipedia.org/wiki/Fullwidth_form#Fullwidth_form) is aligned incorrectly.
|
3
|
+
|
4
|
+
In the original `hirb` unicode gem, the full-width character will be misaligned:
|
5
|
+
|
6
|
+

|
7
|
+
|
8
|
+
With `hirb-unicode-steakknife`, the cells is correctly aligned:
|
9
|
+
|
10
|
+

|
11
|
+
|
12
|
+
## Installation
|
13
|
+
|
14
|
+
gem install hirb-unicode-steakknife
|
15
|
+
|
16
|
+
## Usage
|
17
|
+
|
18
|
+
This will load `hirb` and `hirb-unicode-steakknife`, and fix the unicode problem automtically:
|
19
|
+
|
20
|
+
gem 'hirb-unicode-steakknife'
|
21
|
+
require 'hirb-unicode-steakknife'
|
22
|
+
|
23
|
+
If you are using `bundler` (ex. Rails 3), add `hirb-unicode-steakknife` into your gemfile:
|
24
|
+
|
25
|
+
gem 'hirb-unicode-steakknife'
|
26
|
+
|
27
|
+
And run `require 'hirb-unicode-steakknife'` in your irb console or `.irbrc`
|
28
|
+
|
29
|
+
## Dependency
|
30
|
+
|
31
|
+
`hirb-unicode-steakknife` uses `unicode-display_width` gem to calculate width of unicode characters.
|
32
|
+
|
33
|
+
## Testing
|
34
|
+
|
35
|
+
* `rake test:hirb` loads `hirb` and `hirb-unicode-steakknife`, run all test of original `hirb` gem. This ensures the original `hirb` functionality is not broken.
|
36
|
+
* `rake test:unicode` tests functions about unicode string processing.
|
37
|
+
* `rake test` run both two tests above.
|
38
|
+
|
39
|
+
## License
|
40
|
+
|
41
|
+
Read MIT-LICENSE file for details.
|
42
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'bundler'
|
2
|
+
Bundler.setup
|
3
|
+
Bundler::GemHelper.install_tasks
|
4
|
+
|
5
|
+
namespace :test do
|
6
|
+
desc 'Run tests of hirb gem with hirb-unicode'
|
7
|
+
task :hirb do |t|
|
8
|
+
gem 'hirb' # Load hirb specified in gemfile
|
9
|
+
hirb_gem_path = Gem.loaded_specs["hirb"].full_gem_path
|
10
|
+
test_path = File.expand_path(File.join(hirb_gem_path, 'test', '*_test.rb'))
|
11
|
+
sh "bundle exec bacon -q hirb-unicode.rb #{test_path}"
|
12
|
+
end
|
13
|
+
|
14
|
+
desc 'Run tests of hirb-unicode gem'
|
15
|
+
task :unicode do |t|
|
16
|
+
sh 'bundle exec bacon -I. -q test/*_test.rb'
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
desc 'Run all tests'
|
22
|
+
task :test => ["test:hirb", "test:unicode"]
|
23
|
+
|
24
|
+
task :default => :test
|
25
|
+
|
data/gem-public_cert.pem
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
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
|
31
|
+
t/HWh1yhriCUe/y8+De8M87btOs=
|
32
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "hirb/unicode/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "hirb-unicode-steakknife"
|
7
|
+
s.version = Hirb::Unicode::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["steakknife", "miaout17"]
|
10
|
+
s.email = ["barry.allard@gmail.com", "miaout17 at gmail dot com"]
|
11
|
+
s.homepage = ""
|
12
|
+
s.summary = %q{Unicode support for hirb}
|
13
|
+
s.description = %q{Unicode support for hirb}
|
14
|
+
|
15
|
+
s.add_dependency 'hirb', '~> 0.5'
|
16
|
+
s.add_dependency 'unicode-display_width', '>= 0.2.0', '< 1.0'
|
17
|
+
# Use the same test utility as `hirb`
|
18
|
+
s.add_development_dependency 'bacon', '>= 1.1.0'
|
19
|
+
s.add_development_dependency 'mocha'
|
20
|
+
s.add_development_dependency 'mocha-on-bacon'
|
21
|
+
s.add_development_dependency 'bacon-bits'
|
22
|
+
s.add_development_dependency 'rake'
|
23
|
+
|
24
|
+
s.files = `git ls-files`.split("\n")
|
25
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
26
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
27
|
+
s.require_paths = ["lib"]
|
28
|
+
end
|
29
|
+
.tap {|gem| pk = File.expand_path(File.join('~/.keys', 'gem-private_key.pem')); gem.signing_key = pk if File.exist? pk; gem.cert_chain = ['gem-public_cert.pem']} # pressed firmly by waxseal
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Hirb
|
2
|
+
module Unicode
|
3
|
+
module StringUtil
|
4
|
+
def size(string)
|
5
|
+
string.display_width
|
6
|
+
end
|
7
|
+
|
8
|
+
def slice(string, offset, width)
|
9
|
+
chars = string.chars.to_a[offset..-1].to_a
|
10
|
+
|
11
|
+
current_length = 0
|
12
|
+
split_index = 0
|
13
|
+
chars.each_with_index do |c, i|
|
14
|
+
char_width = self.size(c)
|
15
|
+
break if current_length + char_width > width
|
16
|
+
split_index = i+1
|
17
|
+
current_length += char_width
|
18
|
+
end
|
19
|
+
|
20
|
+
split_index ||= chars.count
|
21
|
+
head = chars[0, split_index].join
|
22
|
+
head
|
23
|
+
end
|
24
|
+
|
25
|
+
def ljust(string, desired_width)
|
26
|
+
leftover = desired_width - size(string)
|
27
|
+
leftover > 0 ? string + " " * leftover : string
|
28
|
+
end
|
29
|
+
|
30
|
+
def rjust(string, desired_width)
|
31
|
+
leftover = desired_width - size(string)
|
32
|
+
leftover > 0 ? " " * leftover + string : string
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
Hirb::String.extend(Hirb::Unicode::StringUtil)
|
data/lib/hirb/unicode.rb
ADDED
data/lib/hirb-unicode.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'hirb/unicode'
|
data/test/string_test.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
require File.join(File.dirname(__FILE__), 'test_helper')
|
3
|
+
|
4
|
+
describe "String" do
|
5
|
+
|
6
|
+
describe ".size returns correct width" do
|
7
|
+
it "given non-unicode string" do
|
8
|
+
Hirb::String.size("Hello, world.").should == 13
|
9
|
+
end
|
10
|
+
it "given unicode string" do
|
11
|
+
Hirb::String.size("鄉民您好").should == 8
|
12
|
+
Hirb::String.size("こんにちは").should == 10
|
13
|
+
Hirb::String.size("中英夾雜yoo").should == 11
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe ".ljust returns justified string" do
|
18
|
+
it "given non-unicode string" do
|
19
|
+
Hirb::String.ljust("Hello, world.", 15).should == "Hello, world. "
|
20
|
+
Hirb::String.ljust("Hello, world.", 5).should == "Hello, world."
|
21
|
+
end
|
22
|
+
it "given unicode string" do
|
23
|
+
Hirb::String.ljust("還我牛", 9).should == "還我牛 "
|
24
|
+
Hirb::String.ljust("維大利", 5).should == "維大利"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe ".rjust returns justified string" do
|
29
|
+
it "given non-unicode string" do
|
30
|
+
Hirb::String.rjust("Hello, world.", 15).should == " Hello, world."
|
31
|
+
Hirb::String.rjust("Hello, world.", 1).should == "Hello, world."
|
32
|
+
end
|
33
|
+
it "given unicode string" do
|
34
|
+
Hirb::String.rjust("恭喜發財", 13).should == " 恭喜發財"
|
35
|
+
Hirb::String.rjust("紅包拿來", 1).should == "紅包拿來"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe ".slice returns sliced string" do
|
40
|
+
it "given non-unicode string" do
|
41
|
+
Hirb::String.slice("Hello, world.", 0, 10).should == "Hello, wor"
|
42
|
+
end
|
43
|
+
it "given unicode string that could exactly match the length" do
|
44
|
+
Hirb::String.slice("三民主義五權憲法", 0, 8).should == "三民主義"
|
45
|
+
end
|
46
|
+
it "given unicode string that couldn't exactly match the length" do
|
47
|
+
Hirb::String.slice("六合彩大樂透", 0, 5).should == "六合"
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'bacon'
|
2
|
+
require 'bacon/bits'
|
3
|
+
require 'mocha'
|
4
|
+
require 'mocha-on-bacon'
|
5
|
+
require 'hirb'
|
6
|
+
require 'hirb-unicode'
|
7
|
+
|
8
|
+
include Hirb
|
9
|
+
|
10
|
+
module TestHelpers
|
11
|
+
# set these to avoid invoking stty multiple times which doubles test suite running time
|
12
|
+
ENV["LINES"] = ENV["COLUMNS"] = "20"
|
13
|
+
def reset_terminal_size
|
14
|
+
ENV["LINES"] = ENV["COLUMNS"] = "20"
|
15
|
+
end
|
16
|
+
|
17
|
+
def capture_stdout(&block)
|
18
|
+
original_stdout = $stdout
|
19
|
+
$stdout = fake = StringIO.new
|
20
|
+
begin
|
21
|
+
yield
|
22
|
+
ensure
|
23
|
+
$stdout = original_stdout
|
24
|
+
end
|
25
|
+
fake.string
|
26
|
+
end
|
27
|
+
|
28
|
+
def capture_stderr(&block)
|
29
|
+
original_stderr = $stderr
|
30
|
+
$stderr = fake = StringIO.new
|
31
|
+
begin
|
32
|
+
yield
|
33
|
+
ensure
|
34
|
+
$stderr = original_stderr
|
35
|
+
end
|
36
|
+
fake.string
|
37
|
+
end
|
38
|
+
|
39
|
+
def reset_config
|
40
|
+
View.instance_eval "@config = nil"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
class Bacon::Context
|
45
|
+
include TestHelpers
|
46
|
+
end
|
47
|
+
|
48
|
+
class String
|
49
|
+
def unindent(num=nil)
|
50
|
+
regex = num ? /^\s{#{num}}/ : /^\s*/
|
51
|
+
gsub(regex, '').chomp
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
# mocks IRB for View + Pager
|
56
|
+
module ::IRB
|
57
|
+
class Irb
|
58
|
+
def initialize(context)
|
59
|
+
@context = context
|
60
|
+
end
|
61
|
+
def output_value; end
|
62
|
+
end
|
63
|
+
end
|
data.tar.gz.sig
ADDED
@@ -0,0 +1,6 @@
|
|
1
|
+
bn(o��Iz��JvNal��L�c$w���w܃Oo�F7�(�Dvg�|�5�g���S1�v��8읛qi^7N�.߈
|
2
|
+
��]�1W�w_(��}]�8�t;w�M%Q�%���۟7�đ4�JSi��]?��?��9K���� PpK��<�E�|�=/Z¢0��< ��1L]�����{GL�&v��ۛ���J�FNh� }��q�gx�AM��]�
|
3
|
+
i#�O� ��"�!�[?�
|
4
|
+
&|lD����������M�b��^<�a�QIe��8#è�Xa��A|�Lm���
|
5
|
+
͕I�6�w�����n�\���j����c�Q�B@�'�%E�*����W_����9�2};�i$-|u�p�)�kyگ�u.���c����
|
6
|
+
��� ����D�g��Ͷ��\�:�ܜ��1�B���]pˤq��)�=7ΖSkb����]�W� V礔�;y�S���O@d���!WY}R�)���ΞE�����[u�'�9@n��1�@���)�Hn
|
metadata
ADDED
@@ -0,0 +1,199 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: hirb-unicode-steakknife
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.6
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- steakknife
|
8
|
+
- miaout17
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain:
|
12
|
+
- |
|
13
|
+
-----BEGIN CERTIFICATE-----
|
14
|
+
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
|
43
|
+
t/HWh1yhriCUe/y8+De8M87btOs=
|
44
|
+
-----END CERTIFICATE-----
|
45
|
+
date: 2015-04-29 00:00:00.000000000 Z
|
46
|
+
dependencies:
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: hirb
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0.5'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0.5'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: unicode-display_width
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 0.2.0
|
68
|
+
- - "<"
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '1.0'
|
71
|
+
type: :runtime
|
72
|
+
prerelease: false
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.2.0
|
78
|
+
- - "<"
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '1.0'
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: bacon
|
83
|
+
requirement: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - ">="
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: 1.1.0
|
88
|
+
type: :development
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: 1.1.0
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: mocha
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '0'
|
109
|
+
- !ruby/object:Gem::Dependency
|
110
|
+
name: mocha-on-bacon
|
111
|
+
requirement: !ruby/object:Gem::Requirement
|
112
|
+
requirements:
|
113
|
+
- - ">="
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: '0'
|
116
|
+
type: :development
|
117
|
+
prerelease: false
|
118
|
+
version_requirements: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - ">="
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '0'
|
123
|
+
- !ruby/object:Gem::Dependency
|
124
|
+
name: bacon-bits
|
125
|
+
requirement: !ruby/object:Gem::Requirement
|
126
|
+
requirements:
|
127
|
+
- - ">="
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: '0'
|
130
|
+
type: :development
|
131
|
+
prerelease: false
|
132
|
+
version_requirements: !ruby/object:Gem::Requirement
|
133
|
+
requirements:
|
134
|
+
- - ">="
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '0'
|
137
|
+
- !ruby/object:Gem::Dependency
|
138
|
+
name: rake
|
139
|
+
requirement: !ruby/object:Gem::Requirement
|
140
|
+
requirements:
|
141
|
+
- - ">="
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '0'
|
144
|
+
type: :development
|
145
|
+
prerelease: false
|
146
|
+
version_requirements: !ruby/object:Gem::Requirement
|
147
|
+
requirements:
|
148
|
+
- - ">="
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '0'
|
151
|
+
description: Unicode support for hirb
|
152
|
+
email:
|
153
|
+
- barry.allard@gmail.com
|
154
|
+
- miaout17 at gmail dot com
|
155
|
+
executables: []
|
156
|
+
extensions: []
|
157
|
+
extra_rdoc_files: []
|
158
|
+
files:
|
159
|
+
- ".gitignore"
|
160
|
+
- ".travis.yml"
|
161
|
+
- Gemfile
|
162
|
+
- MIT-LICENSE
|
163
|
+
- README.md
|
164
|
+
- Rakefile
|
165
|
+
- gem-public_cert.pem
|
166
|
+
- hirb-unicode-steakknife.gemspec
|
167
|
+
- lib/hirb-unicode.rb
|
168
|
+
- lib/hirb/unicode.rb
|
169
|
+
- lib/hirb/unicode/string_util.rb
|
170
|
+
- lib/hirb/unicode/version.rb
|
171
|
+
- test/string_test.rb
|
172
|
+
- test/test_helper.rb
|
173
|
+
homepage: ''
|
174
|
+
licenses: []
|
175
|
+
metadata: {}
|
176
|
+
post_install_message:
|
177
|
+
rdoc_options: []
|
178
|
+
require_paths:
|
179
|
+
- lib
|
180
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
181
|
+
requirements:
|
182
|
+
- - ">="
|
183
|
+
- !ruby/object:Gem::Version
|
184
|
+
version: '0'
|
185
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
186
|
+
requirements:
|
187
|
+
- - ">="
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '0'
|
190
|
+
requirements: []
|
191
|
+
rubyforge_project:
|
192
|
+
rubygems_version: 2.4.5
|
193
|
+
signing_key:
|
194
|
+
specification_version: 4
|
195
|
+
summary: Unicode support for hirb
|
196
|
+
test_files:
|
197
|
+
- test/string_test.rb
|
198
|
+
- test/test_helper.rb
|
199
|
+
has_rdoc:
|
metadata.gz.sig
ADDED
Binary file
|