Sha256: b90682ad307f3efc49726ff1f8014352dd0b75a465360766233a12e11000ff52
Contents?: true
Size: 593 Bytes
Versions: 4
Compression:
Stored size: 593 Bytes
Contents
require_relative '../collection' # rubocop:disable Lint/UnusedMethodArgument - # this is because #resolve is supporting a duck typed interface and needs the env parameter class SiteHub class Collection < Hash class RouteCollection < Collection def add(id, route, *_opts) self[id] = route end def valid? !keys.empty? end def resolve(id: nil, env: nil) return values.first unless values.find(&:rule) result = values.find { |route| route.applies?(env) } result && result.resolve(env: env) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems