Sha256: 20b85c83a156f5331c0f241b4d8ef72645a853fb983c4c7a9043d922c5ebb55f

Contents?: true

Size: 1.35 KB

Versions: 3

Compression:

Stored size: 1.35 KB

Contents

module Workarea
  module Upgrade
    class Diff
      class WorkareaFile
        attr_reader :relative_path

        def self.find_files(root)
          Dir.glob("#{root}/**/*")
            .map { |f| f.gsub("#{root}/", '') }
            .select do |relative|
              !File.directory?("#{root}/#{relative}") &&
                !relative.include?('decorators/') &&
                (relative.include?('app/') || relative.include?('lib/')) &&
                !relative.end_with?('.decorator')
            end
            .map { |relative| new(root, relative) }
        end

        def self.find_decorators(root)
          Dir.glob("#{root}/app/decorators/**/*")
            .reject { |file| File.directory?(file) }
            .map { |file| file.gsub(root, '') }
            .map { |file| file.gsub('/app/decorators', 'app') }
            .map { |file| file.gsub('_decorator.rb', '.rb') }
            .map { |file| new(nil, file) } +
          Dir.glob("#{root}/app/**/*.decorator")
            .map { |file| file.gsub("#{root}/", '') }
            .map { |file| file.gsub('.decorator', '.rb') }
            .map { |file| new(nil, file) }
        end

        def initialize(root, relative_path)
          @root = root
          @relative_path = relative_path
        end

        def absolute_path
          "#{@root}/#{@relative_path}"
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
workarea-upgrade-3.0.4 lib/workarea/upgrade/diff/workarea_file.rb
workarea-upgrade-3.0.3 lib/workarea/upgrade/diff/workarea_file.rb
workarea-upgrade-3.0.2 lib/workarea/upgrade/diff/workarea_file.rb