mirror of
https://github.com/cmur2/dyndnsd.git
synced 2025-07-04 09:11:17 +02:00
wip: add steep and RBS
This commit is contained in:
21
sig/dyndnsd/database.rbs
Normal file
21
sig/dyndnsd/database.rbs
Normal file
@ -0,0 +1,21 @@
|
||||
module Dyndnsd
|
||||
class Database
|
||||
extend Forwardable
|
||||
|
||||
def initialize: (string db_file) -> void
|
||||
|
||||
def load: () -> void
|
||||
|
||||
def save: () -> void
|
||||
|
||||
def changed?: () -> bool
|
||||
|
||||
def []: (string key) -> untyped
|
||||
|
||||
def []=: (string key, untyped value) -> void
|
||||
|
||||
def each: () { (string key, untyped value) -> void } -> void
|
||||
|
||||
def has_key?: (string key) -> bool
|
||||
end
|
||||
end
|
9
sig/dyndnsd/generator/bind.rbs
Normal file
9
sig/dyndnsd/generator/bind.rbs
Normal file
@ -0,0 +1,9 @@
|
||||
module Dyndnsd
|
||||
module Generator
|
||||
class Bind
|
||||
def initialize: (String domain, Hash[String, untyped] updater_params) -> void
|
||||
|
||||
def generate: (Dyndnsd::Database db) -> string
|
||||
end
|
||||
end
|
||||
end
|
32
sig/dyndnsd/helper.rbs
Normal file
32
sig/dyndnsd/helper.rbs
Normal file
@ -0,0 +1,32 @@
|
||||
module Dyndnsd
|
||||
type users = Hash[String, Hash[String, String]]
|
||||
type hosts = Hash[String, Array[String]]
|
||||
|
||||
class Helper
|
||||
# @param hostname [String]
|
||||
# @param domain [String]
|
||||
# @return [Boolean]
|
||||
def self.fqdn_valid?: (String hostname, String domain) -> bool
|
||||
|
||||
# @param ip [String]
|
||||
# @return [Boolean]
|
||||
def self.ip_valid?: (String ip) -> bool
|
||||
|
||||
# @param username [String]
|
||||
# @param password [String]
|
||||
# @param users [Hash]
|
||||
# @return [Boolean]
|
||||
def self.user_allowed?: (String username, String password, users users) -> bool
|
||||
|
||||
# @param hostname [String]
|
||||
# @param myips [Array]
|
||||
# @param hosts [Hash]
|
||||
# @return [Boolean]
|
||||
def self.changed?: (String hostname, Array[String] myips, hosts hosts) -> bool
|
||||
|
||||
# @param operation [String]
|
||||
# @param block [Proc]
|
||||
# @return [void]
|
||||
def self.span: (String operation) { (untyped) -> untyped } -> untyped
|
||||
end
|
||||
end
|
19
sig/dyndnsd/responder/dyndns_style.rbs
Normal file
19
sig/dyndnsd/responder/dyndns_style.rbs
Normal file
@ -0,0 +1,19 @@
|
||||
module Dyndnsd
|
||||
module Responder
|
||||
class DynDNSStyle
|
||||
def initialize: (_App app) -> void
|
||||
|
||||
def call: (env env) -> response?
|
||||
|
||||
private
|
||||
|
||||
def decorate_dyndnsd_response: (int status_code, headers headers, Array[untyped] body) -> response?
|
||||
|
||||
def decorate_other_response: (int status_code, headers headers, Array[untyped] _body) -> response?
|
||||
|
||||
def get_success_body: (Array[Symbol] changes, Array[string] myips) -> string
|
||||
|
||||
def error_response_map: () -> Hash[string, response]
|
||||
end
|
||||
end
|
||||
end
|
19
sig/dyndnsd/responder/rest_style.rbs
Normal file
19
sig/dyndnsd/responder/rest_style.rbs
Normal file
@ -0,0 +1,19 @@
|
||||
module Dyndnsd
|
||||
module Responder
|
||||
class RestStyle
|
||||
def initialize: (_App app) -> void
|
||||
|
||||
def call: (env env) -> response?
|
||||
|
||||
private
|
||||
|
||||
def decorate_dyndnsd_response: (int status_code, headers headers, Array[untyped] body) -> response?
|
||||
|
||||
def decorate_other_response: (int status_code, headers headers, Array[untyped] _body) -> response?
|
||||
|
||||
def get_success_body: (Array[Symbol] changes, Array[string] myips) -> string
|
||||
|
||||
def error_response_map: () -> Hash[string, response]
|
||||
end
|
||||
end
|
||||
end
|
17
sig/dyndnsd/textfile_reporter.rbs
Normal file
17
sig/dyndnsd/textfile_reporter.rbs
Normal file
@ -0,0 +1,17 @@
|
||||
module Dyndnsd
|
||||
class TextfileReporter
|
||||
attr_reader file: String
|
||||
|
||||
def initialize: (String file, ?Hash[Symbol, untyped] options) -> void
|
||||
|
||||
def start: () -> void
|
||||
|
||||
def stop: () -> void
|
||||
|
||||
def restart: () -> void
|
||||
|
||||
def write: () -> void
|
||||
|
||||
def write_metric: (File file, String base_name, untyped metric, Array[Symbol] keys, Array[Symbol] snapshot_keys) -> void
|
||||
end
|
||||
end
|
9
sig/dyndnsd/updater/command_with_bind_zone.rbs
Normal file
9
sig/dyndnsd/updater/command_with_bind_zone.rbs
Normal file
@ -0,0 +1,9 @@
|
||||
module Dyndnsd
|
||||
module Updater
|
||||
class CommandWithBindZone
|
||||
def initialize: (String domain, Hash[String, untyped] updater_params) -> void
|
||||
|
||||
def update: (Dyndnsd::Database db) -> void
|
||||
end
|
||||
end
|
||||
end
|
39
sig/dyndnsd/updater/zone_transfer_server.rbs
Normal file
39
sig/dyndnsd/updater/zone_transfer_server.rbs
Normal file
@ -0,0 +1,39 @@
|
||||
module Dyndnsd
|
||||
module Updater
|
||||
class ZoneTransferServer
|
||||
DEFAULT_SERVER_LISTENS: Array[String]
|
||||
|
||||
def initialize: (String domain, Hash[String, untyped] updater_params) -> void
|
||||
|
||||
def update: (Dyndnsd::Database db) -> void
|
||||
|
||||
# converts into suitable parameter form for Async::DNS::Resolver or Async::DNS::Server
|
||||
#
|
||||
# @param endpoint_list [Array<String>]
|
||||
# @return [Array{Array{Object}}]
|
||||
def self.parse_endpoints: (Array[String] endpoint_list) -> Array[Array[untyped]]
|
||||
|
||||
private
|
||||
|
||||
# creates correct Resolv::DNS::Resource object for IP address type
|
||||
#
|
||||
# @param ip_string [String]
|
||||
# @return [Resolv::DNS::Resource::IN::A,Resolv::DNS::Resource::IN::AAAA]
|
||||
def create_addr_rr_for_ip: (String ip_string) -> untyped
|
||||
|
||||
def send_dns_notify: () -> void
|
||||
end
|
||||
|
||||
class ZoneTransferServerHelper #< Async::DNS::Server
|
||||
attr_accessor axfr_rrs: untyped
|
||||
|
||||
def initialize: (untyped endpoints, String domain) -> void
|
||||
|
||||
# @param name [String]
|
||||
# @param resource_class [Resolv::DNS::Resource]
|
||||
# Since solargraph cannot parse this: param transaction [Async::DNS::Transaction]
|
||||
# @return [void]
|
||||
def process: (String name, untyped resource_class, untyped transaction) -> void
|
||||
end
|
||||
end
|
||||
end
|
3
sig/dyndnsd/version.rbs
Normal file
3
sig/dyndnsd/version.rbs
Normal file
@ -0,0 +1,3 @@
|
||||
module Dyndnsd
|
||||
VERSION: ::String
|
||||
end
|
Reference in New Issue
Block a user