stashify 1.0.1 → 1.0.3

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: 9469fa1d661bcb4852b3eb11964c6838dc3fd26185d3847f0fc5186fce4610d8
4
- data.tar.gz: 6f4ea369267528677dd3a2ed2800bab46348733894020a4a74ee75704c8a3db2
3
+ metadata.gz: e973c2f24b46e43537a97ef45788e7d01857acee21951387431256dd5c78e5ab
4
+ data.tar.gz: 5f5ec864ba95d82d669fc0682ecf7b57f248926eb7dd0599a2e7d07e9ed7f58a
5
5
  SHA512:
6
- metadata.gz: '078f0add9fe974e70e6b53e379ec9d183794414db193df3e0c225ddae3087f86296a7620f5b48e38654182e63ab941c9532a5cc46bbdee54cf89782de40db5e2'
7
- data.tar.gz: 0d6845f6dbc623843be2e4fa6441635eb0281dedb1bf73ba72a331eded002dd485a693bd141a98a87decbba7f4f48b4918c6b53b9ed20f77306763f39638af68
6
+ metadata.gz: 3c48b8022c40151ead151db9cca51ae45cde5d8f921d17e544b46c3a90418818025d1fbf8748dd09f9814432d0b8e4b4cb75a555d400cc22980dd37208edd873
7
+ data.tar.gz: bb9c80f96a94b1484d4eb22627c11f5331b68e24765549ec95e1680cec022a80d87858bd11e2bcd17140c8ade63f18f19cf937d79c19010b770c74a00d9cefc3
data/.rubocop.yml CHANGED
@@ -19,3 +19,6 @@ Layout/LineLength:
19
19
  Metrics/BlockLength:
20
20
  AllowedMethods:
21
21
  - describe
22
+
23
+ Style/TrailingCommaInArguments:
24
+ EnforcedStyleForMultiline: consistent_comma
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- stashify (1.1)
4
+ stashify (1.0.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -13,13 +13,13 @@ module Stashify
13
13
  super(name: ::File.basename(path))
14
14
  end
15
15
 
16
- def write(file)
17
- path = ::File.join(@path, file.name)
18
- if file.is_a?(Stashify::Directory)
19
- FileUtils.mkdir(path)
20
- else
21
- ::File.write(path, file.contents)
22
- end
16
+ def write_directory(directory)
17
+ FileUtils.mkdir(path_of(directory.name))
18
+ super
19
+ end
20
+
21
+ def write_file(file)
22
+ ::File.write(path_of(file.name), file.contents)
23
23
  end
24
24
 
25
25
  def delete(name)
@@ -31,6 +31,12 @@ module Stashify
31
31
  end
32
32
  end
33
33
 
34
+ def files
35
+ Dir.entries(@path).grep_v(/^[.][.]?$/).map do |file_name|
36
+ find(::File.basename(file_name))
37
+ end
38
+ end
39
+
34
40
  def ==(other)
35
41
  @path == other.path
36
42
  end
@@ -2,10 +2,11 @@
2
2
 
3
3
  module Stashify
4
4
  class Directory
5
- attr_reader :name
5
+ attr_reader :name, :files
6
6
 
7
- def initialize(name:)
7
+ def initialize(name:, files: [])
8
8
  @name = name
9
+ @files = files
9
10
  end
10
11
 
11
12
  def find(name)
@@ -15,5 +16,18 @@ module Stashify
15
16
  file(name)
16
17
  end
17
18
  end
19
+
20
+ def write(file)
21
+ if file.is_a?(Stashify::Directory)
22
+ write_directory(file)
23
+ else
24
+ write_file(file)
25
+ end
26
+ end
27
+
28
+ def write_directory(directory)
29
+ subdir = self.directory(directory.name)
30
+ directory.files.each { |file| subdir.write(file) }
31
+ end
18
32
  end
19
33
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Stashify
4
- VERSION = "1.0.1"
4
+ VERSION = "1.0.3"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stashify
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lambda Null