lite-ruby 1.1.5 → 1.1.6

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: d888bbc03ab7a3385008969089ec8b73d92af59cf6f1384a9176f90807b91d89
4
- data.tar.gz: a2aa054f8d6f728f8d84b42b80031e3f15f899d5722e01dcf5c3758927838dc4
3
+ metadata.gz: 0b06f7b36c3754751a9e1c761c18907bb26477c24f8a3158f975cb12eb17402f
4
+ data.tar.gz: 6307adb22344057bbc07fb84c2853c6cb580aad9880a54dd6fccdb76bc21ca9e
5
5
  SHA512:
6
- metadata.gz: 1c6e3d0db894b83cba54985a3272f453b4001610f399268ddacd2952045a8cc879bf3eca38c7451a9cffddb299a5c50a03988573e29b34bfe9fefa284718296b
7
- data.tar.gz: 6177ea5a91f27eb3e534bb385500bb2eee6d111f77b2d7339ca8993539c32ac9e611639a4685c8db4999222bac8f5a6bb174a76f51d70323f9f807be72889936
6
+ metadata.gz: 9eeeea04d66003344b0897c6d0a6435025dd04070e58927282dac1d295a5f2b8c2424e506cc140bcf9bb61cbb0bf843a9fe917f876fbc05075dfb53db2767020
7
+ data.tar.gz: 9c77717bcf0d4f5a2904250483b62f9236ce84a5215bebf4dcbdab45d59937f10831f1e98a900d0822ae3e8d72b26d60d5a4570a2c18b4d0d56f7cb506b706fa
data/.rubocop.yml CHANGED
@@ -1,5 +1,6 @@
1
1
  require:
2
2
  - rubocop-performance
3
+ - rubocop-rake
3
4
  - rubocop-rspec
4
5
  AllCops:
5
6
  TargetRubyVersion: 2.7
data/CHANGELOG.md CHANGED
@@ -6,6 +6,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.1.6] - 2021-02-17
10
+ ### Added
11
+ - Added Time => `monotonic`
12
+ ### Changed
13
+ - Time `elapse` to use monotonic time
14
+
9
15
  ## [1.1.5] - 2021-02-16
10
16
  ### Added
11
17
  - Added Array => `divergence`
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lite-ruby (1.1.5)
4
+ lite-ruby (1.1.6)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -98,6 +98,8 @@ GEM
98
98
  rubocop-performance (1.9.2)
99
99
  rubocop (>= 0.90.0, < 2.0)
100
100
  rubocop-ast (>= 0.4.0)
101
+ rubocop-rake (0.5.1)
102
+ rubocop
101
103
  rubocop-rspec (2.2.0)
102
104
  rubocop (~> 1.0)
103
105
  rubocop-ast (>= 1.1.0)
@@ -123,6 +125,7 @@ DEPENDENCIES
123
125
  rspec
124
126
  rubocop
125
127
  rubocop-performance
128
+ rubocop-rake
126
129
  rubocop-rspec
127
130
 
128
131
  BUNDLED WITH
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.
@@ -274,10 +274,12 @@ if Lite::Ruby.configuration.monkey_patches.include?('hash')
274
274
  dup.rename_keys!(*keys)
275
275
  end
276
276
 
277
+ # rubocop:disable Style/HashConversion
277
278
  def rename_keys!(*keys)
278
279
  keys = Hash[*keys]
279
280
  keys.each_with_object(self) { |(key, val), hash| hash[val] = delete(key) if hash[key] }
280
281
  end
282
+ # rubocop:enable Style/HashConversion
281
283
 
282
284
  def sample
283
285
  key = sample_key
@@ -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 = now.to_f
12
+ started_at = monotonic
13
13
  yield
14
- ended_at = now.to_f
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
@@ -3,7 +3,7 @@
3
3
  module Lite
4
4
  module Ruby
5
5
 
6
- VERSION = '1.1.5'
6
+ VERSION = '1.1.6'
7
7
 
8
8
  end
9
9
  end
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.5
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Gomez
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-02-16 00:00:00.000000000 Z
11
+ date: 2021-02-17 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