class Spellr::Language
Attributes
key[R]
name[R]
Public Class Methods
new(name, key: name[0], includes: [], hashbangs: [], locale: [], addable: true)
click to toggle source
# File lib/spellr/language.rb, line 12 def initialize(name, key: name[0], includes: [], hashbangs: [], locale: [], addable: true) # rubocop:disable Metrics/ParameterLists @name = name @key = key @includes = includes + hashbangs.map { |h| "#!:#{h}" } @locales = Array(locale) @addable = addable end
Public Instance Methods
addable?()
click to toggle source
# File lib/spellr/language.rb, line 20 def addable? @addable end
matches?(file)
click to toggle source
# File lib/spellr/language.rb, line 35 def matches?(file) return true if @includes.empty? fast_ignore.allowed?(file.to_s, directory: false, content: file.first_line) end
project_wordlist()
click to toggle source
# File lib/spellr/language.rb, line 28 def project_wordlist @project_wordlist ||= Spellr::Wordlist.new( Spellr.pwd.join('.spellr_wordlists', "#{name}.txt"), name: name ) end
wordlists()
click to toggle source
# File lib/spellr/language.rb, line 24 def wordlists default_wordlists.select(&:exist?) end
Private Instance Methods
default_wordlists()
click to toggle source
# File lib/spellr/language.rb, line 63 def default_wordlists [ gem_wordlist, *locale_wordlists, project_wordlist ] end
fast_ignore()
click to toggle source
# File lib/spellr/language.rb, line 43 def fast_ignore @fast_ignore ||= FastIgnore.new( include_rules: @includes, gitignore: false, root: Spellr.pwd_s ) end
gem_wordlist()
click to toggle source
# File lib/spellr/language.rb, line 49 def gem_wordlist @gem_wordlist ||= Spellr::Wordlist.new( Pathname.new(__dir__).parent.parent.join('wordlists', "#{name}.txt") ) end
locale_wordlists()
click to toggle source
# File lib/spellr/language.rb, line 55 def locale_wordlists @locale_wordlists ||= @locales.map do |locale| Spellr::Wordlist.new( Pathname.new(__dir__).parent.parent.join('wordlists', name.to_s, "#{locale}.txt") ) end end