Sha256: 65de531c5a3a7e4d2ddf0c2197999090a6571775a0ad3a74e8927f2107d5fbb0
Contents?: true
Size: 721 Bytes
Versions: 49
Compression:
Stored size: 721 Bytes
Contents
# frozen_string_literal: true module Nanoc::RuleDSL class Rule include Nanoc::Core::ContractsSupport contract C::None => Symbol attr_reader :rep_name contract C::None => Nanoc::Core::Pattern attr_reader :pattern contract Nanoc::Core::Pattern, Symbol, Proc => C::Any def initialize(pattern, rep_name, block) @pattern = pattern @rep_name = rep_name.to_sym @block = block end contract Nanoc::Core::Item => C::Bool def applicable_to?(item) @pattern.match?(item.identifier) end # @api private contract Nanoc::Core::Identifier => C::Or[nil, C::ArrayOf[String]] def matches(identifier) @pattern.captures(identifier) end end end
Version data entries
49 entries across 49 versions & 1 rubygems