Sha256: 9ed1535dea35b8312327da4ce7d621e94709c7dbfe43c3e4b54c3d1ebaa5657c

Contents?: true

Size: 691 Bytes

Versions: 23

Compression:

Stored size: 691 Bytes

Contents

# frozen_string_literal: true

require 'rubycritic/analysers/helpers/parser'

module RubyCritic
  class ModulesLocator
    def initialize(analysed_module)
      @analysed_module = analysed_module
    end

    def first_name
      names.first
    end

    def names
      names = node.module_names
      if names.empty?
        name_from_path
      else
        names
      end
    end

    private

    def node
      Parser.parse(content)
    end

    def content
      File.read(@analysed_module.path)
    end

    def name_from_path
      [file_name.split('_').map(&:capitalize).join]
    end

    def file_name
      @analysed_module.pathname.basename.sub_ext('').to_s
    end
  end
end

Version data entries

23 entries across 23 versions & 2 rubygems

Version Path
rubycritic-4.8.1 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-4.8.0 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-4.7.0 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-4.6.1 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-4.6.0 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-4.5.2 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-4.5.1 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-4.5.0 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-4.4.1 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-4.4.0 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-4.3.3 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-4.3.2 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-4.3.1 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-4.3.0 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-4.2.2 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-4.2.1 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-4.2.0 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-simplecov-4.1.1 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-simplecov-4.1.0 lib/rubycritic/analysers/helpers/modules_locator.rb
rubycritic-4.1.0 lib/rubycritic/analysers/helpers/modules_locator.rb