Sha256: 336689d80811d85781030108426d9458869c092fe92b3a7bfc943a83ba8e0f0f

Contents?: true

Size: 554 Bytes

Versions: 10

Compression:

Stored size: 554 Bytes

Contents

# frozen_string_literal: true

module ActiveInteraction
  # @abstract
  #
  # Common logic for filters that handle numeric objects.
  #
  # @private
  class AbstractTzFilter < Filter
    private

    def matches?(value)
      value.is_a?(String) && valid_tz_entry?(value)
    rescue NoMethodError # BasicObject
      false
    end

    def valid_tz_entry?(value)
      TezosClient.new.decode_tz(value) do |prefix, _payload|
        return false unless prefixes.include? prefix
      end

      true
    rescue ArgumentError
      false
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
mtk_framework-1.0.1 lib/mtk_framework/gem_extensions/active_interaction/filters/abstract_tz_filter.rb
mtk_framework-1.0.0 lib/mtk_framework/gem_extensions/active_interaction/filters/abstract_tz_filter.rb
mtk_framework-0.1.7 lib/mtk_framework/gem_extensions/active_interaction/filters/abstract_tz_filter.rb
mtk_framework-0.1.6 lib/mtk_framework/gem_extensions/active_interaction/filters/abstract_tz_filter.rb
mtk_framework-0.1.5 lib/mtk_framework/gem_extensions/active_interaction/filters/abstract_tz_filter.rb
mtk_framework-0.1.4 lib/mtk_framework/gem_extensions/active_interaction/filters/abstract_tz_filter.rb
mtk_framework-0.1.3 lib/mtk_framework/gem_extensions/active_interaction/filters/abstract_tz_filter.rb
mtk_framework-0.1.2 lib/mtk_framework/gem_extensions/active_interaction/filters/abstract_tz_filter.rb
mtk_framework-0.1.1 lib/mtk_framework/gem_extensions/active_interaction/filters/abstract_tz_filter.rb
mtk_framework-0.1.0 lib/mtk_framework/gem_extensions/active_interaction/filters/abstract_tz_filter.rb