englishest 0.1.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 +7 -0
- data/.github/workflows/main.yml +16 -0
- data/.gitignore +12 -0
- data/.rspec +3 -0
- data/.rubocop.yml +29 -0
- data/CHANGELOG.md +5 -0
- data/Gemfile +14 -0
- data/Gemfile.lock +57 -0
- data/LICENSE.txt +21 -0
- data/README.md +61 -0
- data/Rakefile +12 -0
- data/Roadmap.md +35 -0
- data/bin/console +15 -0
- data/bin/setup +8 -0
- data/englishest.gemspec +44 -0
- data/lib/englishest/version.rb +5 -0
- data/lib/englishest.rb +128 -0
- metadata +81 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: efd066ca7b2c8c2116db5c43fbdaed3dd5956bc070a13c386966137a4e9cf8ad
|
4
|
+
data.tar.gz: 8798a76c67d031cd0752dec1a69ddf793aa598f7f983681b63c1e3dbd8ebe616
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7fd035b052c0a79ace0fbbb4a0e3a2702bdccd6d55d382e010915b0510f8f0ae21d503cd4b9ee8bc9e9b628159947cebe32718329b9fa419b429447de16473a8
|
7
|
+
data.tar.gz: 42a16846944d701a3e73d718d65a82a510dcb03654f51b37d9c1594c81ec330dcd5bcde72f5435fb8629e7014f3cdd48216befb6d3b88375506e0c160fee328e
|
@@ -0,0 +1,16 @@
|
|
1
|
+
name: Ruby
|
2
|
+
|
3
|
+
on: [push,pull_request]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
runs-on: ubuntu-latest
|
8
|
+
steps:
|
9
|
+
- uses: actions/checkout@v2
|
10
|
+
- name: Set up Ruby
|
11
|
+
uses: ruby/setup-ruby@v1
|
12
|
+
with:
|
13
|
+
ruby-version: 3.0.2
|
14
|
+
bundler-cache: true
|
15
|
+
- name: Run the default task
|
16
|
+
run: bundle exec rake
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
AllCops:
|
2
|
+
TargetRubyVersion: 2.5
|
3
|
+
DisplayCopNames: true
|
4
|
+
NewCops: enable
|
5
|
+
|
6
|
+
Style/StringLiterals:
|
7
|
+
Enabled: true
|
8
|
+
EnforcedStyle: double_quotes
|
9
|
+
|
10
|
+
Style/StringLiteralsInInterpolation:
|
11
|
+
Enabled: true
|
12
|
+
EnforcedStyle: double_quotes
|
13
|
+
|
14
|
+
Layout/LineLength:
|
15
|
+
Max: 120
|
16
|
+
|
17
|
+
Style/GlobalVars:
|
18
|
+
AllowedVariables:
|
19
|
+
- $LAST_PUT_LINE
|
20
|
+
|
21
|
+
Style/OptionalBooleanParameter:
|
22
|
+
AllowedMethods:
|
23
|
+
- consent?
|
24
|
+
- dissent?
|
25
|
+
|
26
|
+
Metrics/BlockLength:
|
27
|
+
Exclude:
|
28
|
+
- '*.gemspec'
|
29
|
+
- 'spec/*.rb'
|
data/CHANGELOG.md
ADDED
data/Gemfile
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
# Specify your gem's dependencies in englishest.gemspec
|
6
|
+
gemspec
|
7
|
+
|
8
|
+
gem "rake", "~> 13.0"
|
9
|
+
|
10
|
+
gem "rspec", "~> 3.0"
|
11
|
+
|
12
|
+
gem "rubocop", "~> 1.7"
|
13
|
+
|
14
|
+
gem "byebug", "~> 11.1", groups: %i[development test]
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
englishest (0.1.0)
|
5
|
+
|
6
|
+
GEM
|
7
|
+
remote: https://rubygems.org/
|
8
|
+
specs:
|
9
|
+
ast (2.4.2)
|
10
|
+
byebug (11.1.3)
|
11
|
+
diff-lcs (1.4.4)
|
12
|
+
parallel (1.21.0)
|
13
|
+
parser (3.0.2.0)
|
14
|
+
ast (~> 2.4.1)
|
15
|
+
rainbow (3.0.0)
|
16
|
+
rake (13.0.6)
|
17
|
+
regexp_parser (2.1.1)
|
18
|
+
rexml (3.2.5)
|
19
|
+
rspec (3.10.0)
|
20
|
+
rspec-core (~> 3.10.0)
|
21
|
+
rspec-expectations (~> 3.10.0)
|
22
|
+
rspec-mocks (~> 3.10.0)
|
23
|
+
rspec-core (3.10.1)
|
24
|
+
rspec-support (~> 3.10.0)
|
25
|
+
rspec-expectations (3.10.1)
|
26
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
27
|
+
rspec-support (~> 3.10.0)
|
28
|
+
rspec-mocks (3.10.2)
|
29
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
30
|
+
rspec-support (~> 3.10.0)
|
31
|
+
rspec-support (3.10.3)
|
32
|
+
rubocop (1.23.0)
|
33
|
+
parallel (~> 1.10)
|
34
|
+
parser (>= 3.0.0.0)
|
35
|
+
rainbow (>= 2.2.2, < 4.0)
|
36
|
+
regexp_parser (>= 1.8, < 3.0)
|
37
|
+
rexml
|
38
|
+
rubocop-ast (>= 1.12.0, < 2.0)
|
39
|
+
ruby-progressbar (~> 1.7)
|
40
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
41
|
+
rubocop-ast (1.13.0)
|
42
|
+
parser (>= 3.0.1.1)
|
43
|
+
ruby-progressbar (1.11.0)
|
44
|
+
unicode-display_width (2.1.0)
|
45
|
+
|
46
|
+
PLATFORMS
|
47
|
+
x86_64-linux
|
48
|
+
|
49
|
+
DEPENDENCIES
|
50
|
+
byebug (~> 11.1)
|
51
|
+
englishest!
|
52
|
+
rake (~> 13.0)
|
53
|
+
rspec (~> 3.0)
|
54
|
+
rubocop (~> 1.7)
|
55
|
+
|
56
|
+
BUNDLED WITH
|
57
|
+
2.2.22
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2021 Mathieu Lovato Stumpf Guntz
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
# Englishest
|
2
|
+
|
3
|
+
In a nutshell, with this gem enabled you can now spell `<=>` as `trichotomize`,
|
4
|
+
and so on.
|
5
|
+
|
6
|
+
This gem aims to provides alternative ways to utter Ruby code, simply defining
|
7
|
+
synonyms for miscellaneous terms, especially offering full word counterpart
|
8
|
+
to ideograms/logograms such as the so called *spaceship operator*.
|
9
|
+
|
10
|
+
The name of the gem is of course a pun: a library which provides ability
|
11
|
+
to utter coder which is closer to a voiceable English obviously ought to do it
|
12
|
+
so through an obvious transgression of this language usual rules on superlatives.
|
13
|
+
|
14
|
+
## Installation
|
15
|
+
|
16
|
+
Add this line to your application's Gemfile:
|
17
|
+
|
18
|
+
```ruby
|
19
|
+
gem 'englishest'
|
20
|
+
```
|
21
|
+
|
22
|
+
And then execute:
|
23
|
+
|
24
|
+
$ bundle install
|
25
|
+
|
26
|
+
Or install it yourself as:
|
27
|
+
|
28
|
+
$ gem install englishest
|
29
|
+
|
30
|
+
## Usage
|
31
|
+
|
32
|
+
TODO: Write usage instructions here
|
33
|
+
|
34
|
+
## Development
|
35
|
+
|
36
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
37
|
+
|
38
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
39
|
+
|
40
|
+
## Contributing
|
41
|
+
|
42
|
+
Bug reports and pull requests are welcome on GitHub at [https://github.com/psychoslave/englishest].
|
43
|
+
|
44
|
+
## License
|
45
|
+
|
46
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
47
|
+
|
48
|
+
# References
|
49
|
+
|
50
|
+
Resources consulted while hacking this gem:
|
51
|
+
- https://www.includehelp.com/ruby/alias-vs-alias_method-in-ruby.aspx
|
52
|
+
- https://ruby-doc.org/core-2.5.0/Comparable.html
|
53
|
+
- https://en.wikipedia.org/wiki/Trichotomy_(mathematics)
|
54
|
+
- https://en.wikipedia.org/wiki/Three-way_comparison#Spaceship_operator
|
55
|
+
- https://bundler.io/guides/creating_gem.html
|
56
|
+
- https://guides.rubygems.org/patterns/
|
57
|
+
- http://www.rubyinside.com/rubys-unary-operators-and-how-to-redefine-their-functionality-5610.html
|
58
|
+
- https://stackoverflow.com/questions/1356749/can-you-eval-code-in-the-context-of-a-caller-in-ruby
|
59
|
+
- https://github.com/banister/binding_of_caller
|
60
|
+
- https://www.geeksforgeeks.org/ruby-pre-define-variables-constants/
|
61
|
+
- https://www.toptal.com/ruby/ruby-metaprogramming-cooler-than-it-sounds
|
data/Rakefile
ADDED
data/Roadmap.md
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
- define English equivalent for each non-letter methods/operators
|
2
|
+
- `=` aliased as `assign`, `fix`, `set`
|
3
|
+
- `==` aliased as `equivalent?`, `equipotent?`, `equiquantal?`, `equivalue?`
|
4
|
+
- `eql?` aliased as `akin?`, `assimilated?`, `equidense?`, `equiepitomize?`, `equisummable?`, `equivalate?`, `equivocate?`, `like?`, `tie?`
|
5
|
+
true if both operands refer to the same hash key
|
6
|
+
- `equal?` aliased as `equireferent?`, `univocal?`, `nod?`
|
7
|
+
refer to the same object.
|
8
|
+
- `===` aliased as `apt?`, `fit?`, `encompass?`, `gird?`,
|
9
|
+
case-equality,
|
10
|
+
- `!` unary bivalent negation prefix aliasable has `non-`
|
11
|
+
- `!=` aliased as `dissent?`, `inæqual`, `inequal`, `unequal?`, `unlike?`, `wry?`
|
12
|
+
- `<=>` aliased as `trichotomize`, `spy`, `wye`
|
13
|
+
- `=~` aliased as `hit`
|
14
|
+
- `!~` aliased as `absent?`, `devoid?`, `off?`, `miss?`
|
15
|
+
- enable to use dash rather than dot as method call operator :
|
16
|
+
that is `object-method` rather than `object.method`
|
17
|
+
- ensure that numeric value still bind dash to minus, that is substraction
|
18
|
+
- allow to select a locale rather than defining all alternatives forms
|
19
|
+
|
20
|
+
# Notes
|
21
|
+
Terms above are to be taken as
|
22
|
+
`ben`: (Scotland, Northern England) Inside.
|
23
|
+
`spy`: To distinguish something as being different from something else; to differentiate.
|
24
|
+
`wye`: a triangular joining arrangement of three rail lines with a railroad switch (set of points) at each corner connecting to each incoming line.
|
25
|
+
`ere`: Before; sooner than.
|
26
|
+
|
27
|
+
## Terms with `equi-` prefix
|
28
|
+
|
29
|
+
# References
|
30
|
+
|
31
|
+
- https://www.planetmath.org/equibounded
|
32
|
+
- https://en.wiktionary.org/wiki/ searching for terms starting with `equi`
|
33
|
+
- https://medium.com/@khalidh64/difference-between-eql-equal-in-ruby-2ffa7f073532
|
34
|
+
- https://fr.wiktionary.org/wiki/Utilisateur:Psychoslave/Vocabulaire_utile_pour_l%E2%80%99informatique
|
35
|
+
- https://en.wikipedia.org/wiki/Wye_(rail)
|
data/bin/console
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require "bundler/setup"
|
5
|
+
require "englishest"
|
6
|
+
|
7
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
8
|
+
# with your gem easier. You can also use a different console, if you like.
|
9
|
+
|
10
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
11
|
+
# require "pry"
|
12
|
+
# Pry.start
|
13
|
+
|
14
|
+
require "irb"
|
15
|
+
IRB.start(__FILE__)
|
data/bin/setup
ADDED
data/englishest.gemspec
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "lib/englishest/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "englishest"
|
7
|
+
spec.version = Englishest::VERSION
|
8
|
+
spec.authors = ["Mathieu Lovato Stumpf Guntz"]
|
9
|
+
spec.email = ["psychoslave@culture-libre.org"]
|
10
|
+
|
11
|
+
spec.summary = "A Ruby gem which allows a more literate coding style"
|
12
|
+
spec.description = <<~ABOUT
|
13
|
+
This gem aims to provides alternative ways to utter Ruby code, simply defining
|
14
|
+
synonyms for miscellaneous terms, especially offering full word counterpart
|
15
|
+
to ideograms/logograms such as the so called *spaceship operator*.
|
16
|
+
|
17
|
+
The name of the gem is of course a pun: a library which provides ability
|
18
|
+
to utter coder which is closer to a voiceable English obviously ought to do it
|
19
|
+
so through an obvious transgression of this language usual rules on superlatives.
|
20
|
+
ABOUT
|
21
|
+
spec.homepage = "https://github.com/psychoslave/englishest"
|
22
|
+
spec.license = "MIT"
|
23
|
+
spec.required_ruby_version = ">= 2.5.0"
|
24
|
+
|
25
|
+
spec.metadata["allowed_push_host"] = "https://mygemserver.com"
|
26
|
+
|
27
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
28
|
+
spec.metadata["source_code_uri"] = "https://github.com/psychoslave/englishest.git"
|
29
|
+
spec.metadata["changelog_uri"] = "https://github.com/psychoslave/englishest/blob/main/CHANGELOG.md"
|
30
|
+
|
31
|
+
# Specify which files should be added to the gem when it is released.
|
32
|
+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
33
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
34
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
|
35
|
+
end
|
36
|
+
spec.bindir = "exe"
|
37
|
+
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
38
|
+
spec.require_paths = ["lib"]
|
39
|
+
|
40
|
+
spec.add_development_dependency "rspec", "~> 3.2"
|
41
|
+
spec.metadata = {
|
42
|
+
"rubygems_mfa_required" => "true"
|
43
|
+
}
|
44
|
+
end
|
data/lib/englishest.rb
ADDED
@@ -0,0 +1,128 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "englishest/version"
|
4
|
+
require "English"
|
5
|
+
|
6
|
+
# Encapsulate all the contrivances to allow a coding style using more English
|
7
|
+
# vocabulary, especially enabling to express ideas without ideographi operators.
|
8
|
+
module Englishest
|
9
|
+
class Error < StandardError; end
|
10
|
+
|
11
|
+
module BasicObject
|
12
|
+
ALIASES = {
|
13
|
+
"==": %i[apt? congruent? equipotent? equiquantal? equivalue? worth?],
|
14
|
+
equal?: %i[equireferent? peg? univocal?],
|
15
|
+
"!=": %i[dissent? inæqual inequal unequal? unlike? wry?]
|
16
|
+
# TODO
|
17
|
+
# '!': unary bivalent negation prefix aliasable has non-],
|
18
|
+
# !
|
19
|
+
}.freeze
|
20
|
+
end
|
21
|
+
|
22
|
+
module Object
|
23
|
+
ALIASES = {
|
24
|
+
eql?: %i[akin? equisummable? isoepitomizable? like? tie?],
|
25
|
+
"!~": %i[absent? devoid? off? miss?],
|
26
|
+
"<=>": %i[trichotomise trichotomize spy wye],
|
27
|
+
"===": %i[encompass? fit? gird?],
|
28
|
+
"=~": %i[hit]
|
29
|
+
}.freeze
|
30
|
+
end
|
31
|
+
|
32
|
+
module Regexp
|
33
|
+
ALIASES = {
|
34
|
+
"=~": %i[hit index_of_first_matching],
|
35
|
+
# As a reminder the tilde implicitely match against $LAST_READ_LINE/$_
|
36
|
+
# Ruby allow to call it both in suffixed and prefixed form, that is
|
37
|
+
# +some_regexp.~+ and +~some_regexp+.
|
38
|
+
#
|
39
|
+
# Note that these aliases cover only the case of a method call suffixing a
|
40
|
+
# Regexp object, like +some_regexp.index_of_first_hot_matching+. For a
|
41
|
+
# prefixed method expression form, see +Englishest#spot+ bellow.
|
42
|
+
"~": %i[hit_tacitely index_of_first_hot_matching hot
|
43
|
+
index_of_first_matching_on_last_read_line]
|
44
|
+
}.freeze
|
45
|
+
end
|
46
|
+
|
47
|
+
module String
|
48
|
+
ALIASES = {
|
49
|
+
"=~": %i[hit index_of_first_matching]
|
50
|
+
}.freeze
|
51
|
+
end
|
52
|
+
|
53
|
+
module Comparable
|
54
|
+
ALIASES = {
|
55
|
+
"<": %i[afore? ahead? antecede? before? ere? inferior_to? less_than?
|
56
|
+
lower_than? prior? subcede? subceed? smaller_than? precede?],
|
57
|
+
"<=": %i[at_most? behind? ben? below? beneath? comprised? proconcede?
|
58
|
+
under? underneath? within?],
|
59
|
+
"==": %i[apt? concede?], # also has other aliases through BasicObject
|
60
|
+
">=": %i[above? accede? at_least? comprise? on? onward? prosupercede? upward? upon?],
|
61
|
+
">": %i[after? beyond? excede? exceed? greater_than? higher_than? over? outdo? outstrip? postcede? supercede?
|
62
|
+
supersede? superior_to? top? upper_than?]
|
63
|
+
}.freeze
|
64
|
+
end
|
65
|
+
|
66
|
+
# TODO
|
67
|
+
# Kernel#` which allow shell execution
|
68
|
+
|
69
|
+
# TODO
|
70
|
+
# '=': %i[assign fix peg set],
|
71
|
+
|
72
|
+
# Return list of submodules whose name matches a class or module that is
|
73
|
+
# affected by the gem
|
74
|
+
def self.covered_types
|
75
|
+
Englishest.constants.grep_v(/VERSION|Error/)
|
76
|
+
end
|
77
|
+
|
78
|
+
covered_types.each do |type|
|
79
|
+
Object.const_get("::#{type}").class_eval do
|
80
|
+
Object.const_get("::Englishest::#{self}::ALIASES").each do |operator, monikers|
|
81
|
+
monikers.each { alias_method _1, operator }
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
# Treating some corner cases specifically
|
87
|
+
class ::BasicObject
|
88
|
+
alias_method :negative?, "!"
|
89
|
+
|
90
|
+
# Alternative to the double bang prefix notation returning the result of
|
91
|
+
# transtyping anything to either +true+ or +false+.
|
92
|
+
def positive?
|
93
|
+
!!self
|
94
|
+
end
|
95
|
+
|
96
|
+
# Consent tacitely mean "compared to truth" when no topic is given
|
97
|
+
def consent?(topic = true)
|
98
|
+
equal? topic
|
99
|
+
end
|
100
|
+
alias nod? consent?
|
101
|
+
|
102
|
+
# Opposite of consent, although this is implemented as a fully automous
|
103
|
+
# determination, which inter alia avoid some technical convonlutions
|
104
|
+
def dissent?(topic = true)
|
105
|
+
!equal?(topic)
|
106
|
+
end
|
107
|
+
alias deny? dissent?
|
108
|
+
# Note that :ban?, :nay?, :nix?, :ort? might also have do the trick as alias
|
109
|
+
alias axe? dissent?
|
110
|
+
|
111
|
+
# $LAST_READ_LINE is locally binded, to define an synonymous method of the
|
112
|
+
# unary prefixal matching operator which implicitely use it, the value it
|
113
|
+
# holds in the calling context must be retrieved by some means. Here the
|
114
|
+
# retained implementation is to stash the value in a global variable each
|
115
|
+
# time its value change.
|
116
|
+
# TODO: see if this could be implemented withou global variable nor class
|
117
|
+
# variable, as both raising Rubocop offenses
|
118
|
+
trace_var(:$LAST_READ_LINE, proc { |nub|
|
119
|
+
$LAST_PUT_LINE = nub
|
120
|
+
})
|
121
|
+
|
122
|
+
def spot(pattern)
|
123
|
+
$LAST_PUT_LINE =~ pattern
|
124
|
+
end
|
125
|
+
alias win spot
|
126
|
+
alias reach spot
|
127
|
+
end
|
128
|
+
end
|
metadata
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: englishest
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Mathieu Lovato Stumpf Guntz
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2021-12-01 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rspec
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.2'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.2'
|
27
|
+
description: |
|
28
|
+
This gem aims to provides alternative ways to utter Ruby code, simply defining
|
29
|
+
synonyms for miscellaneous terms, especially offering full word counterpart
|
30
|
+
to ideograms/logograms such as the so called *spaceship operator*.
|
31
|
+
|
32
|
+
The name of the gem is of course a pun: a library which provides ability
|
33
|
+
to utter coder which is closer to a voiceable English obviously ought to do it
|
34
|
+
so through an obvious transgression of this language usual rules on superlatives.
|
35
|
+
email:
|
36
|
+
- psychoslave@culture-libre.org
|
37
|
+
executables: []
|
38
|
+
extensions: []
|
39
|
+
extra_rdoc_files: []
|
40
|
+
files:
|
41
|
+
- ".github/workflows/main.yml"
|
42
|
+
- ".gitignore"
|
43
|
+
- ".rspec"
|
44
|
+
- ".rubocop.yml"
|
45
|
+
- CHANGELOG.md
|
46
|
+
- Gemfile
|
47
|
+
- Gemfile.lock
|
48
|
+
- LICENSE.txt
|
49
|
+
- README.md
|
50
|
+
- Rakefile
|
51
|
+
- Roadmap.md
|
52
|
+
- bin/console
|
53
|
+
- bin/setup
|
54
|
+
- englishest.gemspec
|
55
|
+
- lib/englishest.rb
|
56
|
+
- lib/englishest/version.rb
|
57
|
+
homepage: https://github.com/psychoslave/englishest
|
58
|
+
licenses:
|
59
|
+
- MIT
|
60
|
+
metadata:
|
61
|
+
rubygems_mfa_required: 'true'
|
62
|
+
post_install_message:
|
63
|
+
rdoc_options: []
|
64
|
+
require_paths:
|
65
|
+
- lib
|
66
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - ">="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: 2.5.0
|
71
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
requirements: []
|
77
|
+
rubygems_version: 3.2.22
|
78
|
+
signing_key:
|
79
|
+
specification_version: 4
|
80
|
+
summary: A Ruby gem which allows a more literate coding style
|
81
|
+
test_files: []
|