Sha256: 0888875e20ebab2d951399f7e72854c5350d663daae6649204fbffcb8ac13218

Contents?: true

Size: 860 Bytes

Versions: 5

Compression:

Stored size: 860 Bytes

Contents

require 'whiskey_disk/config/abstract_filter'

class WhiskeyDisk
  class Config
    class DropEmptyDomainRolesFilter < AbstractFilter
      def has_empty_role?(domain)
        return true unless domain.has_key?('roles')
        return true if domain['roles'].nil?

        roles = domain['roles'].uniq.compact
        return true if roles == [ '' ]
        return true if roles == []
        
        false
      end
      
      def drop_empty_roles_for_domain(domain)
        return domain unless has_empty_role?(domain)
        domain.reject {|key, value| key == 'roles' }
      end
      
      def drop_empty_domain_roles(domains_list)
        domains_list.collect { |domain| drop_empty_roles_for_domain(domain) }
      end
      
      def filter(data)
        data.merge('domain' => drop_empty_domain_roles(data['domain']))
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 3 rubygems

Version Path
ol-whisk_deploy-0.6.25 lib/whiskey_disk/config/filters/drop_empty_domain_roles_filter.rb
ol-whisk_deploy-0.6.26 lib/whiskey_disk/config/filters/drop_empty_domain_roles_filter.rb
whisk_deploy-0.6.26 lib/whiskey_disk/config/filters/drop_empty_domain_roles_filter.rb
whiskey_disk-0.6.24 lib/whiskey_disk/config/filters/drop_empty_domain_roles_filter.rb
whiskey_disk-0.6.23 lib/whiskey_disk/config/filters/drop_empty_domain_roles_filter.rb