stashify 1.0.1 → 1.0.3

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: 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