lite-ruby 1.1.5 → 1.1.6

Sign up to get free protection for your applications and to get access to all the features.
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