Class: Dependabot::RustToolchain::Models::RustToolchainToml

Inherits:
T::ImmutableStruct
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/dependabot/rust_toolchain/models/rust_toolchain_toml.rb

Overview

Typed struct for rust-toolchain.toml file structure rust-lang.github.io/rustup/overrides.html#the-toolchain-file

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.from_toml(toml_string) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/dependabot/rust_toolchain/models/rust_toolchain_toml.rb', line 23

def self.from_toml(toml_string)
  parsed_data = TomlRB.parse(toml_string)
  data = T.cast(parsed_data, T::Hash[String, T.untyped])

  toolchain_data = T.cast(data["toolchain"], T::Hash[String, T.untyped])
  new(
    toolchain: RustToolchainConfig.from_hash(toolchain_data)
  )
rescue TomlRB::ParseError, TypeError => e
  raise Dependabot::DependencyFileNotParseable, "Invalid TOML syntax: #{e.message}"
end

Instance Method Details

#channelObject



37
38
39
# File 'lib/dependabot/rust_toolchain/models/rust_toolchain_toml.rb', line 37

def channel
  toolchain.channel
end