PATH: //opt/alt/ruby26/lib64/ruby/2.6.0/bundler
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
📄 build_metadata.rb
↓
X
📄 capistrano.rb
↓
X
📁 cli/
X
📄 cli.rb
↓
X
📁 compact_index_client/
X
📄 compact_index_client.rb
↓
X
📄 compatibility_guard.rb
↓
X
📄 constants.rb
↓
X
📄 current_ruby.rb
↓
X
📄 definition.rb
↓
X
📄 dep_proxy.rb
↓
X
📄 dependency.rb
↓
X
📄 deployment.rb
↓
X
📄 deprecate.rb
↓
X
📄 dsl.rb
↓
X
📄 endpoint_specification.rb
↓
X
📄 env.rb
↓
X
📄 environment_preserver.rb
↓
X
📄 errors.rb
↓
X
📄 feature_flag.rb
↓
X
📁 fetcher/
X
📄 fetcher.rb
↓
X
📄 friendly_errors.rb
↓
X
📄 gem_helper.rb
↓
X
📄 gem_helpers.rb
↓
X
📄 gem_remote_fetcher.rb
↓
X
📄 gem_tasks.rb
↓
X
📄 gem_version_promoter.rb
↓
X
📄 gemdeps.rb
↓
X
📄 graph.rb
↓
X
📄 index.rb
↓
X
📄 injector.rb
↓
X
📄 inline.rb
↓
X
📁 installer/
X
📄 installer.rb
↓
X
📄 lazy_specification.rb
↓
X
📄 lockfile_generator.rb
↓
X
📄 lockfile_parser.rb
↓
X
📄 match_platform.rb
↓
X
📄 mirror.rb
↓
X
📁 plugin/
X
📄 plugin.rb
↓
X
📄 process_lock.rb
↓
X
📄 psyched_yaml.rb
↓
X
📄 remote_specification.rb
↓
X
📁 resolver/
X
📄 resolver.rb
↓
X
📄 retry.rb
↓
X
📄 ruby_dsl.rb
↓
X
📄 ruby_version.rb
↓
X
📄 rubygems_ext.rb
↓
X
📄 rubygems_gem_installer.rb
↓
X
📄 rubygems_integration.rb
↓
X
📄 runtime.rb
↓
X
📁 settings/
X
📄 settings.rb
↓
X
📄 setup.rb
↓
X
📄 shared_helpers.rb
↓
X
📄 similarity_detector.rb
↓
X
📁 source/
X
📄 source.rb
↓
X
📄 source_list.rb
↓
X
📄 spec_set.rb
↓
X
📁 ssl_certs/
X
📄 stub_specification.rb
↓
X
📁 templates/
X
📁 ui/
X
📄 ui.rb
↓
X
📄 uri_credentials_filter.rb
↓
X
📁 vendor/
X
📄 vendored_fileutils.rb
↓
X
📄 vendored_molinillo.rb
↓
X
📄 vendored_persistent.rb
↓
X
📄 vendored_thor.rb
↓
X
📄 version.rb
↓
X
📄 version_ranges.rb
↓
X
📄 vlad.rb
↓
X
📄 worker.rb
↓
X
📄 yaml_serializer.rb
↓
X
SAVING...
BERHASIL DIUBAH!
EDITING: similarity_detector.rb
# frozen_string_literal: true module Bundler class SimilarityDetector SimilarityScore = Struct.new(:string, :distance) # initialize with an array of words to be matched against def initialize(corpus) @corpus = corpus end # return an array of words similar to 'word' from the corpus def similar_words(word, limit = 3) words_by_similarity = @corpus.map {|w| SimilarityScore.new(w, levenshtein_distance(word, w)) } words_by_similarity.select {|s| s.distance <= limit }.sort_by(&:distance).map(&:string) end # return the result of 'similar_words', concatenated into a list # (eg "a, b, or c") def similar_word_list(word, limit = 3) words = similar_words(word, limit) if words.length == 1 words[0] elsif words.length > 1 [words[0..-2].join(", "), words[-1]].join(" or ") end end protected # http://www.informit.com/articles/article.aspx?p=683059&seqNum=36 def levenshtein_distance(this, that, ins = 2, del = 2, sub = 1) # ins, del, sub are weighted costs return nil if this.nil? return nil if that.nil? dm = [] # distance matrix # Initialize first row values dm[0] = (0..this.length).collect {|i| i * ins } fill = [0] * (this.length - 1) # Initialize first column values (1..that.length).each do |i| dm[i] = [i * del, fill.flatten] end # populate matrix (1..that.length).each do |i| (1..this.length).each do |j| # critical comparison dm[i][j] = [ dm[i - 1][j - 1] + (this[j - 1] == that[i - 1] ? 0 : sub), dm[i][j - 1] + ins, dm[i - 1][j] + del ].min end end # The last value in matrix is the Levenshtein distance between the strings dm[that.length][this.length] end end end
SIMPAN PERUBAHAN