Module: RBS

Defined in:
lib/rbs.rb,
lib/rbs/cli.rb,
lib/rbs/test.rb,
lib/rbs/types.rb,
lib/rbs/buffer.rb,
lib/rbs/errors.rb,
lib/rbs/writer.rb,
lib/rbs/factory.rb,
lib/rbs/locator.rb,
lib/rbs/version.rb,
lib/rbs/constant.rb,
lib/rbs/test/spy.rb,
lib/rbs/vendorer.rb,
lib/rbs/namespace.rb,
lib/rbs/test/hook.rb,
lib/rbs/type_name.rb,
lib/rbs/validator.rb,
lib/rbs/collection.rb,
lib/rbs/definition.rb,
lib/rbs/parser_aux.rb,
lib/rbs/repository.rb,
lib/rbs/ast/comment.rb,
lib/rbs/ast/members.rb,
lib/rbs/environment.rb,
lib/rbs/method_type.rb,
lib/rbs/test/errors.rb,
lib/rbs/test/tester.rb,
lib/rbs/char_scanner.rb,
lib/rbs/location_aux.rb,
lib/rbs/prototype/rb.rb,
lib/rbs/substitution.rb,
lib/rbs/builtin_names.rb,
lib/rbs/prototype/rbi.rb,
lib/rbs/test/observer.rb,
lib/rbs/ancestor_graph.rb,
lib/rbs/ast/annotation.rb,
lib/rbs/ast/type_param.rb,
lib/rbs/constant_table.rb,
lib/rbs/test/type_check.rb,
lib/rbs/ast/declarations.rb,
lib/rbs/collection/config.rb,
lib/rbs/prototype/helpers.rb,
lib/rbs/prototype/runtime.rb,
lib/rbs/test/setup_helper.rb,
lib/rbs/annotate/formatter.rb,
lib/rbs/collection/cleaner.rb,
lib/rbs/collection/sources.rb,
lib/rbs/definition_builder.rb,
lib/rbs/environment_loader.rb,
lib/rbs/environment_walker.rb,
lib/rbs/type_name_resolver.rb,
lib/rbs/variance_calculator.rb,
lib/rbs/annotate/annotations.rb,
lib/rbs/annotate/rdoc_source.rb,
lib/rbs/collection/installer.rb,
lib/rbs/type_alias_dependency.rb,
lib/rbs/type_alias_regularity.rb,
lib/rbs/collection/sources/git.rb,
lib/rbs/annotate/rdoc_annotator.rb,
lib/rbs/collection/sources/stdlib.rb,
lib/rbs/resolver/constant_resolver.rb,
lib/rbs/collection/sources/rubygems.rb,
lib/rbs/resolver/type_name_resolver.rb,
lib/rbs/definition_builder/method_builder.rb,
lib/rbs/definition_builder/ancestor_builder.rb,
lib/rbs/collection/config/lockfile_generator.rb

Defined Under Namespace

Modules: AST, Annotate, BuiltinNames, Collection, MethodNameHelper, Prototype, Resolver, Test, Types Classes: AncestorGraph, BaseError, Buffer, CLI, CharScanner, Constant, ConstantTable, CyclicTypeParameterBound, Definition, DefinitionBuilder, DefinitionError, DuplicatedDeclarationError, DuplicatedInterfaceMethodDefinitionError, DuplicatedMethodDefinitionError, Environment, EnvironmentLoader, EnvironmentWalker, Factory, GenericParameterMismatchError, InvalidOverloadMethodError, InvalidTypeApplicationError, InvalidVarianceAnnotationError, LoadingError, Location, Locator, MethodType, MixinClassError, Namespace, NoMixinFoundError, NoSelfTypeFoundError, NoSuperclassFoundError, NoTypeFoundError, NonregularTypeAliasError, Parser, ParsingError, RecursiveAliasDefinitionError, RecursiveAncestorError, RecursiveTypeAliasError, Repository, Substitution, SuperclassMismatchError, TypeAliasDependency, TypeAliasRegularity, TypeName, TypeNameResolver, UnknownMethodAliasError, Validator, VarianceCalculator, Vendorer, Writer

Constant Summary collapse

VERSION =
"2.5.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.logger_levelObject

Returns the value of attribute logger_level.



58
59
60
# File 'lib/rbs.rb', line 58

def logger_level
  @logger_level
end

.logger_outputObject

Returns the value of attribute logger_output.



59
60
61
# File 'lib/rbs.rb', line 59

def logger_output
  @logger_output
end

Class Method Details

.loggerObject



61
62
63
# File 'lib/rbs.rb', line 61

def logger
  @logger ||= Logger.new(logger_output || STDERR, level: logger_level || "warn", progname: "rbs")
end


75
76
77
78
79
80
81
82
83
84
# File 'lib/rbs.rb', line 75

def print_warning()
  @warnings ||= Set[]

  message = yield()

  unless @warnings.include?(message)
    @warnings << message
    logger.warn { message }
  end
end