Sha256: 5e12eb78bf7e89dd755e198dd87f7c42a6a322d9a80e0b2dfd2267f58dccf809
Contents?: true
Size: 1.11 KB
Versions: 7
Compression:
Stored size: 1.11 KB
Contents
module Spree module Admin module Tabs class Tab attr_reader :icon_key, :key, :label_translation_key, :data_hook def initialize(key, label_translation_key, url, icon_key, partial_name, availability_checks, active_check, data_hook) # rubocop:disable Metrics/ParameterLists @key = key @label_translation_key = label_translation_key @url = url @icon_key = icon_key @partial_name = partial_name @availability_checks = availability_checks @active_check = active_check @data_hook = data_hook end def available?(current_ability, resource) return true if @availability_checks.empty? result = @availability_checks.map { |check| check.call(current_ability, resource) } result.all?(true) end def url(resource = nil) @url.is_a?(Proc) ? @url.call(resource) : @url end def active?(current_tab) return false unless @active_check.present? @active_check.call(current_tab, @partial_name) end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems