sugar_utils 0.3.0 → 0.4.0

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
  SHA1:
3
- metadata.gz: 4b841240e219afa9f5e780a7c3bd9ae389916c48
4
- data.tar.gz: fbb71eb94aaac991e157b215d3eb38c4af935fe2
3
+ metadata.gz: f1742a971ec43f0580b8a66eb40a6068f0bd70a5
4
+ data.tar.gz: 35a2e24ceb3eeac3109f9e9d300c20ea7a59ffe6
5
5
  SHA512:
6
- metadata.gz: fe6d9af436894005aed3882bc59387d5bb240a50780d32c1e0de9cc1443d8bbfac9ec146076a9a15d5d49d5abf80e736220f506de2ec30ed2db6a74a930fdf81
7
- data.tar.gz: eaf877c2a627817cc6f89837c51a35c89641abb6346633c6c74759a94242001c6dcc9021d5aca0a984111791d0527a610949d985192a1979edbd239ffbca6b31
6
+ metadata.gz: 82dd25fd3f8de787bf325343a948f44bc6f539d65b5b29f2476ae3f24fe235422159129184998cafc0505597a215e69d47a725e17e60ed8f40068de84090f4e6
7
+ data.tar.gz: 95b3f9228923c4aad53fb11d4d7a42a31b8ac832480aac4dc338f6859006f596765e9e8f5f853b053d83cb58afed9e19f2d6f68e682692b323f005deff94499a
data/CHANGELOG.md CHANGED
@@ -2,6 +2,11 @@
2
2
  All notable changes to this project will be documented in this file.
3
3
  This project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
+ ## [0.4.0] - 2017-05-17
6
+ ### Added
7
+ - SugarUtils::File.touch, which will ensure the directory before touching the
8
+ specified file
9
+
5
10
  ## [0.3.0] - 2017-03-29
6
11
  ### Added
7
12
  - SugarUtils::File.read, with locking and error handling when reading a plain
data/Rakefile CHANGED
@@ -11,7 +11,7 @@ RSpec::Core::RakeTask.new(:spec)
11
11
 
12
12
  RuboCop::RakeTask.new(:rubocop) do |task|
13
13
  FileUtils.mkdir_p('tmp')
14
- task.options = %w(--format progress --format simple --out tmp/rubocop.txt)
14
+ task.options = %w[--format progress --format simple --out tmp/rubocop.txt]
15
15
  end
16
16
 
17
17
  YARD::Rake::YardocTask.new do |t|
@@ -23,6 +23,6 @@ Yardstick::Rake::Measurement.new(:yardstick_measure) do |measurement|
23
23
  measurement.output = 'tmp/yard_coverage.txt'
24
24
  end
25
25
 
26
- task quality: %i(rubocop yardstick_measure)
26
+ task quality: %i[rubocop yardstick_measure]
27
27
 
28
28
  task default: [:spec]
@@ -73,6 +73,14 @@ module SugarUtils
73
73
  raise(Error, "Cannot parse #{filename}")
74
74
  end
75
75
 
76
+ # @param [String] filename
77
+ #
78
+ # @return [void]
79
+ def self.touch(filename)
80
+ FileUtils.mkdir_p(::File.dirname(filename))
81
+ FileUtils.touch(filename)
82
+ end
83
+
76
84
  # @param [String] filename
77
85
  # @param [#to_s] data
78
86
  # @param [Hash] options
@@ -1,5 +1,5 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
 
3
3
  module SugarUtils
4
- VERSION = '0.3.0'.freeze
4
+ VERSION = '0.4.0'.freeze
5
5
  end
data/spec/spec_helper.rb CHANGED
@@ -17,9 +17,7 @@ SimpleCov.start
17
17
  SolidAssert.enable_assertions
18
18
 
19
19
  RSpec.configure do |config|
20
- # rubocop:disable Style/MixinGrouping
21
20
  config.include FakeFS::SpecHelpers, fakefs: true
22
- # rubocop:enable all
23
21
  end
24
22
 
25
23
  RSpec::Matchers.define :have_json_content do |expected|
@@ -97,6 +97,27 @@ describe SugarUtils::File do
97
97
  it_with Hash['key' => 'value'].to_json, Hash['key' => 'value']
98
98
  end
99
99
 
100
+ describe '.touch', :fakefs do
101
+ subject { described_class.touch(filename) }
102
+
103
+ before { subject }
104
+
105
+ context 'without path' do
106
+ let(:filename) { 'filename' }
107
+ it { expect(File.exist?(filename)).to eq(true) }
108
+ end
109
+
110
+ context 'with path' do
111
+ let(:filename) { 'path1/path2/filename' }
112
+ it { expect(File.exist?(filename)).to eq(true) }
113
+ end
114
+
115
+ context 'with absolute path' do
116
+ let(:filename) { '/path1/path2/filename' }
117
+ it { expect(File.exist?(filename)).to eq(true) }
118
+ end
119
+ end
120
+
100
121
  describe '.write', :fakefs do
101
122
  subject { described_class.write(filename, data, options) }
102
123
  let(:data) { 'content' }
data/sugar_utils.gemspec CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.required_ruby_version = '>= 2.0.0'
22
22
 
23
- spec.add_dependency 'multi_json', '~> 1.12.1'
23
+ spec.add_dependency 'multi_json', '~> 1.0'
24
24
  spec.add_dependency 'solid_assert', '~> 1.0'
25
25
 
26
26
  spec.add_development_dependency 'bundler', '~> 1.7'
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.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Sullivan Cant
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-29 00:00:00.000000000 Z
11
+ date: 2017-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.12.1
19
+ version: '1.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.12.1
26
+ version: '1.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: solid_assert
29
29
  requirement: !ruby/object:Gem::Requirement