Module: RBS

Defined in:
lib/rbs.rb,
lib/rbs/cli.rb,
lib/rbs/diff.rb,
lib/rbs/test.rb,
lib/rbs/types.rb,
lib/rbs/buffer.rb,
lib/rbs/errors.rb,
lib/rbs/sorter.rb,
lib/rbs/writer.rb,
lib/rbs/factory.rb,
lib/rbs/locator.rb,
lib/rbs/version.rb,
lib/rbs/cli/diff.rb,
lib/rbs/constant.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/subtractor.rb,
lib/rbs/ast/comment.rb,
lib/rbs/ast/members.rb,
lib/rbs/ast/visitor.rb,
lib/rbs/environment.rb,
lib/rbs/file_finder.rb,
lib/rbs/method_type.rb,
lib/rbs/test/errors.rb,
lib/rbs/test/tester.rb,
lib/rbs/cli/validate.rb,
lib/rbs/location_aux.rb,
lib/rbs/parser/token.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/unit_test/spy.rb,
lib/rbs/ancestor_graph.rb,
lib/rbs/ast/annotation.rb,
lib/rbs/ast/directives.rb,
lib/rbs/ast/type_param.rb,
lib/rbs/cli/colored_io.rb,
lib/rdoc_plugin/parser.rb,
lib/rbs/test/guaranteed.rb,
lib/rbs/test/type_check.rb,
lib/rbs/ast/declarations.rb,
lib/rbs/collection/config.rb,
lib/rbs/parser/lex_result.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/environment/use_map.rb,
lib/rbs/variance_calculator.rb,
lib/rbs/annotate/annotations.rb,
lib/rbs/annotate/rdoc_source.rb,
lib/rbs/collection/installer.rb,
lib/rbs/prototype/node_usage.rb,
lib/rbs/type_alias_dependency.rb,
lib/rbs/type_alias_regularity.rb,
lib/rbs/collection/sources/git.rb,
lib/rbs/unit_test/convertibles.rb,
lib/rbs/unit_test/with_aliases.rb,
lib/rbs/annotate/rdoc_annotator.rb,
lib/rbs/collection/sources/base.rb,
lib/rbs/collection/sources/local.rb,
lib/rbs/collection/sources/stdlib.rb,
lib/rbs/prototype/runtime/helpers.rb,
lib/rbs/unit_test/type_assertions.rb,
lib/rbs/collection/config/lockfile.rb,
lib/rbs/resolver/constant_resolver.rb,
lib/rbs/collection/sources/rubygems.rb,
lib/rbs/resolver/type_name_resolver.rb,
lib/rbs/prototype/runtime/reflection.rb,
lib/rbs/definition_builder/method_builder.rb,
lib/rbs/definition_builder/ancestor_builder.rb,
lib/rbs/collection/config/lockfile_generator.rb,
lib/rbs/prototype/runtime/value_object_generator.rb

Defined Under Namespace

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

Constant Summary collapse

VERSION =
"3.8.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.logger_levelObject

Returns the value of attribute logger_level.



65
66
67
# File 'lib/rbs.rb', line 65

def logger_level
  @logger_level
end

.logger_outputObject

Returns the value of attribute logger_output.



66
67
68
# File 'lib/rbs.rb', line 66

def logger_output
  @logger_output
end

Class Method Details

.loggerObject



68
69
70
# File 'lib/rbs.rb', line 68

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


82
83
84
85
86
87
88
89
90
91
# File 'lib/rbs.rb', line 82

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

  message = yield()

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