Sha256: cd16b503ffdf969f5d9e60c4eb11fc71ef574cca674424230d9ee47d502a9511

Contents?: true

Size: 782 Bytes

Versions: 23

Compression:

Stored size: 782 Bytes

Contents

# frozen_string_literal: true

require 'ostruct'

module EhbrsRubyUtils
  module WebUtils
    module Videos
      class File < ::SimpleDelegator
        def initialize(data)
          super(::OpenStruct.new(data))
        end

        def exist?
          ::File.exist?(original_path)
        end

        def path_changed?
          original_path != new_path
        end

        def can_rename?
          ::File.exist?(original_path) && !::File.exist?(new_path)
        end

        def remove
          return unless exist?

          ::File.unlink(original_path)
        end

        def rename
          return unless can_rename?

          ::FileUtils.mkdir_p(::File.dirname(new_path))
          ::FileUtils.mv(original_path, new_path)
        end
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 2 rubygems

Version Path
ehbrs_ruby_utils-0.7.0 lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs-tools-0.24.0 vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs_ruby_utils-0.6.1 lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs_ruby_utils-0.6.0 lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs-tools-0.23.1 vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs-tools-0.23.0 vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs-tools-0.22.0 vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs-tools-0.21.0 vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs-tools-0.20.0 vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs-tools-0.19.0 vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs-tools-0.18.0 vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs-tools-0.17.0 vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs_ruby_utils-0.5.1 lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs-tools-0.16.5 vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs-tools-0.16.4 vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs-tools-0.16.3 vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs_ruby_utils-0.5.0 lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs-tools-0.16.2 vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs_ruby_utils-0.4.0 lib/ehbrs_ruby_utils/web_utils/videos/file.rb
ehbrs-tools-0.16.1 vendor/ehbrs_ruby_utils/lib/ehbrs_ruby_utils/web_utils/videos/file.rb