strings-ansi 0.1.0 → 0.2.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
  SHA256:
3
- metadata.gz: 540eea845a26f994ba09c899527626924af8e093fa4a34732ad55cb1b58bb931
4
- data.tar.gz: ad0d1580f3242d77f7a6629ae8d890658aa8d151d5ee3350296a531e623213c8
3
+ metadata.gz: a966ca7d6455dbc43c9e2c93124304c5ae31c0b1b26dfe9e6f469bda773f25d6
4
+ data.tar.gz: a39fc8ed1d904fc3dfcca887a5a24e27daae0a9e97b3d8aad487768261444898
5
5
  SHA512:
6
- metadata.gz: c0cdd5660042a10533cefea4fa776007219ac46671c62128f9e922697087a088e56aed1d6d7bcc0fbff01e09dd239c97230368bb8d043b2dd1ce6843acbe5469
7
- data.tar.gz: d4818de6992115b1a0a56680dc681d7783fb4824ebe078992d9a11c26910d1ee0ddc28c5d35c9d01b461e3f57635037c09610e539aaa01ce63c649361faf0a96
6
+ metadata.gz: 61de476ad781d4e08d90a76486c1b696672693a5087fb691008c6203e4bc59da0df8542d7fb034bafb911b904bf998e773c98be2fc366f9560f50ceb3e7eb07b
7
+ data.tar.gz: 526b28d9c1b4a85230bc30f20a954cf992f00e701cdc7b399bb6095f45459ac86f358cfb85ade8a5d2930b673750d90913dae063e21834b32a889f09c8f7228c
@@ -1,7 +1,15 @@
1
1
  # Change log
2
2
 
3
+ ## [v0.2.0] - 2019-11-12
4
+
5
+ ### Change
6
+ * Change gemspec to include metadata
7
+ * Change gemspec to limit Ruby version to >= 2.0
8
+ * Change gemspec to relax dev dependency of bundler version
9
+
3
10
  ## [v0.1.0] - 2018-08-27
4
11
 
5
- * Inital implementation and release
12
+ * Initial implementation and release
6
13
 
14
+ [v0.2.0]: https://github.com/piotrmurach/strings-ansi/compare/v0.1.0...v0.2.0
7
15
  [v0.1.0]: https://github.com/piotrmurach/strings-ansi/compare/v0.1.0
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  <div align="center">
2
- <img width="225" src="https://cdn.rawgit.com/piotrmurach/strings/master/assets/strings_logo.png" alt="strings logo" />
2
+ <img width="225" src="https://github.com/piotrmurach/strings/blob/master/assets/strings_logo.png" alt="strings logo" />
3
3
  </div>
4
4
 
5
5
  # Strings::ANSI
@@ -20,7 +20,7 @@
20
20
 
21
21
  > Handle ANSI escape codes in strings.
22
22
 
23
- **Strings::ANSI** provides ANSI handling for [Strings](https://github.com/piotrmurach/strings) utilities.
23
+ **Strings::ANSI** provides ANSI handling component for [Strings](https://github.com/piotrmurach/strings).
24
24
 
25
25
  ## Installation
26
26
 
@@ -49,10 +49,25 @@ Or install it yourself as:
49
49
 
50
50
  ## Usage
51
51
 
52
- The `Strings::ANSI` is a module with functions that can be called directly.
52
+ The `Strings::ANSI` is a module that can check if a string has ANSI escape codes:
53
53
 
54
54
  ```ruby
55
- Strings::ANSI.ansi?('...')
55
+ Strings::ANSI.ansi?("\e[32mHello\e[0m")
56
+ # => true
57
+ ```
58
+
59
+ It can also check if a string consists of only ANSI codes:
60
+
61
+ ```ruby
62
+ Strings::ANSI.only_ansi?("\e[32mHello\e[0m")
63
+ # => false
64
+ ```
65
+
66
+ Finally, you can remove any ANSI codes from a string:
67
+
68
+ ```ruby
69
+ Strings::ANSI.sanitize("\e[32mHello\e[0m")
70
+ # => "Hello"
56
71
  ```
57
72
 
58
73
  ## 2. API
@@ -86,7 +101,7 @@ Strings::ANSI.sanitize("\e[0;33;49mHello\e[0m")
86
101
 
87
102
  ## 3. Extending String class
88
103
 
89
- Though it is highly discouraged to polute core Ruby classes, you can add the required methods to `String` class by using refinements.
104
+ Though it is highly discouraged to pollute core Ruby classes, you can add the required methods to `String` class by using refinements.
90
105
 
91
106
  For example, if you wish to only extend strings with `sanitize` method do:
92
107
 
@@ -100,7 +115,7 @@ module MyStringExt
100
115
  end
101
116
  ```
102
117
 
103
- then `sanitize` method will be available for any strings where refinement is applied:
118
+ This will make `sanitize` method available for any strings where refinement is applied:
104
119
 
105
120
  ```ruby
106
121
  using MyStringExt
@@ -133,7 +148,7 @@ The gem is available as open source under the terms of the [MIT License](https:/
133
148
 
134
149
  ## Code of Conduct
135
150
 
136
- Everyone interacting in the Strings::Ansi project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/piotrmurach/strings-ansi/blob/master/CODE_OF_CONDUCT.md).
151
+ Everyone interacting in the Strings::ANSI project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/piotrmurach/strings-ansi/blob/master/CODE_OF_CONDUCT.md).
137
152
 
138
153
  ## Copyright
139
154
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Strings
4
4
  module ANSI
5
- VERSION = "0.1.0"
5
+ VERSION = "0.2.0"
6
6
  end # ANSI
7
7
  end # Strings
@@ -1,11 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  if ENV['COVERAGE'] || ENV['TRAVIS']
2
4
  require 'simplecov'
3
5
  require 'coveralls'
4
6
 
5
- SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
7
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
6
8
  SimpleCov::Formatter::HTMLFormatter,
7
9
  Coveralls::SimpleCov::Formatter
8
- ]
10
+ ])
9
11
 
10
12
  SimpleCov.start do
11
13
  command_name 'spec'
@@ -14,7 +16,7 @@ if ENV['COVERAGE'] || ENV['TRAVIS']
14
16
  end
15
17
 
16
18
  require "bundler/setup"
17
- require "strings/ansi"
19
+ require "strings-ansi"
18
20
 
19
21
  RSpec.configure do |config|
20
22
  # Enable flags like --only-failures and --next-failure
@@ -12,7 +12,7 @@ RSpec.describe Strings::ANSI, '#sanitize' do
12
12
  "\eA" => '',
13
13
  "\e[0;33;49;3;9;4m\e[0m" => ''
14
14
  }.each do |code, expected|
15
- it "remove #{code.inspect} from string" do
15
+ it "removes #{code.inspect} from string" do
16
16
  expect(Strings::ANSI.sanitize(code)).to eq(expected)
17
17
  end
18
18
  end
@@ -1,4 +1,3 @@
1
-
2
1
  lib = File.expand_path("../lib", __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require "strings/ansi/version"
@@ -7,19 +6,29 @@ Gem::Specification.new do |spec|
7
6
  spec.name = "strings-ansi"
8
7
  spec.version = Strings::ANSI::VERSION
9
8
  spec.authors = ["Piotr Murach"]
10
- spec.email = [""]
9
+ spec.email = ["me@piotrmurach.com"]
11
10
 
12
11
  spec.summary = %q{Methods for processing ANSI escape codes in strings.}
13
12
  spec.description = %q{Methods for processing ANSI escape codes in strings.}
14
- spec.homepage = "https://github.com/piotrmurach/strings"
13
+ spec.homepage = "https://github.com/piotrmurach/strings-ansi"
15
14
  spec.license = "MIT"
16
15
 
17
- spec.files = Dir['{lib,spec}/**/*.rb', '{bin,tasks}/*', 'strings-ansi.gemspec']
18
- spec.files += Dir['README.md', 'CHANGELOG.md', 'LICENSE.txt', 'Rakefile']
16
+ spec.metadata["allowed_push_host"] = "https://rubygems.org"
17
+ spec.metadata["bug_tracker_uri"] = "https://github.com/piotrmurach/strings-ansi/issues"
18
+ spec.metadata["changelog_uri"] = "https://github.com/piotrmurach/strings-ansi/blob/master/CHANGELOG.md"
19
+ spec.metadata["documentation_uri"] = "https://www.rubydoc.info/gems/strings-ansi"
20
+ spec.metadata["homepage_uri"] = spec.homepage
21
+ spec.metadata["source_code_uri"] = "https://github.com/piotrmurach/strings-ansi"
22
+
23
+ spec.files = Dir["{lib,spec}/**/*.rb"]
24
+ spec.files += Dir["{bin,tasks}/*", "strings-ansi.gemspec"]
25
+ spec.files += Dir["README.md", "CHANGELOG.md", "LICENSE.txt", "Rakefile"]
19
26
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
27
  spec.require_paths = ["lib"]
21
28
 
22
- spec.add_development_dependency "bundler", "~> 1.16"
23
- spec.add_development_dependency "rake", "~> 10.0"
29
+ spec.required_ruby_version = ">= 2.0.0"
30
+
31
+ spec.add_development_dependency "bundler", ">= 1.5"
32
+ spec.add_development_dependency "rake"
24
33
  spec.add_development_dependency "rspec", "~> 3.0"
25
34
  end
@@ -1,10 +1,10 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- desc 'Load gem inside irb console'
3
+ desc "Load gem inside irb console"
4
4
  task :console do
5
- require 'irb'
6
- require 'irb/completion'
7
- require File.join(__FILE__, '../../lib/strings-ansi')
5
+ require "irb"
6
+ require "irb/completion"
7
+ require File.join(__FILE__, "../../lib/strings-ansi")
8
8
  ARGV.clear
9
9
  IRB.start
10
10
  end
@@ -1,11 +1,11 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
- desc 'Measure code coverage'
3
+ desc "Measure code coverage"
4
4
  task :coverage do
5
5
  begin
6
- original, ENV['COVERAGE'] = ENV['COVERAGE'], 'true'
7
- Rake::Task['spec'].invoke
6
+ original, ENV["COVERAGE"] = ENV["COVERAGE"], "true"
7
+ Rake::Task["spec"].invoke
8
8
  ensure
9
- ENV['COVERAGE'] = original
9
+ ENV["COVERAGE"] = original
10
10
  end
11
11
  end
@@ -1,22 +1,22 @@
1
- # encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  begin
4
- require 'rspec/core/rake_task'
4
+ require "rspec/core/rake_task"
5
5
 
6
- desc 'Run all specs'
6
+ desc "Run all specs"
7
7
  RSpec::Core::RakeTask.new(:spec) do |task|
8
- task.pattern = 'spec/{unit,integration}{,/*/**}/*_spec.rb'
8
+ task.pattern = "spec/{unit,integration}{,/*/**}/*_spec.rb"
9
9
  end
10
10
 
11
11
  namespace :spec do
12
- desc 'Run unit specs'
12
+ desc "Run unit specs"
13
13
  RSpec::Core::RakeTask.new(:unit) do |task|
14
- task.pattern = 'spec/unit{,/*/**}/*_spec.rb'
14
+ task.pattern = "spec/unit{,/*/**}/*_spec.rb"
15
15
  end
16
16
 
17
- desc 'Run integration specs'
17
+ desc "Run integration specs"
18
18
  RSpec::Core::RakeTask.new(:integration) do |task|
19
- task.pattern = 'spec/integration{,/*/**}/*_spec.rb'
19
+ task.pattern = "spec/integration{,/*/**}/*_spec.rb"
20
20
  end
21
21
  end
22
22
 
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strings-ansi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.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: 2018-08-27 00:00:00.000000000 Z
11
+ date: 2019-11-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.16'
19
+ version: '1.5'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.16'
26
+ version: '1.5'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '0'
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: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '3.0'
55
55
  description: Methods for processing ANSI escape codes in strings.
56
56
  email:
57
- - ''
57
+ - me@piotrmurach.com
58
58
  executables: []
59
59
  extensions: []
60
60
  extra_rdoc_files: []
@@ -78,10 +78,16 @@ files:
78
78
  - tasks/console.rake
79
79
  - tasks/coverage.rake
80
80
  - tasks/spec.rake
81
- homepage: https://github.com/piotrmurach/strings
81
+ homepage: https://github.com/piotrmurach/strings-ansi
82
82
  licenses:
83
83
  - MIT
84
- metadata: {}
84
+ metadata:
85
+ allowed_push_host: https://rubygems.org
86
+ bug_tracker_uri: https://github.com/piotrmurach/strings-ansi/issues
87
+ changelog_uri: https://github.com/piotrmurach/strings-ansi/blob/master/CHANGELOG.md
88
+ documentation_uri: https://www.rubydoc.info/gems/strings-ansi
89
+ homepage_uri: https://github.com/piotrmurach/strings-ansi
90
+ source_code_uri: https://github.com/piotrmurach/strings-ansi
85
91
  post_install_message:
86
92
  rdoc_options: []
87
93
  require_paths:
@@ -90,15 +96,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
90
96
  requirements:
91
97
  - - ">="
92
98
  - !ruby/object:Gem::Version
93
- version: '0'
99
+ version: 2.0.0
94
100
  required_rubygems_version: !ruby/object:Gem::Requirement
95
101
  requirements:
96
102
  - - ">="
97
103
  - !ruby/object:Gem::Version
98
104
  version: '0'
99
105
  requirements: []
100
- rubyforge_project:
101
- rubygems_version: 2.7.3
106
+ rubygems_version: 3.0.3
102
107
  signing_key:
103
108
  specification_version: 4
104
109
  summary: Methods for processing ANSI escape codes in strings.