Sha256: 5a5b3cbbf8d8f89d6a027ff9513772c13a0ae2e7a524b5faf69cb6a0193b1864
Contents?: true
Size: 1 KB
Versions: 1
Compression:
Stored size: 1 KB
Contents
module Munge module Routers class AutoAddExtension def initialize(keep_extensions:) @keep_extensions = keep_extensions end def type :route end def match?(initial_route, item) item_should_have_extension?(item) && route_doesnt_have_extension?(initial_route) end def call(initial_route, item) add_extension(initial_route, item) end private def add_extension(initial_route, item) intersection = item.extensions & @keep_extensions extension = intersection[0] "#{initial_route}.#{extension}" end def item_should_have_extension?(item) intersection = item.extensions & @keep_extensions intersection.length > 0 end def route_doesnt_have_extension?(initial_route) initial_route_extensions = initial_route.split(".")[1..-1] intersection = initial_route_extensions & @keep_extensions intersection.length == 0 end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
munge-0.6.0 | lib/munge/routers/auto_add_extension.rb |