fat_core 6.0.0 → 7.1.1
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 +4 -4
- data/.github/workflows/ruby.yml +54 -0
- data/.rubocop.yml +4 -2
- data/.simplecov +2 -0
- data/CHANGELOG.org +61 -0
- data/Gemfile +5 -4
- data/README.org +1023 -58
- data/Rakefile +16 -3
- data/bin/console +1 -0
- data/fat_core.gemspec +6 -5
- data/lib/fat_core/all.rb +9 -10
- data/lib/fat_core/array.rb +5 -5
- data/lib/fat_core/enumerable.rb +0 -15
- data/lib/fat_core/hash.rb +48 -11
- data/lib/fat_core/numeric.rb +48 -1
- data/lib/fat_core/range.rb +108 -55
- data/lib/fat_core/string.rb +78 -38
- data/lib/fat_core/symbol.rb +1 -1
- data/lib/fat_core/version.rb +3 -3
- data/lib/fat_core.rb +2 -0
- data/spec/lib/array_spec.rb +2 -0
- data/spec/lib/big_decimal_spec.rb +2 -0
- data/spec/lib/enumerable_spec.rb +29 -39
- data/spec/lib/hash_spec.rb +19 -2
- data/spec/lib/nil_class_spec.rb +2 -0
- data/spec/lib/numeric_spec.rb +14 -0
- data/spec/lib/range_spec.rb +10 -0
- data/spec/lib/string_spec.rb +96 -12
- data/spec/lib/symbol_spec.rb +2 -0
- data/spec/spec_helper.rb +3 -1
- metadata +13 -10
- data/lib/fat_core/kernel.rb +0 -26
- data/spec/lib/kernel_spec.rb +0 -13
metadata
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fat_core
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 7.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Daniel E. Doherty
|
|
8
|
+
autorequire:
|
|
8
9
|
bindir: bin
|
|
9
10
|
cert_chain: []
|
|
10
|
-
date:
|
|
11
|
+
date: 2025-11-27 00:00:00.000000000 Z
|
|
11
12
|
dependencies:
|
|
12
13
|
- !ruby/object:Gem::Dependency
|
|
13
14
|
name: activesupport
|
|
@@ -66,11 +67,11 @@ dependencies:
|
|
|
66
67
|
- !ruby/object:Gem::Version
|
|
67
68
|
version: 3.1.2
|
|
68
69
|
description: |
|
|
69
|
-
Useful extensions to
|
|
70
|
-
including useful Date extensions for dealing with US Federal
|
|
71
|
-
and New York Stock Exchange holidays and working days, a useful
|
|
70
|
+
Useful extensions to Enumerable and String, Range and other classes. A
|
|
72
71
|
Enumerable#each_with_flags for flagging first and last items in the
|
|
73
|
-
iteration,
|
|
72
|
+
iteration, operations on Ranges for testing contiguity, gaps in sets of
|
|
73
|
+
Ranges, and performing set operations on Ranges. String#fuzzy_match
|
|
74
|
+
for user-friendly matchers to test for matching.
|
|
74
75
|
email:
|
|
75
76
|
- ded@ddoherty.net
|
|
76
77
|
executables: []
|
|
@@ -78,12 +79,14 @@ extensions: []
|
|
|
78
79
|
extra_rdoc_files: []
|
|
79
80
|
files:
|
|
80
81
|
- ".envrc"
|
|
82
|
+
- ".github/workflows/ruby.yml"
|
|
81
83
|
- ".gitignore"
|
|
82
84
|
- ".rspec"
|
|
83
85
|
- ".rubocop.yml"
|
|
84
86
|
- ".simplecov"
|
|
85
87
|
- ".travis.yml"
|
|
86
88
|
- ".yardopts"
|
|
89
|
+
- CHANGELOG.org
|
|
87
90
|
- Gemfile
|
|
88
91
|
- LICENSE.txt
|
|
89
92
|
- README.org
|
|
@@ -98,7 +101,6 @@ files:
|
|
|
98
101
|
- lib/fat_core/bigdecimal.rb
|
|
99
102
|
- lib/fat_core/enumerable.rb
|
|
100
103
|
- lib/fat_core/hash.rb
|
|
101
|
-
- lib/fat_core/kernel.rb
|
|
102
104
|
- lib/fat_core/nil.rb
|
|
103
105
|
- lib/fat_core/numeric.rb
|
|
104
106
|
- lib/fat_core/patches.rb
|
|
@@ -110,7 +112,6 @@ files:
|
|
|
110
112
|
- spec/lib/big_decimal_spec.rb
|
|
111
113
|
- spec/lib/enumerable_spec.rb
|
|
112
114
|
- spec/lib/hash_spec.rb
|
|
113
|
-
- spec/lib/kernel_spec.rb
|
|
114
115
|
- spec/lib/nil_class_spec.rb
|
|
115
116
|
- spec/lib/numeric_spec.rb
|
|
116
117
|
- spec/lib/range_spec.rb
|
|
@@ -122,6 +123,7 @@ licenses:
|
|
|
122
123
|
- MIT
|
|
123
124
|
metadata:
|
|
124
125
|
yard.run: yri
|
|
126
|
+
post_install_message:
|
|
125
127
|
rdoc_options: []
|
|
126
128
|
require_paths:
|
|
127
129
|
- lib
|
|
@@ -129,14 +131,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
129
131
|
requirements:
|
|
130
132
|
- - ">="
|
|
131
133
|
- !ruby/object:Gem::Version
|
|
132
|
-
version:
|
|
134
|
+
version: 3.2.2
|
|
133
135
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
134
136
|
requirements:
|
|
135
137
|
- - ">="
|
|
136
138
|
- !ruby/object:Gem::Version
|
|
137
139
|
version: '0'
|
|
138
140
|
requirements: []
|
|
139
|
-
rubygems_version: 3.
|
|
141
|
+
rubygems_version: 3.5.23
|
|
142
|
+
signing_key:
|
|
140
143
|
specification_version: 4
|
|
141
144
|
summary: some useful core extensions
|
|
142
145
|
test_files: []
|
data/lib/fat_core/kernel.rb
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'fat_core/numeric'
|
|
4
|
-
|
|
5
|
-
module Kernel
|
|
6
|
-
# Run the given block and report the time it took to execute in
|
|
7
|
-
# hour-minute-second form.
|
|
8
|
-
#
|
|
9
|
-
# @example
|
|
10
|
-
# result = time_it 'Fibbonacci' do
|
|
11
|
-
# Fibbonacci.fib(30)
|
|
12
|
-
# end
|
|
13
|
-
# puts "For 30 its #{result}"
|
|
14
|
-
# => "Ran Fibonacci in 30:23"
|
|
15
|
-
#
|
|
16
|
-
# @param name [String, #to_s] an optional name to use for block in timing
|
|
17
|
-
# message.
|
|
18
|
-
# @return [Object] whatever the block returns
|
|
19
|
-
def time_it(name = 'block', &block)
|
|
20
|
-
start = Time.now
|
|
21
|
-
result = yield block
|
|
22
|
-
run_time = Time.now - start
|
|
23
|
-
puts "Ran #{name} in #{run_time.secs_to_hms}"
|
|
24
|
-
result
|
|
25
|
-
end
|
|
26
|
-
end
|
data/spec/lib/kernel_spec.rb
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
require 'fat_core/kernel'
|
|
3
|
-
|
|
4
|
-
describe Kernel do
|
|
5
|
-
it 'knows how to time a block of code' do
|
|
6
|
-
expect {
|
|
7
|
-
time_it 'do something' do
|
|
8
|
-
(1..10_000_000).each { |k| k * k }
|
|
9
|
-
'hello'
|
|
10
|
-
end
|
|
11
|
-
}.to output(/Ran do something in/i).to_stdout
|
|
12
|
-
end
|
|
13
|
-
end
|