Sha256: 1c5d88f5cb26a0331ce64be28640231b7dd3916fa8c58319f08e0af4691003bb
Contents?: true
Size: 1.99 KB
Versions: 1
Compression:
Stored size: 1.99 KB
Contents
# frozen_string_literal: true module ConvenientService module Core module Entities class Config module Commands class TrackMethodMissingCommitTrigger < Support::Command ## # @!attribute [r] config # @return [ConvenientService::Core::Entities::Config] # attr_reader :config ## # @!attribute [r] trigger # @return [ConvenientService::Support::UniqueValue] # attr_reader :trigger ## # @param config [ConvenientService::Core::Entities::Config] # @param trigger [ConvenientService::Support::UniqueValue] # @return [void] # def initialize(config:, trigger:) @config = config @trigger = trigger end ## # @return [void] # def call return unless method_missing_trigger_valid? return if method_missing_commits_counter_incremented? raise Errors::TooManyCommitsFromMethodMissing.new(config: config) end ## # @return [Boolean] # def method_missing_trigger_valid? method_missing_triggers.any?(trigger) end ## # @return [Boolean] # def method_missing_commits_counter_incremented? Utils::Object.memoize_including_falsy_values(self, :@method_missing_commits_counter_incremented) { config.method_missing_commits_counter.bincrement } end ## # @return [Array<ConvenientService::Support::UniqueValue>] # def method_missing_triggers @method_missing_triggers ||= [ Constants::Triggers::INSTANCE_METHOD_MISSING, Constants::Triggers::CLASS_METHOD_MISSING ] end end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
convenient_service-0.12.0 | lib/convenient_service/core/entities/config/commands/track_method_missing_commit_trigger.rb |