lite-ruby 1.1.2 → 1.1.7
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/.rubocop.yml +1 -0
- data/CHANGELOG.md +24 -0
- data/Gemfile.lock +57 -53
- data/docs/ARRAY.md +8 -0
- data/docs/TIME.md +8 -0
- data/lib/lite/ruby/array.rb +4 -0
- data/lib/lite/ruby/hash.rb +1 -1
- data/lib/lite/ruby/helpers/date_helper.rb +2 -2
- data/lib/lite/ruby/helpers/time_helper.rb +1 -1
- data/lib/lite/ruby/integer.rb +7 -3
- data/lib/lite/ruby/object.rb +9 -4
- data/lib/lite/ruby/string.rb +1 -1
- data/lib/lite/ruby/time.rb +6 -2
- data/lib/lite/ruby/version.rb +1 -1
- data/lite-ruby.gemspec +1 -0
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 449bb1f7a973ab0c66adef45e5a8a7d0b222cacac8c96f2776ebfc2654273dc4
|
4
|
+
data.tar.gz: 38a4bbdf3182c831d4dcde08f6eef607413894eb94a6546675918c95e07b2ba0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 17a571db6be5716b0618b5245981a7601762d243fcc1173f4813891918a1bf6413d04b04a13e376dfe66088fc53ac4e5020363e7d88fe4840c0be78182b5acc8
|
7
|
+
data.tar.gz: 7958b5a6d6680c57723337085c28b244b7cf37e277560ec6e2ef25aa5fc4fc75f4f06d21db34d5f6ec3ce06e98a74eac0e8b110a7f730faa46ab46cbabcc781b
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,30 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
6
6
|
|
7
7
|
## [Unreleased]
|
8
8
|
|
9
|
+
## [1.1.7] - 2021-03-04
|
10
|
+
### Added
|
11
|
+
- Added Integer => `SQL_SMALLINT`
|
12
|
+
- Added Integer => `SQL_INTEGER`
|
13
|
+
- Added Integer => `SQL_BIGINT`
|
14
|
+
|
15
|
+
## [1.1.6] - 2021-02-17
|
16
|
+
### Added
|
17
|
+
- Added Time => `monotonic`
|
18
|
+
### Changed
|
19
|
+
- Time `elapse` to use monotonic time
|
20
|
+
|
21
|
+
## [1.1.5] - 2021-02-16
|
22
|
+
### Added
|
23
|
+
- Added Array => `divergence`
|
24
|
+
|
25
|
+
## [1.1.4] - 2020-11-19
|
26
|
+
### Changed
|
27
|
+
- Object `array?` coerce ARGV check from nil to string
|
28
|
+
|
29
|
+
## [1.1.3] - 2020-11-18
|
30
|
+
### Changed
|
31
|
+
- Object `array?` does not clash with PG gem
|
32
|
+
|
9
33
|
## [1.1.2] - 2020-11-08
|
10
34
|
### Changed
|
11
35
|
- Array `extract!` does not alias except
|
data/Gemfile.lock
CHANGED
@@ -1,56 +1,58 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
lite-ruby (1.1.
|
4
|
+
lite-ruby (1.1.7)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
8
8
|
specs:
|
9
|
-
actionpack (6.
|
10
|
-
actionview (= 6.
|
11
|
-
activesupport (= 6.
|
12
|
-
rack (~> 2.0, >= 2.0.
|
9
|
+
actionpack (6.1.3)
|
10
|
+
actionview (= 6.1.3)
|
11
|
+
activesupport (= 6.1.3)
|
12
|
+
rack (~> 2.0, >= 2.0.9)
|
13
13
|
rack-test (>= 0.6.3)
|
14
14
|
rails-dom-testing (~> 2.0)
|
15
15
|
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
16
|
-
actionview (6.
|
17
|
-
activesupport (= 6.
|
16
|
+
actionview (6.1.3)
|
17
|
+
activesupport (= 6.1.3)
|
18
18
|
builder (~> 3.1)
|
19
19
|
erubi (~> 1.4)
|
20
20
|
rails-dom-testing (~> 2.0)
|
21
21
|
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
22
|
-
activesupport (6.
|
22
|
+
activesupport (6.1.3)
|
23
23
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
24
|
-
i18n (>=
|
25
|
-
minitest (
|
26
|
-
tzinfo (~>
|
27
|
-
zeitwerk (~> 2.
|
28
|
-
ast (2.4.
|
24
|
+
i18n (>= 1.6, < 2)
|
25
|
+
minitest (>= 5.1)
|
26
|
+
tzinfo (~> 2.0)
|
27
|
+
zeitwerk (~> 2.3)
|
28
|
+
ast (2.4.2)
|
29
29
|
builder (3.2.4)
|
30
30
|
colorize (0.8.1)
|
31
|
-
concurrent-ruby (1.1.
|
31
|
+
concurrent-ruby (1.1.8)
|
32
32
|
crass (1.0.6)
|
33
33
|
diff-lcs (1.4.4)
|
34
|
-
erubi (1.
|
35
|
-
fasterer (0.
|
34
|
+
erubi (1.10.0)
|
35
|
+
fasterer (0.9.0)
|
36
36
|
colorize (~> 0.7)
|
37
37
|
ruby_parser (>= 3.14.1)
|
38
38
|
generator_spec (0.9.4)
|
39
39
|
activesupport (>= 3.0.0)
|
40
40
|
railties (>= 3.0.0)
|
41
|
-
i18n (1.8.
|
41
|
+
i18n (1.8.9)
|
42
42
|
concurrent-ruby (~> 1.0)
|
43
|
-
loofah (2.
|
43
|
+
loofah (2.9.0)
|
44
44
|
crass (~> 1.0.2)
|
45
45
|
nokogiri (>= 1.5.9)
|
46
46
|
method_source (1.0.0)
|
47
|
-
mini_portile2 (2.
|
48
|
-
minitest (5.14.
|
49
|
-
nokogiri (1.
|
50
|
-
mini_portile2 (~> 2.
|
51
|
-
|
52
|
-
|
47
|
+
mini_portile2 (2.5.0)
|
48
|
+
minitest (5.14.4)
|
49
|
+
nokogiri (1.11.1)
|
50
|
+
mini_portile2 (~> 2.5.0)
|
51
|
+
racc (~> 1.4)
|
52
|
+
parallel (1.20.1)
|
53
|
+
parser (3.0.0.0)
|
53
54
|
ast (~> 2.4.1)
|
55
|
+
racc (1.5.2)
|
54
56
|
rack (2.2.3)
|
55
57
|
rack-test (1.1.0)
|
56
58
|
rack (>= 1.0, < 3)
|
@@ -59,56 +61,57 @@ GEM
|
|
59
61
|
nokogiri (>= 1.6)
|
60
62
|
rails-html-sanitizer (1.3.0)
|
61
63
|
loofah (~> 2.3)
|
62
|
-
railties (6.
|
63
|
-
actionpack (= 6.
|
64
|
-
activesupport (= 6.
|
64
|
+
railties (6.1.3)
|
65
|
+
actionpack (= 6.1.3)
|
66
|
+
activesupport (= 6.1.3)
|
65
67
|
method_source
|
66
68
|
rake (>= 0.8.7)
|
67
|
-
thor (
|
69
|
+
thor (~> 1.0)
|
68
70
|
rainbow (3.0.0)
|
69
|
-
rake (13.0.
|
70
|
-
regexp_parser (1.
|
71
|
+
rake (13.0.3)
|
72
|
+
regexp_parser (2.1.1)
|
71
73
|
rexml (3.2.4)
|
72
74
|
rspec (3.10.0)
|
73
75
|
rspec-core (~> 3.10.0)
|
74
76
|
rspec-expectations (~> 3.10.0)
|
75
77
|
rspec-mocks (~> 3.10.0)
|
76
|
-
rspec-core (3.10.
|
78
|
+
rspec-core (3.10.1)
|
77
79
|
rspec-support (~> 3.10.0)
|
78
|
-
rspec-expectations (3.10.
|
80
|
+
rspec-expectations (3.10.1)
|
79
81
|
diff-lcs (>= 1.2.0, < 2.0)
|
80
82
|
rspec-support (~> 3.10.0)
|
81
|
-
rspec-mocks (3.10.
|
83
|
+
rspec-mocks (3.10.2)
|
82
84
|
diff-lcs (>= 1.2.0, < 2.0)
|
83
85
|
rspec-support (~> 3.10.0)
|
84
|
-
rspec-support (3.10.
|
85
|
-
rubocop (1.
|
86
|
+
rspec-support (3.10.2)
|
87
|
+
rubocop (1.11.0)
|
86
88
|
parallel (~> 1.10)
|
87
|
-
parser (>=
|
89
|
+
parser (>= 3.0.0.0)
|
88
90
|
rainbow (>= 2.2.2, < 4.0)
|
89
|
-
regexp_parser (>= 1.8)
|
91
|
+
regexp_parser (>= 1.8, < 3.0)
|
90
92
|
rexml
|
91
|
-
rubocop-ast (>= 1.0.
|
93
|
+
rubocop-ast (>= 1.2.0, < 2.0)
|
92
94
|
ruby-progressbar (~> 1.7)
|
93
|
-
unicode-display_width (>= 1.4.0, <
|
94
|
-
rubocop-ast (1.
|
95
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
96
|
+
rubocop-ast (1.4.1)
|
95
97
|
parser (>= 2.7.1.5)
|
96
|
-
rubocop-performance (1.
|
97
|
-
rubocop (>= 0.
|
98
|
+
rubocop-performance (1.10.1)
|
99
|
+
rubocop (>= 0.90.0, < 2.0)
|
98
100
|
rubocop-ast (>= 0.4.0)
|
99
|
-
rubocop-
|
101
|
+
rubocop-rake (0.5.1)
|
102
|
+
rubocop
|
103
|
+
rubocop-rspec (2.2.0)
|
100
104
|
rubocop (~> 1.0)
|
101
105
|
rubocop-ast (>= 1.1.0)
|
102
|
-
ruby-progressbar (1.
|
103
|
-
ruby_parser (3.15.
|
106
|
+
ruby-progressbar (1.11.0)
|
107
|
+
ruby_parser (3.15.1)
|
104
108
|
sexp_processor (~> 4.9)
|
105
|
-
sexp_processor (4.15.
|
106
|
-
thor (1.0
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
zeitwerk (2.4.1)
|
109
|
+
sexp_processor (4.15.2)
|
110
|
+
thor (1.1.0)
|
111
|
+
tzinfo (2.0.4)
|
112
|
+
concurrent-ruby (~> 1.0)
|
113
|
+
unicode-display_width (2.0.0)
|
114
|
+
zeitwerk (2.4.2)
|
112
115
|
|
113
116
|
PLATFORMS
|
114
117
|
ruby
|
@@ -122,7 +125,8 @@ DEPENDENCIES
|
|
122
125
|
rspec
|
123
126
|
rubocop
|
124
127
|
rubocop-performance
|
128
|
+
rubocop-rake
|
125
129
|
rubocop-rspec
|
126
130
|
|
127
131
|
BUNDLED WITH
|
128
|
-
2.
|
132
|
+
2.2.12
|
data/docs/ARRAY.md
CHANGED
@@ -137,6 +137,14 @@ Moves a given value to the tail of array.
|
|
137
137
|
[1, 2, 2, 3].demote!(4) #=> [1, 2, 2, 3]
|
138
138
|
```
|
139
139
|
|
140
|
+
`divergence`
|
141
|
+
------
|
142
|
+
Returns a list of elements not found in either array.
|
143
|
+
|
144
|
+
```ruby
|
145
|
+
[1, 2, 2].divergence([2, 3, 4]) #=> [1, 3, 4]
|
146
|
+
```
|
147
|
+
|
140
148
|
`denillify(!)`
|
141
149
|
------
|
142
150
|
Converts `nil` into a given value.
|
data/docs/TIME.md
CHANGED
@@ -35,6 +35,14 @@ Converts a `time` object to `strftime` it using a human readable string.
|
|
35
35
|
Time.now.format('month_name day, year hour:minute ampm') #=> 'January 09, 2014 02:31 pm'
|
36
36
|
```
|
37
37
|
|
38
|
+
`monotonic`
|
39
|
+
------
|
40
|
+
Returns the monotonic time.
|
41
|
+
|
42
|
+
```ruby
|
43
|
+
Time.monotonic #=> 5834550.444132
|
44
|
+
```
|
45
|
+
|
38
46
|
`stamp` aka `to_format`
|
39
47
|
------
|
40
48
|
Converts a `time` object to a predefined format.
|
data/lib/lite/ruby/array.rb
CHANGED
@@ -147,6 +147,10 @@ if Lite::Ruby.configuration.monkey_patches.include?('array')
|
|
147
147
|
replace(denillify(identity))
|
148
148
|
end
|
149
149
|
|
150
|
+
def divergence(other)
|
151
|
+
(self - other) | (other - self)
|
152
|
+
end
|
153
|
+
|
150
154
|
def duplicates(minimum = 2)
|
151
155
|
hash = Hash.new(0)
|
152
156
|
each { |val| hash[val] += 1 }
|
data/lib/lite/ruby/hash.rb
CHANGED
@@ -5,7 +5,7 @@ if Lite::Ruby.configuration.monkey_patches.include?('date')
|
|
5
5
|
module Ruby
|
6
6
|
module DateHelper
|
7
7
|
|
8
|
-
DATE_STAMPS
|
8
|
+
DATE_STAMPS = {
|
9
9
|
weekday: '%d',
|
10
10
|
weekday_blank: '%_d',
|
11
11
|
weekday_padded: '%d',
|
@@ -41,7 +41,7 @@ if Lite::Ruby.configuration.monkey_patches.include?('date')
|
|
41
41
|
date_abbr: '%b %-d, %Y',
|
42
42
|
date_iso: '%Y-%m-%d'
|
43
43
|
}.freeze
|
44
|
-
DATE_UNITS
|
44
|
+
DATE_UNITS = {
|
45
45
|
w: 'u',
|
46
46
|
weekday: 'u',
|
47
47
|
ww: 'w',
|
data/lib/lite/ruby/integer.rb
CHANGED
@@ -3,11 +3,15 @@
|
|
3
3
|
if Lite::Ruby.configuration.monkey_patches.include?('integer')
|
4
4
|
class Integer
|
5
5
|
|
6
|
-
ROMAN_NUMERALS
|
7
|
-
M: 1000, CM: 900, D: 500, CD: 400, C: 100, XC: 90, L: 50,
|
8
|
-
I: 1
|
6
|
+
ROMAN_NUMERALS = {
|
7
|
+
M: 1000, CM: 900, D: 500, CD: 400, C: 100, XC: 90, L: 50,
|
8
|
+
XL: 40, X: 10, IX: 9, V: 5, IV: 4, I: 1
|
9
9
|
}.freeze
|
10
10
|
|
11
|
+
SQL_SMALLINT = 32_767
|
12
|
+
SQL_INTEGER = 2_147_483_647
|
13
|
+
SQL_BIGINT = 9_223_372_036_854_775_807
|
14
|
+
|
11
15
|
def bit(bit)
|
12
16
|
if bit.negative?
|
13
17
|
mask = (1 << ~bit)
|
data/lib/lite/ruby/object.rb
CHANGED
@@ -5,15 +5,20 @@ if Lite::Ruby.configuration.monkey_patches.include?('object')
|
|
5
5
|
|
6
6
|
class Object
|
7
7
|
|
8
|
-
FALSE_VALUES
|
8
|
+
FALSE_VALUES = %w[
|
9
9
|
0 f false n no off
|
10
10
|
].freeze
|
11
|
-
TRUE_VALUES
|
11
|
+
TRUE_VALUES = %w[
|
12
12
|
1 t true y yes on
|
13
13
|
].freeze
|
14
14
|
|
15
|
-
|
16
|
-
|
15
|
+
# NOTE: There is a class between the PG gem and the `array?` method.
|
16
|
+
# We only need to skip this on migrations since that action
|
17
|
+
# happens on a seperate runtime.
|
18
|
+
unless defined?(PG) && ARGV.first.to_s.start_with?('db:')
|
19
|
+
def array?
|
20
|
+
is_a?(Array)
|
21
|
+
end
|
17
22
|
end
|
18
23
|
|
19
24
|
def bool?
|
data/lib/lite/ruby/string.rb
CHANGED
@@ -5,7 +5,7 @@ if Lite::Ruby.configuration.monkey_patches.include?('string')
|
|
5
5
|
|
6
6
|
class String
|
7
7
|
|
8
|
-
TRANSLITERATIONS
|
8
|
+
TRANSLITERATIONS = {
|
9
9
|
'À' => 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'A', 'Å' => 'A', 'Æ' => 'Ae',
|
10
10
|
'Ç' => 'C', 'È' => 'E', 'É' => 'E', 'Ê' => 'E', 'Ë' => 'E', 'Ì' => 'I', 'Í' => 'I',
|
11
11
|
'Î' => 'I', 'Ï' => 'I', 'Ð' => 'D', 'Ñ' => 'N', 'Ò' => 'O', 'Ó' => 'O', 'Ô' => 'O',
|
data/lib/lite/ruby/time.rb
CHANGED
@@ -9,15 +9,19 @@ if Lite::Ruby.configuration.monkey_patches.include?('time')
|
|
9
9
|
class << self
|
10
10
|
|
11
11
|
def elapse(verbose: false)
|
12
|
-
started_at =
|
12
|
+
started_at = monotonic
|
13
13
|
yield
|
14
|
-
ended_at =
|
14
|
+
ended_at = monotonic
|
15
15
|
runtime = ended_at - started_at
|
16
16
|
return runtime unless verbose
|
17
17
|
|
18
18
|
{ started_at: started_at, ended_at: ended_at, runtime: runtime }
|
19
19
|
end
|
20
20
|
|
21
|
+
def monotonic
|
22
|
+
Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
23
|
+
end
|
24
|
+
|
21
25
|
end
|
22
26
|
|
23
27
|
private
|
data/lib/lite/ruby/version.rb
CHANGED
data/lite-ruby.gemspec
CHANGED
@@ -44,5 +44,6 @@ Gem::Specification.new do |spec|
|
|
44
44
|
spec.add_development_dependency 'rspec'
|
45
45
|
spec.add_development_dependency 'rubocop'
|
46
46
|
spec.add_development_dependency 'rubocop-performance'
|
47
|
+
spec.add_development_dependency 'rubocop-rake'
|
47
48
|
spec.add_development_dependency 'rubocop-rspec'
|
48
49
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lite-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juan Gomez
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rubocop-rake
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: rubocop-rspec
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -208,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
208
222
|
- !ruby/object:Gem::Version
|
209
223
|
version: '0'
|
210
224
|
requirements: []
|
211
|
-
rubygems_version: 3.
|
225
|
+
rubygems_version: 3.2.12
|
212
226
|
signing_key:
|
213
227
|
specification_version: 4
|
214
228
|
summary: Collection of useful Ruby methods for its primitive classes
|