woad 0.0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: e10c6463ceb8b3ac8b2a97d7c7dbdd701bbd0ab3255a81d5dacfe3b3dff7df5d
4
+ data.tar.gz: b998571e72109901df0a54307acd283a1edb38d9e742669e89ac6ed77edb0772
5
+ SHA512:
6
+ metadata.gz: 356f16c466b43294a074fe6120de19fdc1d91eb4cfdace8680206172b132ec406ebae66b655381881540b7751109269e7a3c58b65ff08282b4fa13c8235a5300
7
+ data.tar.gz: e50e17671d1ac7582bd661ee2eef762f0574b1bfd5cf565ee5df44cd8692e7e64f9301b2262e38975d0a0e96fd9af32aa68ab5c6a01fb0a2c8939ec00e7d5dfd
data/AUTHORS.md ADDED
@@ -0,0 +1,21 @@
1
+ # woad.Ruby - Authors <!-- omit in toc -->
2
+
3
+
4
+ ## Major Contributors
5
+
6
+ | Name | GitHub |
7
+ | ----------- | --------------------------------- |
8
+ | Matt Wilson | [mwsis](https://github.com/mwsis) |
9
+
10
+
11
+ ## Defect reports, fixes and suggestions (for which we are very grateful)
12
+
13
+ | Name | GitHub |
14
+ | ------- | ------ |
15
+ | \<none> | |
16
+
17
+
18
+ Contributions are welcomed.
19
+
20
+
21
+ <!-- ########################### end of file ########################### -->
data/CHANGES.md ADDED
@@ -0,0 +1,10 @@
1
+ # woad.Ruby - Changes <!-- omit in toc -->
2
+
3
+
4
+ ## 0.0.0 - 15th August 2026
5
+
6
+ * initial project scaffolding;
7
+ * **Ruby** **2.0+** compatibility;
8
+
9
+
10
+ <!-- ########################### end of file ########################### -->
data/LICENSE ADDED
@@ -0,0 +1,30 @@
1
+ woad.Ruby - BSD 3-Clause License
2
+
3
+ Copyright (c) 2026, Matthew Wilson and Synesis Information Systems
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ 1. Redistributions of source code must retain the above copyright notice,
10
+ this list of conditions and the following disclaimer.
11
+
12
+ 2. Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ 3. Neither the name of the copyright holder nor the names of its
17
+ contributors may be used to endorse or promote products derived from
18
+ this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
24
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30
+ POSSIBILITY OF SUCH DAMAGE.
data/README.md ADDED
@@ -0,0 +1,91 @@
1
+ # woad.Ruby <!-- omit in toc -->
2
+
3
+ Minimal ANSI terminal colour codes, for Ruby
4
+
5
+ ![Language](https://img.shields.io/badge/Ruby-CC342D?style=flat&logo=ruby&logoColor=white)
6
+ [![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
7
+ [![Gem Version](https://badge.fury.io/rb/woad.svg)](https://badge.fury.io/rb/woad)
8
+ [![GitHub release](https://img.shields.io/github/v/release/synesissoftware/woad.Ruby.svg)](https://github.com/synesissoftware/woad.Ruby/releases/latest)
9
+ [![Last Commit](https://img.shields.io/github/last-commit/synesissoftware/woad.Ruby)](https://github.com/synesissoftware/woad.Ruby/commits/master)
10
+ [![Ruby](https://github.com/synesissoftware/woad.Ruby/actions/workflows/ruby.yml/badge.svg)](https://github.com/synesissoftware/woad.Ruby/actions/workflows/ruby.yml)
11
+
12
+
13
+ ## Table of Contents <!-- omit in toc -->
14
+
15
+ - [Introduction](#introduction)
16
+ - [Installation](#installation)
17
+ - [Components](#components)
18
+ - [Project Information](#project-information)
19
+ - [Where to get help](#where-to-get-help)
20
+ - [Contribution guidelines](#contribution-guidelines)
21
+ - [Dependencies](#dependencies)
22
+ - [Development Dependencies](#development-dependencies)
23
+ - [Related projects](#related-projects)
24
+ - [License](#license)
25
+
26
+
27
+ ## Introduction
28
+
29
+ **woad** provides the smallest useful set of fixed ANSI SGR colour sequences for library authors. It is not a console or TUI framework.
30
+
31
+ **woad.Ruby** is the **Ruby** implementation. It supports **Ruby 2.0** through **3.x**.
32
+
33
+
34
+ ## Installation
35
+
36
+ Install via **gem** as in:
37
+
38
+ ```
39
+ gem install woad
40
+ ```
41
+
42
+ or add it to your `Gemfile`.
43
+
44
+ Use via **require**, as in:
45
+
46
+ ```Ruby
47
+ require 'woad'
48
+ ```
49
+
50
+
51
+ ## Components
52
+
53
+ **woad.Ruby** currently ships the **`Woad`** root module and version metadata (`require 'woad'`). Colour codes, TTY/stream gating, and Windows virtual-terminal opt-in are not implemented in this 0.0.0 skeleton.
54
+
55
+
56
+ ## Project Information
57
+
58
+
59
+ ### Where to get help
60
+
61
+ [GitHub Page](https://github.com/synesissoftware/woad.Ruby "GitHub Page")
62
+
63
+
64
+ ### Contribution guidelines
65
+
66
+ Defect reports, feature requests, and pull requests are welcome on https://github.com/synesissoftware/woad.Ruby.
67
+
68
+
69
+ ### Dependencies
70
+
71
+ * \<none>
72
+
73
+
74
+ #### Development Dependencies
75
+
76
+ * [**rake**](https://github.com/ruby/rake)
77
+ * [**test-unit**](https://github.com/test-unit/test-unit)
78
+
79
+
80
+ ### Related projects
81
+
82
+ * [**woad.Python**](https://github.com/synesissoftware/woad.Python/)
83
+ * [**woad.Rust**](https://github.com/synesissoftware/woad.Rust/)
84
+
85
+
86
+ ### License
87
+
88
+ **woad.Ruby** is released under the 3-clause BSD license. See [LICENSE](./LICENSE) for details.
89
+
90
+
91
+ <!-- ########################### end of file ########################### -->
data/Rakefile ADDED
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Rakefile for woad.Ruby
4
+
5
+ require 'rake/testtask'
6
+
7
+
8
+ Rake::TestTask.new do |tt|
9
+
10
+ tt.libs << 'lib'
11
+ tt.libs << 'test'
12
+ tt.name = 'test'
13
+ tt.test_files = FileList['test/**/tc_*.rb']
14
+ tt.verbose = true
15
+ end
16
+
17
+
18
+ task :default => :test
19
+
20
+
21
+ # ############################## end of file ############################# #
data/TODO.md ADDED
@@ -0,0 +1,21 @@
1
+ # woad.Ruby - TODO <!-- omit in toc -->
2
+
3
+
4
+ ## Functional improvements
5
+
6
+ * [ ] SGR colour and reset codes;
7
+ * [ ] TTY-conditional colour codes (process and per-stream);
8
+ * [ ] Windows virtual-terminal gating (OS build + `GetConsoleMode`);
9
+
10
+
11
+ ## Performance improvements
12
+
13
+ * \<none>
14
+
15
+
16
+ ## Packaging improvements
17
+
18
+ * \<none>
19
+
20
+
21
+ <!-- ########################### end of file ########################### -->
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+ # ######################################################################## #
3
+ # File: woad/version.rb
4
+ #
5
+ # Purpose: Version for woad.Ruby library
6
+ #
7
+ # Created: 15th August 2026
8
+ # Updated: 15th August 2026
9
+ #
10
+ # Home: http://github.com/synesissoftware/woad.Ruby
11
+ #
12
+ # Author: Matthew Wilson
13
+ #
14
+ # Copyright (c) 2026, Matthew Wilson and Synesis Information Systems
15
+ # All rights reserved.
16
+ #
17
+ # Redistribution and use in source and binary forms, with or without
18
+ # modification, are permitted provided that the following conditions are
19
+ # met:
20
+ #
21
+ # * Redistributions of source code must retain the above copyright
22
+ # notice, this list of conditions and the following disclaimer.
23
+ #
24
+ # * Redistributions in binary form must reproduce the above copyright
25
+ # notice, this list of conditions and the following disclaimer in the
26
+ # documentation and/or other materials provided with the distribution.
27
+ #
28
+ # * Neither the names of the copyright holder nor the names of its
29
+ # contributors may be used to endorse or promote products derived from
30
+ # this software without specific prior written permission.
31
+ #
32
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
33
+ # IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
34
+ # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
35
+ # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
36
+ # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
37
+ # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
38
+ # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
39
+ # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
40
+ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
41
+ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
42
+ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
43
+ #
44
+ # ######################################################################## #
45
+
46
+
47
+ =begin
48
+ =end
49
+
50
+ module Woad
51
+
52
+ # Current version of the woad.Ruby library
53
+ VERSION = '0.0.0'
54
+
55
+ private
56
+ # @!visibility private
57
+ VERSION_PARTS_ = VERSION.split(/[.]/).collect { |n| n.to_i } # :nodoc:
58
+ public
59
+ # Major version of the woad.Ruby library
60
+ VERSION_MAJOR = VERSION_PARTS_[0] # :nodoc:
61
+ # Minor version of the woad.Ruby library
62
+ VERSION_MINOR = VERSION_PARTS_[1] # :nodoc:
63
+ # Revision version of the woad.Ruby library
64
+ VERSION_REVISION = VERSION_PARTS_[2] # :nodoc:
65
+ end # module Woad
66
+
67
+
68
+ # ############################## end of file ############################# #
data/lib/woad.rb ADDED
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+ # ######################################################################## #
3
+ # File: woad.rb
4
+ #
5
+ # Purpose: Primary require for woad.Ruby library
6
+ #
7
+ # Created: 15th August 2026
8
+ # Updated: 15th August 2026
9
+ #
10
+ # Home: http://github.com/synesissoftware/woad.Ruby
11
+ #
12
+ # Author: Matthew Wilson
13
+ #
14
+ # Copyright (c) 2026, Matthew Wilson and Synesis Information Systems
15
+ # All rights reserved.
16
+ #
17
+ # Redistribution and use in source and binary forms, with or without
18
+ # modification, are permitted provided that the following conditions are
19
+ # met:
20
+ #
21
+ # * Redistributions of source code must retain the above copyright
22
+ # notice, this list of conditions and the following disclaimer.
23
+ #
24
+ # * Redistributions in binary form must reproduce the above copyright
25
+ # notice, this list of conditions and the following disclaimer in the
26
+ # documentation and/or other materials provided with the distribution.
27
+ #
28
+ # * Neither the names of the copyright holder nor the names of its
29
+ # contributors may be used to endorse or promote products derived from
30
+ # this software without specific prior written permission.
31
+ #
32
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
33
+ # IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
34
+ # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
35
+ # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
36
+ # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
37
+ # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
38
+ # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
39
+ # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
40
+ # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
41
+ # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
42
+ # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
43
+ #
44
+ # ######################################################################## #
45
+
46
+
47
+ =begin
48
+ =end
49
+
50
+ ## Root module for *woad*
51
+ module Woad
52
+
53
+ end # module Woad
54
+
55
+
56
+ require 'woad/version'
57
+
58
+
59
+ # ############################## end of file ############################# #
@@ -0,0 +1,37 @@
1
+ #! /usr/bin/env ruby
2
+
3
+ $:.unshift File.join(File.dirname(__FILE__), '../../lib')
4
+
5
+
6
+ require 'woad/version'
7
+
8
+ require 'test/unit'
9
+
10
+
11
+ class Test_version < Test::Unit::TestCase
12
+
13
+ def test_has_VERSION
14
+
15
+ assert defined? Woad::VERSION
16
+ end
17
+
18
+ def test_has_VERSION_MAJOR
19
+
20
+ assert defined? Woad::VERSION_MAJOR
21
+ end
22
+
23
+ def test_has_VERSION_MINOR
24
+
25
+ assert defined? Woad::VERSION_MINOR
26
+ end
27
+
28
+ def test_has_VERSION_REVISION
29
+
30
+ assert defined? Woad::VERSION_REVISION
31
+ end
32
+
33
+ def test_VERSION_has_consistent_format
34
+
35
+ assert_equal Woad::VERSION.split('.')[0..2].join('.'), "#{Woad::VERSION_MAJOR}.#{Woad::VERSION_MINOR}.#{Woad::VERSION_REVISION}"
36
+ end
37
+ end
metadata ADDED
@@ -0,0 +1,63 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: woad
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Matt Wilson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2026-08-15 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: |
14
+ Minimal ANSI terminal colour codes, for Ruby.
15
+
16
+ woad.Ruby is the Ruby implementation of the woad family of libraries.
17
+ email:
18
+ - matthew@synesis.com.au
19
+ executables: []
20
+ extensions: []
21
+ extra_rdoc_files: []
22
+ files:
23
+ - AUTHORS.md
24
+ - CHANGES.md
25
+ - LICENSE
26
+ - README.md
27
+ - Rakefile
28
+ - TODO.md
29
+ - lib/woad.rb
30
+ - lib/woad/version.rb
31
+ - test/unit/tc_version.rb
32
+ homepage: https://github.com/synesissoftware/woad.Ruby
33
+ licenses:
34
+ - BSD-3-Clause
35
+ metadata:
36
+ bug_tracker_uri: https://github.com/synesissoftware/woad.Ruby/issues
37
+ changelog_uri: https://github.com/synesissoftware/woad.Ruby/blob/master/CHANGES.md
38
+ homepage_uri: https://github.com/synesissoftware/woad.Ruby
39
+ source_code_uri: https://github.com/synesissoftware/woad.Ruby
40
+ post_install_message:
41
+ rdoc_options: []
42
+ require_paths:
43
+ - lib
44
+ required_ruby_version: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '2.0'
49
+ - - "<"
50
+ - !ruby/object:Gem::Version
51
+ version: '5'
52
+ required_rubygems_version: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ requirements: []
58
+ rubyforge_project:
59
+ rubygems_version: 2.7.6.3
60
+ signing_key:
61
+ specification_version: 4
62
+ summary: woad.Ruby
63
+ test_files: []