sugar_utils 0.6.0 → 0.7.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 +5 -5
- data/.github/workflows/ci.yml +17 -0
- data/.gitignore +0 -1
- data/.rubocop.yml +15 -4
- data/.ruby-version +1 -0
- data/CHANGELOG.md +7 -0
- data/README.md +35 -16
- data/Rakefile +1 -0
- data/doc/dependency_decisions.yml +3 -3
- data/features/step_definitions/steps.rb +2 -0
- data/lib/sugar_utils/file.rb +11 -7
- data/lib/sugar_utils/version.rb +1 -1
- data/lib/sugar_utils.rb +4 -2
- data/spec/sugar_utils/file_spec.rb +6 -6
- data/spec/sugar_utils_spec.rb +23 -12
- data/sugar_utils.gemspec +11 -12
- metadata +31 -48
- data/.travis.yml +0 -39
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: a82e583baf8090370611445ae00050bf247d2687d947d84d98fbbac7f8cd1cbe
|
|
4
|
+
data.tar.gz: 134411bdbc2a675dfc799d73a6d25d5dc0d8760bd8bc3a0583611a7cd1cb50a4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3fe928e0ec9a19db849034a7691cd44231282f7dbb58dba921d50f62f3403f9f2abf6fdb9c576182c4abc22b50498aee871a3faa7f82879aabe14678cc831845
|
|
7
|
+
data.tar.gz: d54adcfcaf340cbbf81fb40bd520c772e80c825b3dc02788d0c70fb608f58abf66d84811e163e830968b13cee3e1b6789c6096df24c02ef297fd6fa3fe147e83
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
on: [push]
|
|
3
|
+
jobs:
|
|
4
|
+
test:
|
|
5
|
+
strategy:
|
|
6
|
+
fail-fast: false
|
|
7
|
+
matrix:
|
|
8
|
+
os: [ubuntu-latest, macos-latest]
|
|
9
|
+
ruby: ['2.6', '2.7', '3.0', '3.1', '3.2', head]
|
|
10
|
+
runs-on: ${{ matrix.os }}
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v3
|
|
13
|
+
- uses: ruby/setup-ruby@v1
|
|
14
|
+
with:
|
|
15
|
+
ruby-version: ${{ matrix.ruby }}
|
|
16
|
+
bundler-cache: true
|
|
17
|
+
- run: bundle exec rake
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
require: rubocop-rspec
|
|
2
2
|
|
|
3
3
|
AllCops:
|
|
4
|
-
TargetRubyVersion: 2.
|
|
4
|
+
TargetRubyVersion: 2.6
|
|
5
|
+
NewCops: enable
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
Layout/HashAlignment:
|
|
8
|
+
EnforcedHashRocketStyle: table
|
|
9
|
+
EnforcedColonStyle: table
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
Layout/LineLength:
|
|
10
12
|
Max: 150
|
|
11
13
|
Include:
|
|
12
14
|
- 'spec/**/*'
|
|
@@ -27,3 +29,12 @@ RSpec/ExpectInHook:
|
|
|
27
29
|
|
|
28
30
|
RSpec/MessageSpies:
|
|
29
31
|
Enabled: false
|
|
32
|
+
|
|
33
|
+
RSpec/EmptyLineAfterExample:
|
|
34
|
+
Enabled: false
|
|
35
|
+
|
|
36
|
+
# NOTE: The rspec-tabular commands get confused with the default syntax is used
|
|
37
|
+
# for Hashes, so disabling this check for specs so that `Hash[]` can be used.
|
|
38
|
+
Style/HashConversion:
|
|
39
|
+
Exclude:
|
|
40
|
+
- 'spec/**/*'
|
data/.ruby-version
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.6.2
|
data/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.7.0] - 2022-10-07
|
|
10
|
+
### Changed
|
|
11
|
+
- update the required ruby version from v2.2 to v2.6
|
|
12
|
+
- Sugar::Utils.ensure_boolean to consider `0` to be false
|
|
13
|
+
- Sugar::Utils.ensure_boolean to ignore whitespace around strings before
|
|
14
|
+
checking if they are 'false'
|
|
15
|
+
|
|
9
16
|
## [0.6.0] - 2019-05-31
|
|
10
17
|
### Added
|
|
11
18
|
- SugarUtils::File.append, which is explicitly for appending to a file. It will
|
data/README.md
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
# sugar_utils
|
|
2
2
|
|
|
3
3
|
[](http://badge.fury.io/rb/sugar_utils)
|
|
4
|
-
[](https://github.com/sugarcrm/sugar_utils/actions/workflows/ci.yml)
|
|
5
5
|
[](https://codeclimate.com/github/sugarcrm/sugar_utils)
|
|
6
6
|
[](https://codeclimate.com/github/sugarcrm/sugar_utils/coverage)
|
|
7
|
-
[](http://inch-ci.org/github/sugarcrm/sugar_utils)
|
|
8
7
|
[](LICENSE)
|
|
9
8
|
|
|
9
|
+
[](http://inch-ci.org/github/sugarcrm/sugar_utils)
|
|
10
|
+
[](http://rubydoc.org/gems/sugar_utils)
|
|
11
|
+
[](https://app.cucumber.pro/projects/sugar_utils)
|
|
12
|
+
|
|
10
13
|
Utility methods extracted from SugarCRM Ruby projects.
|
|
11
14
|
|
|
12
15
|
These methods are included:
|
|
@@ -24,20 +27,6 @@ These methods are included:
|
|
|
24
27
|
* SugarUtils::File.write_json
|
|
25
28
|
* SugarUtils::File.append
|
|
26
29
|
|
|
27
|
-
These methods will probably be included in the future:
|
|
28
|
-
|
|
29
|
-
* sizeof_dir
|
|
30
|
-
* find_files
|
|
31
|
-
* find_file!
|
|
32
|
-
* gzip
|
|
33
|
-
* gunzip
|
|
34
|
-
* tarball
|
|
35
|
-
* untarball
|
|
36
|
-
* tarball_list
|
|
37
|
-
* encrypt
|
|
38
|
-
* http_get_file
|
|
39
|
-
* timeout_retry
|
|
40
|
-
|
|
41
30
|
## Installation
|
|
42
31
|
|
|
43
32
|
Add this line to your application's Gemfile:
|
|
@@ -58,6 +47,36 @@ Or install it yourself as:
|
|
|
58
47
|
$ gem install sugar_utils
|
|
59
48
|
```
|
|
60
49
|
|
|
50
|
+
## Roadmap
|
|
51
|
+
|
|
52
|
+
These methods might be added in the future:
|
|
53
|
+
|
|
54
|
+
* sizeof_dir
|
|
55
|
+
* find_files
|
|
56
|
+
* find_file!
|
|
57
|
+
* gzip
|
|
58
|
+
* gunzip
|
|
59
|
+
* tarball
|
|
60
|
+
* untarball
|
|
61
|
+
* tarball_list
|
|
62
|
+
* encrypt
|
|
63
|
+
* http_get_file
|
|
64
|
+
* timeout_retry
|
|
65
|
+
|
|
66
|
+
## Elsewhere on the web
|
|
67
|
+
|
|
68
|
+
Links to other places on the web where this projects exists:
|
|
69
|
+
|
|
70
|
+
* [Code Climate](https://codeclimate.com/github/sugarcrm/sugar_utils)
|
|
71
|
+
* [CucumberPro](https://app.cucumber.pro/projects/sugar_utils)
|
|
72
|
+
* [InchCI](http://inch-ci.org/github/sugarcrm/sugar_utils)
|
|
73
|
+
* [Github](https://github.com/sugarcrm/sugar_utils)
|
|
74
|
+
* [OpenHub](https://www.openhub.net/p/sugar_utils)
|
|
75
|
+
* [RubyDoc](http://rubydoc.org/gems/sugar_utils)
|
|
76
|
+
* [RubyGems](https://rubygems.org/gems/sugar_utils)
|
|
77
|
+
* [Ruby LibHunt](https://ruby.libhunt.com/sugar_utils-alternatives)
|
|
78
|
+
* [Ruby Toolbox](https://www.ruby-toolbox.com/projects/sugar_utils)
|
|
79
|
+
|
|
61
80
|
## Contributing
|
|
62
81
|
|
|
63
82
|
See [CONTRIBUTING](CONTRIBUTING.md) for how you can contribute changes back into this project.
|
data/Rakefile
CHANGED
|
@@ -5,19 +5,19 @@
|
|
|
5
5
|
:why:
|
|
6
6
|
:versions: []
|
|
7
7
|
:when: 2018-06-13 15:20:17.351348000 Z
|
|
8
|
-
- - :
|
|
8
|
+
- - :permit
|
|
9
9
|
- Apache 2.0
|
|
10
10
|
- :who: Andrew Sullivan Cant <mail@andrewsullivancant.ca>
|
|
11
11
|
:why: SugarCRM's primary approved open source license
|
|
12
12
|
:versions: []
|
|
13
13
|
:when: 2018-06-18 19:28:33.314061000 Z
|
|
14
|
-
- - :
|
|
14
|
+
- - :permit
|
|
15
15
|
- MIT
|
|
16
16
|
- :who: Andrew Sullivan Cant <mail@andrewsullivancant.ca>
|
|
17
17
|
:why: SugarCRM's secondary approved open source license
|
|
18
18
|
:versions: []
|
|
19
19
|
:when: 2018-06-13 15:18:36.240771000 Z
|
|
20
|
-
- - :
|
|
20
|
+
- - :permit
|
|
21
21
|
- BSD
|
|
22
22
|
- :who: Andrew Sullivan Cant <mail@andrewsullivancant.ca>
|
|
23
23
|
:why: SugarCRM's secondary approved open source license
|
data/lib/sugar_utils/file.rb
CHANGED
|
@@ -75,7 +75,7 @@ module SugarUtils
|
|
|
75
75
|
# @raise [SugarUtils::File::Error]
|
|
76
76
|
#
|
|
77
77
|
# @return [String]
|
|
78
|
-
def self.read(filename, options = {}) # rubocop:disable MethodLength
|
|
78
|
+
def self.read(filename, options = {}) # rubocop:disable Metrics/MethodLength
|
|
79
79
|
options[:value_on_missing] ||= ''
|
|
80
80
|
options[:raise_on_missing] = true if options[:raise_on_missing].nil?
|
|
81
81
|
|
|
@@ -130,7 +130,7 @@ module SugarUtils
|
|
|
130
130
|
write_options = WriteOptions.new(filename, options)
|
|
131
131
|
|
|
132
132
|
FileUtils.mkdir_p(::File.dirname(filename))
|
|
133
|
-
FileUtils.touch(filename, write_options.slice(:mtime))
|
|
133
|
+
FileUtils.touch(filename, **write_options.slice(:mtime))
|
|
134
134
|
change_access(
|
|
135
135
|
filename,
|
|
136
136
|
write_options.owner,
|
|
@@ -161,7 +161,7 @@ module SugarUtils
|
|
|
161
161
|
# @raise [SugarUtils::File::Error]
|
|
162
162
|
#
|
|
163
163
|
# @return [void]
|
|
164
|
-
def self.write(filename, data, options = {}) # rubocop:disable MethodLength, AbcSize
|
|
164
|
+
def self.write(filename, data, options = {}) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
|
165
165
|
write_options = WriteOptions.new(filename, options)
|
|
166
166
|
|
|
167
167
|
FileUtils.mkdir_p(::File.dirname(filename))
|
|
@@ -214,7 +214,7 @@ module SugarUtils
|
|
|
214
214
|
# @raise [SugarUtils::File::Error]
|
|
215
215
|
#
|
|
216
216
|
# @return [void]
|
|
217
|
-
def self.atomic_write(filename, data, options = {}) # rubocop:disable MethodLength, AbcSize
|
|
217
|
+
def self.atomic_write(filename, data, options = {}) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
|
218
218
|
write_options = WriteOptions.new(filename, options)
|
|
219
219
|
|
|
220
220
|
# @note This method is similar to the atomic_write which is implemented in
|
|
@@ -302,7 +302,7 @@ module SugarUtils
|
|
|
302
302
|
# @raise [SugarUtils::File::Error]
|
|
303
303
|
#
|
|
304
304
|
# @return [void]
|
|
305
|
-
def self.append(filename, data, options = {}) # rubocop:disable MethodLength, AbcSize
|
|
305
|
+
def self.append(filename, data, options = {}) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
|
306
306
|
write_options = WriteOptions.new(filename, options)
|
|
307
307
|
|
|
308
308
|
FileUtils.mkdir_p(::File.dirname(filename))
|
|
@@ -338,7 +338,7 @@ module SugarUtils
|
|
|
338
338
|
# Following the same pattern as the existing stdlib method deprecation
|
|
339
339
|
# module.
|
|
340
340
|
# @see http://ruby-doc.org/stdlib-2.0.0/libdoc/rubygems/rdoc/Gem/Deprecate.html
|
|
341
|
-
def self.deprecate_option(_method, option_name, option_repl, year, month) # rubocop:disable MethodLength
|
|
341
|
+
def self.deprecate_option(_method, option_name, option_repl, year, month) # rubocop:disable Metrics/MethodLength
|
|
342
342
|
return if Gem::Deprecate.skip
|
|
343
343
|
|
|
344
344
|
klass = is_a?(Module)
|
|
@@ -361,7 +361,11 @@ module SugarUtils
|
|
|
361
361
|
else
|
|
362
362
|
"; use :#{option_repl} instead"
|
|
363
363
|
end,
|
|
364
|
-
format(
|
|
364
|
+
format(
|
|
365
|
+
'. It will be removed on or after %<year>4d-%<month>02d-01.',
|
|
366
|
+
year: year,
|
|
367
|
+
month: month
|
|
368
|
+
),
|
|
365
369
|
"\n#{target}#{method} called from #{location_of_external_caller}"
|
|
366
370
|
]
|
|
367
371
|
warn("#{msg.join}.")
|
data/lib/sugar_utils/version.rb
CHANGED
data/lib/sugar_utils.rb
CHANGED
|
@@ -9,7 +9,9 @@ module SugarUtils
|
|
|
9
9
|
#
|
|
10
10
|
# @return [Boolean]
|
|
11
11
|
def self.ensure_boolean(value)
|
|
12
|
-
return false if value
|
|
12
|
+
return false if value == 0 # rubocop:disable Style/NumericPredicate
|
|
13
|
+
|
|
14
|
+
return false if value.respond_to?(:to_s) && value.to_s.strip.casecmp('false').zero?
|
|
13
15
|
|
|
14
16
|
value ? true : false
|
|
15
17
|
end
|
|
@@ -48,7 +50,7 @@ module SugarUtils
|
|
|
48
50
|
data.encoding,
|
|
49
51
|
'binary',
|
|
50
52
|
invalid: :replace,
|
|
51
|
-
undef: :replace,
|
|
53
|
+
undef: :replace,
|
|
52
54
|
replace: replacement_character
|
|
53
55
|
)
|
|
54
56
|
end
|
|
@@ -125,7 +125,7 @@ describe SugarUtils::File do
|
|
|
125
125
|
let(:options) { { key: :value } }
|
|
126
126
|
|
|
127
127
|
before do
|
|
128
|
-
|
|
128
|
+
allow(described_class).to receive(:flock_shared)
|
|
129
129
|
.with(kind_of(File), options)
|
|
130
130
|
.and_raise(Timeout::Error)
|
|
131
131
|
end
|
|
@@ -162,7 +162,7 @@ describe SugarUtils::File do
|
|
|
162
162
|
|
|
163
163
|
before do
|
|
164
164
|
allow(described_class).to receive(:read)
|
|
165
|
-
.with(:filename, key: :value, value_on_missing: :missing)
|
|
165
|
+
.with(:filename, { key: :value, value_on_missing: :missing })
|
|
166
166
|
.and_return(file_content)
|
|
167
167
|
end
|
|
168
168
|
|
|
@@ -182,7 +182,7 @@ describe SugarUtils::File do
|
|
|
182
182
|
let(:options) { [] }
|
|
183
183
|
|
|
184
184
|
it { expect_not_to_raise_error }
|
|
185
|
-
its_side_effects_are { expect(File.exist?(filename)).to
|
|
185
|
+
its_side_effects_are { expect(File.exist?(filename)).to be(true) }
|
|
186
186
|
end
|
|
187
187
|
|
|
188
188
|
context 'with options, and :mode key' do
|
|
@@ -238,7 +238,7 @@ describe SugarUtils::File do
|
|
|
238
238
|
let(:options) { {} }
|
|
239
239
|
|
|
240
240
|
before do
|
|
241
|
-
|
|
241
|
+
allow(described_class).to receive(:flock_exclusive)
|
|
242
242
|
.with(kind_of(File), options)
|
|
243
243
|
.and_raise(Timeout::Error)
|
|
244
244
|
end
|
|
@@ -341,7 +341,7 @@ describe SugarUtils::File do
|
|
|
341
341
|
let(:options) { {} }
|
|
342
342
|
|
|
343
343
|
before do
|
|
344
|
-
|
|
344
|
+
allow(described_class).to receive(:flock_exclusive)
|
|
345
345
|
.with(kind_of(File), options)
|
|
346
346
|
.and_raise(Timeout::Error)
|
|
347
347
|
end
|
|
@@ -458,7 +458,7 @@ describe SugarUtils::File do
|
|
|
458
458
|
let(:options) { {} }
|
|
459
459
|
|
|
460
460
|
before do
|
|
461
|
-
|
|
461
|
+
allow(described_class).to receive(:flock_exclusive)
|
|
462
462
|
.with(kind_of(File), options)
|
|
463
463
|
.and_raise(Timeout::Error)
|
|
464
464
|
end
|
data/spec/sugar_utils_spec.rb
CHANGED
|
@@ -4,24 +4,35 @@ require 'spec_helper'
|
|
|
4
4
|
|
|
5
5
|
describe SugarUtils do
|
|
6
6
|
it 'has a version number' do
|
|
7
|
-
expect(SugarUtils::VERSION).not_to
|
|
7
|
+
expect(SugarUtils::VERSION).not_to be_nil
|
|
8
8
|
end
|
|
9
9
|
|
|
10
10
|
describe '.ensure_boolean' do
|
|
11
11
|
subject { described_class.ensure_boolean(value) }
|
|
12
12
|
|
|
13
13
|
inputs :value
|
|
14
|
-
it_with nil,
|
|
15
|
-
it_with false,
|
|
16
|
-
it_with true,
|
|
17
|
-
it_with
|
|
18
|
-
it_with
|
|
19
|
-
it_with
|
|
20
|
-
it_with
|
|
21
|
-
it_with
|
|
22
|
-
it_with
|
|
23
|
-
it_with
|
|
24
|
-
it_with
|
|
14
|
+
it_with nil, false
|
|
15
|
+
it_with false, false
|
|
16
|
+
it_with true, true
|
|
17
|
+
it_with 0, false
|
|
18
|
+
it_with 1, true
|
|
19
|
+
it_with 2, true
|
|
20
|
+
it_with 42, true
|
|
21
|
+
it_with :value, true
|
|
22
|
+
it_with 'value', true
|
|
23
|
+
it_with ' value ', true
|
|
24
|
+
it_with 'false', false
|
|
25
|
+
it_with ' false ', false
|
|
26
|
+
it_with "\n false \n", false
|
|
27
|
+
it_with 'FALSE', false
|
|
28
|
+
it_with ' FALSE ', false
|
|
29
|
+
it_with "\n FALSE \n", false
|
|
30
|
+
it_with 'FaLsE', false
|
|
31
|
+
it_with ' FaLsE ', false
|
|
32
|
+
it_with "\n FaLsE \n", false
|
|
33
|
+
it_with :false, false # rubocop:disable Lint/BooleanSymbol
|
|
34
|
+
it_with :FALSE, false
|
|
35
|
+
it_with :FaLsE, false
|
|
25
36
|
end
|
|
26
37
|
|
|
27
38
|
describe '.ensure_integer' do
|
data/sugar_utils.gemspec
CHANGED
|
@@ -15,30 +15,29 @@ Gem::Specification.new do |spec|
|
|
|
15
15
|
spec.license = 'Apache-2.0'
|
|
16
16
|
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0")
|
|
18
|
-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
19
18
|
spec.require_paths = ['lib']
|
|
20
19
|
|
|
21
|
-
spec.required_ruby_version = '>= 2.
|
|
20
|
+
spec.required_ruby_version = '>= 2.6.0'
|
|
21
|
+
|
|
22
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
|
22
23
|
|
|
23
24
|
spec.add_dependency 'multi_json', '~> 1.0'
|
|
24
25
|
spec.add_dependency 'solid_assert', '~> 1.0'
|
|
25
26
|
|
|
26
|
-
spec.add_development_dependency 'aruba', '~> 0
|
|
27
|
-
spec.add_development_dependency 'bundler', '~>
|
|
28
|
-
spec.add_development_dependency 'cucumber', '~>
|
|
29
|
-
spec.add_development_dependency 'fakefs', '~> 0
|
|
30
|
-
spec.add_development_dependency 'rake', '~>
|
|
31
|
-
spec.add_development_dependency 'rspec', '~> 3.8
|
|
27
|
+
spec.add_development_dependency 'aruba', '~> 2.0'
|
|
28
|
+
spec.add_development_dependency 'bundler', '~> 2.0'
|
|
29
|
+
spec.add_development_dependency 'cucumber', '~> 8.0'
|
|
30
|
+
spec.add_development_dependency 'fakefs', '~> 1.0'
|
|
31
|
+
spec.add_development_dependency 'rake', '~> 13.0'
|
|
32
|
+
spec.add_development_dependency 'rspec', '~> 3.8'
|
|
32
33
|
spec.add_development_dependency 'rspec-side_effects', '~> 0.2.0'
|
|
33
|
-
spec.add_development_dependency 'rspec-tabular', '~> 0.
|
|
34
|
+
spec.add_development_dependency 'rspec-tabular', '~> 0.3.0'
|
|
34
35
|
|
|
35
36
|
# Dependencies whose APIs we do not really depend upon, and can be upgraded
|
|
36
37
|
# without limiting.
|
|
37
38
|
spec.add_development_dependency 'bundler-audit'
|
|
38
39
|
spec.add_development_dependency 'license_finder'
|
|
39
|
-
|
|
40
|
-
# can be removed once we drop support for Ruby2.2.
|
|
41
|
-
spec.add_development_dependency 'rubocop', '~> 0.68.0'
|
|
40
|
+
spec.add_development_dependency 'rubocop'
|
|
42
41
|
spec.add_development_dependency 'rubocop-rspec'
|
|
43
42
|
spec.add_development_dependency 'simplecov'
|
|
44
43
|
spec.add_development_dependency 'yard'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sugar_utils
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.7.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrew Sullivan Cant
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-10-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: multi_json
|
|
@@ -44,84 +44,84 @@ dependencies:
|
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 0
|
|
47
|
+
version: '2.0'
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 0
|
|
54
|
+
version: '2.0'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: bundler
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
59
|
- - "~>"
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
61
|
+
version: '2.0'
|
|
62
62
|
type: :development
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
66
|
- - "~>"
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '
|
|
68
|
+
version: '2.0'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: cucumber
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
73
|
- - "~>"
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version:
|
|
75
|
+
version: '8.0'
|
|
76
76
|
type: :development
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
80
|
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version:
|
|
82
|
+
version: '8.0'
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: fakefs
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
86
86
|
requirements:
|
|
87
87
|
- - "~>"
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '0
|
|
89
|
+
version: '1.0'
|
|
90
90
|
type: :development
|
|
91
91
|
prerelease: false
|
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
93
|
requirements:
|
|
94
94
|
- - "~>"
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: '0
|
|
96
|
+
version: '1.0'
|
|
97
97
|
- !ruby/object:Gem::Dependency
|
|
98
98
|
name: rake
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
|
100
100
|
requirements:
|
|
101
101
|
- - "~>"
|
|
102
102
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: '
|
|
103
|
+
version: '13.0'
|
|
104
104
|
type: :development
|
|
105
105
|
prerelease: false
|
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
107
|
requirements:
|
|
108
108
|
- - "~>"
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: '
|
|
110
|
+
version: '13.0'
|
|
111
111
|
- !ruby/object:Gem::Dependency
|
|
112
112
|
name: rspec
|
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
|
114
114
|
requirements:
|
|
115
115
|
- - "~>"
|
|
116
116
|
- !ruby/object:Gem::Version
|
|
117
|
-
version: 3.8
|
|
117
|
+
version: '3.8'
|
|
118
118
|
type: :development
|
|
119
119
|
prerelease: false
|
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
121
|
requirements:
|
|
122
122
|
- - "~>"
|
|
123
123
|
- !ruby/object:Gem::Version
|
|
124
|
-
version: 3.8
|
|
124
|
+
version: '3.8'
|
|
125
125
|
- !ruby/object:Gem::Dependency
|
|
126
126
|
name: rspec-side_effects
|
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -142,14 +142,14 @@ dependencies:
|
|
|
142
142
|
requirements:
|
|
143
143
|
- - "~>"
|
|
144
144
|
- !ruby/object:Gem::Version
|
|
145
|
-
version: 0.
|
|
145
|
+
version: 0.3.0
|
|
146
146
|
type: :development
|
|
147
147
|
prerelease: false
|
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
149
149
|
requirements:
|
|
150
150
|
- - "~>"
|
|
151
151
|
- !ruby/object:Gem::Version
|
|
152
|
-
version: 0.
|
|
152
|
+
version: 0.3.0
|
|
153
153
|
- !ruby/object:Gem::Dependency
|
|
154
154
|
name: bundler-audit
|
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -182,16 +182,16 @@ dependencies:
|
|
|
182
182
|
name: rubocop
|
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
|
184
184
|
requirements:
|
|
185
|
-
- - "
|
|
185
|
+
- - ">="
|
|
186
186
|
- !ruby/object:Gem::Version
|
|
187
|
-
version: 0
|
|
187
|
+
version: '0'
|
|
188
188
|
type: :development
|
|
189
189
|
prerelease: false
|
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
|
191
191
|
requirements:
|
|
192
|
-
- - "
|
|
192
|
+
- - ">="
|
|
193
193
|
- !ruby/object:Gem::Version
|
|
194
|
-
version: 0
|
|
194
|
+
version: '0'
|
|
195
195
|
- !ruby/object:Gem::Dependency
|
|
196
196
|
name: rubocop-rspec
|
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -248,17 +248,18 @@ dependencies:
|
|
|
248
248
|
- - ">="
|
|
249
249
|
- !ruby/object:Gem::Version
|
|
250
250
|
version: '0'
|
|
251
|
-
description:
|
|
251
|
+
description:
|
|
252
252
|
email:
|
|
253
253
|
- acant@sugarcrm.com
|
|
254
254
|
executables: []
|
|
255
255
|
extensions: []
|
|
256
256
|
extra_rdoc_files: []
|
|
257
257
|
files:
|
|
258
|
+
- ".github/workflows/ci.yml"
|
|
258
259
|
- ".gitignore"
|
|
259
260
|
- ".rspec"
|
|
260
261
|
- ".rubocop.yml"
|
|
261
|
-
- ".
|
|
262
|
+
- ".ruby-version"
|
|
262
263
|
- CHANGELOG.md
|
|
263
264
|
- CONTRIBUTING.md
|
|
264
265
|
- CONTRIBUTOR_TERMS.md
|
|
@@ -293,8 +294,9 @@ files:
|
|
|
293
294
|
homepage: http://github.com/sugarcrm/sugar_utils
|
|
294
295
|
licenses:
|
|
295
296
|
- Apache-2.0
|
|
296
|
-
metadata:
|
|
297
|
-
|
|
297
|
+
metadata:
|
|
298
|
+
rubygems_mfa_required: 'true'
|
|
299
|
+
post_install_message:
|
|
298
300
|
rdoc_options: []
|
|
299
301
|
require_paths:
|
|
300
302
|
- lib
|
|
@@ -302,34 +304,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
302
304
|
requirements:
|
|
303
305
|
- - ">="
|
|
304
306
|
- !ruby/object:Gem::Version
|
|
305
|
-
version: 2.
|
|
307
|
+
version: 2.6.0
|
|
306
308
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
307
309
|
requirements:
|
|
308
310
|
- - ">="
|
|
309
311
|
- !ruby/object:Gem::Version
|
|
310
312
|
version: '0'
|
|
311
313
|
requirements: []
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
signing_key:
|
|
314
|
+
rubygems_version: 3.0.3
|
|
315
|
+
signing_key:
|
|
315
316
|
specification_version: 4
|
|
316
317
|
summary: Utility methods extracted from SugarCRM Ruby projects.
|
|
317
|
-
test_files:
|
|
318
|
-
- features/append_file.feature
|
|
319
|
-
- features/atomic_write_file.feature
|
|
320
|
-
- features/change_file_access.feature
|
|
321
|
-
- features/ensure_boolean.feature
|
|
322
|
-
- features/ensure_integer.feature
|
|
323
|
-
- features/lock_file.feature
|
|
324
|
-
- features/read_file.feature
|
|
325
|
-
- features/read_json_file.feature
|
|
326
|
-
- features/scrub_encoding.feature
|
|
327
|
-
- features/step_definitions/steps.rb
|
|
328
|
-
- features/support/env.rb
|
|
329
|
-
- features/touch_file.feature
|
|
330
|
-
- features/write_file.feature
|
|
331
|
-
- features/write_json_file.feature
|
|
332
|
-
- spec/spec_helper.rb
|
|
333
|
-
- spec/sugar_utils/file/write_options_spec.rb
|
|
334
|
-
- spec/sugar_utils/file_spec.rb
|
|
335
|
-
- spec/sugar_utils_spec.rb
|
|
318
|
+
test_files: []
|
data/.travis.yml
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
language: ruby
|
|
2
|
-
rvm:
|
|
3
|
-
- 2.2
|
|
4
|
-
- 2.3
|
|
5
|
-
- 2.4.5
|
|
6
|
-
- 2.5.4
|
|
7
|
-
- 2.6.2
|
|
8
|
-
- ruby-head
|
|
9
|
-
- jruby
|
|
10
|
-
matrix:
|
|
11
|
-
exclude:
|
|
12
|
-
- rvm: jruby
|
|
13
|
-
os: osx
|
|
14
|
-
- rvm: ruby-head
|
|
15
|
-
os: osx
|
|
16
|
-
allow_failures:
|
|
17
|
-
- rvm: ruby-head
|
|
18
|
-
- rvm: jruby
|
|
19
|
-
os:
|
|
20
|
-
- linux
|
|
21
|
-
- osx
|
|
22
|
-
sudo: false
|
|
23
|
-
cache:
|
|
24
|
-
bundler: true
|
|
25
|
-
before_script:
|
|
26
|
-
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-darwin-amd64 > ./cc-test-reporter ; fi
|
|
27
|
-
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter ; fi
|
|
28
|
-
- chmod +x ./cc-test-reporter
|
|
29
|
-
- ./cc-test-reporter before-build
|
|
30
|
-
after_script:
|
|
31
|
-
- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
|
|
32
|
-
|
|
33
|
-
# HACK: Continue to use bundler <2 because of Ruby v2.2 support. Once the
|
|
34
|
-
# lowest dependency is Ruby v2.3 we can consider upgrading to Bundler 2.x.
|
|
35
|
-
# @see https://docs.travis-ci.com/user/languages/ruby/#bundler-20
|
|
36
|
-
before_install:
|
|
37
|
-
- gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
|
|
38
|
-
- gem install bundler -v '< 2'
|
|
39
|
-
|