mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Merge pull request #20124 from Homebrew/add-cask-config-rbi-compiler
Add Cask::Config RBI compiler
This commit is contained in:
commit
768c10c6fb
58
Library/Homebrew/sorbet/rbi/dsl/cask/config.rbi
Normal file
58
Library/Homebrew/sorbet/rbi/dsl/cask/config.rbi
Normal file
@ -0,0 +1,58 @@
|
||||
# typed: true
|
||||
|
||||
# DO NOT EDIT MANUALLY
|
||||
# This is an autogenerated file for dynamic methods in `Cask::Config`.
|
||||
# Please instead update this file by running `bin/tapioca dsl Cask::Config`.
|
||||
|
||||
|
||||
module Cask
|
||||
class Config
|
||||
sig { returns(String) }
|
||||
def appdir; end
|
||||
|
||||
sig { returns(String) }
|
||||
def audio_unit_plugindir; end
|
||||
|
||||
sig { returns(String) }
|
||||
def colorpickerdir; end
|
||||
|
||||
sig { returns(String) }
|
||||
def dictionarydir; end
|
||||
|
||||
sig { returns(String) }
|
||||
def fontdir; end
|
||||
|
||||
sig { returns(String) }
|
||||
def input_methoddir; end
|
||||
|
||||
sig { returns(String) }
|
||||
def internet_plugindir; end
|
||||
|
||||
sig { returns(String) }
|
||||
def keyboard_layoutdir; end
|
||||
|
||||
sig { returns(T::Array[String]) }
|
||||
def languages; end
|
||||
|
||||
sig { returns(String) }
|
||||
def mdimporterdir; end
|
||||
|
||||
sig { returns(String) }
|
||||
def prefpanedir; end
|
||||
|
||||
sig { returns(String) }
|
||||
def qlplugindir; end
|
||||
|
||||
sig { returns(String) }
|
||||
def screen_saverdir; end
|
||||
|
||||
sig { returns(String) }
|
||||
def servicedir; end
|
||||
|
||||
sig { returns(String) }
|
||||
def vst3_plugindir; end
|
||||
|
||||
sig { returns(String) }
|
||||
def vst_plugindir; end
|
||||
end
|
||||
end
|
37
Library/Homebrew/sorbet/tapioca/compilers/cask/config.rb
Normal file
37
Library/Homebrew/sorbet/tapioca/compilers/cask/config.rb
Normal file
@ -0,0 +1,37 @@
|
||||
# typed: strict
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "../../../../global"
|
||||
require "cask/config"
|
||||
|
||||
module Tapioca
|
||||
module Compilers
|
||||
class CaskConfig < Tapioca::Dsl::Compiler
|
||||
ConstantType = type_member { { fixed: Module } }
|
||||
|
||||
sig { override.returns(T::Enumerable[Module]) }
|
||||
def self.gather_constants = [Cask::Config]
|
||||
|
||||
sig { override.void }
|
||||
def decorate
|
||||
root.create_module("Cask") do |mod|
|
||||
mod.create_class("Config") do |klass|
|
||||
Cask::Config.defaults.each do |key, value|
|
||||
return_type = if key == :languages
|
||||
# :languages is a `LazyObject`, so it lazily evaluates to an
|
||||
# array of strings when a method is called on it.
|
||||
"T::Array[String]"
|
||||
elsif key.end_with?("?")
|
||||
"T::Boolean"
|
||||
else
|
||||
value.class.to_s
|
||||
end
|
||||
|
||||
klass.create_method(key.to_s, return_type:, class_method: false)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
x
Reference in New Issue
Block a user