Sha256: 327ec73cef27abfe315eecbddc60536a3c10e4f22ff94df7430177b9d52012ce
Contents?: true
Size: 921 Bytes
Versions: 6
Compression:
Stored size: 921 Bytes
Contents
module Middleman class PreviewServer class ServerHostname class ServerFullHostname < SimpleDelegator def to_s __getobj__.gsub(/\s/, '+') end def self.match?(*) true end alias_method :to_browser, :to_s end class ServerPlainHostname < SimpleDelegator def to_s __getobj__.gsub(/\s/, '+') + '.local' end def self.match?(name) # rubocop:disable Style/CaseEquality name != 'localhost' && /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?\.?$/ === name # rubocop:enable Style/CaseEquality end alias_method :to_browser, :to_s end def self.new(string) @names = [] @names << ServerPlainHostname @names << ServerFullHostname @names.find { |n| n.match? string }.new(string) end end end end
Version data entries
6 entries across 6 versions & 1 rubygems