dddr 1.1.2 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dddr/version.rb +1 -1
  3. data/lib/dddr.rb +18 -13
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cbf06845c3fffb2073721b00080de52829bd357ce8d38254f4cf871dc9411c1f
4
- data.tar.gz: 9db177525769ebca386819c550da01cce49557413994bd693a1d01e254a7a2aa
3
+ metadata.gz: a61d06c6ebc3616c3da5cb9529144c21227a87c9cc16066c3d30676f689d6315
4
+ data.tar.gz: e3d69c17b85e80c0c8b78ed560c1921b4ccddb766908e2798b5fab10c998a009
5
5
  SHA512:
6
- metadata.gz: 2011c4bf79e2a2dff40478c86aa86c53f2e7b5ecd62416b51ed9d03ac21d11d993c395a30736b757f312376ca40a8f56a1f722150c9b5859c80a7e4123bbf68f
7
- data.tar.gz: 428d36d5cfa9d9c44487ac236c1f5a2573a637aadaaa73d9aa1d0251432885b079ff78c5e752941009bc04d70dd9fde7f62ee6bbead9b8134953b3132702a1ce
6
+ metadata.gz: 3439a0a2a18760fdc510927d336e3e42b17a1cb933f602f21e7ea938f60c8d8bcd4585f54d2f7fd44bcd9f12cee428e83c7b2b791aa7ea4b7b056035dd60ebbc
7
+ data.tar.gz: 7a0bfeb34044c07b29a584f7000be838f0f2b48a0bc98d08e815f112ba4baf9b65b326e6c24627ae77f4ab6e90d811488a73e4ef885dc4b14d19c6d1dcc9d513
data/lib/dddr/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dddr
4
- VERSION = "1.1.2"
4
+ VERSION = "1.1.4"
5
5
  end
data/lib/dddr.rb CHANGED
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
-
3
2
  require "sdbm"
4
3
  require "securerandom"
5
4
  require "date"
6
5
  require "ostruct"
6
+ require "fileutils"
7
7
 
8
8
  require_relative "dddr/version"
9
9
 
@@ -68,19 +68,24 @@ module Dddr
68
68
  data_dir = Dddr.configuration.data_dir
69
69
  container = Dddr.configuration.container
70
70
  raise Dddr::Error, "Container name is required" unless container
71
- puts `sudo mkdir -p /var/dddr/#{container}`
72
-
73
- unless Dir.exist?(data_dir)
74
- if data_dir.include?("/var/")
75
- `sudo chown $USER #{data_dir}/#{container}/`
76
- `sudo mkdir -p #{data_dir}/#{container}/#{env}/`
77
-
78
- else
79
- `mkdir -p #{data_dir}/#{container}/#{env}/`
71
+
72
+ # Construct the target directory path
73
+ @name = "#{data_dir}/#{container}/#{env}/#{entity_class.name.downcase}"
74
+
75
+ begin
76
+ # Ensure all directories in the path are created
77
+ FileUtils.mkdir_p(@name)
78
+
79
+ # Change ownership only if the path starts with "/var/"
80
+ if @name.start_with?("/var/")
81
+ FileUtils.chown_R(ENV["USER"], nil, @name)
80
82
  end
83
+ rescue Errno::ENOENT => e
84
+ # Log or handle the error
85
+ raise "Failed to create or access the directory: #{e.message}"
81
86
  end
82
- @name = "#{data_dir}/#{container}/#{env}/#{entity_class.name.downcase}"
83
87
  end
88
+
84
89
 
85
90
  def count
86
91
  all.count
@@ -175,8 +180,8 @@ module Dddr
175
180
  self.uid = uid
176
181
  data_hash.each do |attribute, value|
177
182
  attribute = attribute.to_sym
178
- if respond_to?("#{attribute}=")
179
- send("#{attribute}=", value)
183
+ if respond_to?(:"#{attribute}=")
184
+ send(:"#{attribute}=", value)
180
185
  end
181
186
  end
182
187
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dddr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Delaney Burke