Sha256: 7fe92ab05376268efa5508db619b8f7100b050fa481c3fc6041cc09ebe9793a4
Contents?: true
Size: 666 Bytes
Versions: 2
Compression:
Stored size: 666 Bytes
Contents
require 'active_model/serializer/reflection' module ActiveModel class Serializer class Reflection < Field def authorize? !!options[:authorize] end def value_with_cancan(serializer) val = value_without_cancan(serializer) unless authorize? return val end if val.kind_of?(Array) val.select do |item| serializer.current_ability.can?(:read, item) end else if serializer.current_ability.can?(:read, val) val else nil end end end alias_method_chain :value, :cancan end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
active_model_serializers_cancancan-0.1.1 | lib/active_model_serializers/cancan/associations.rb |
active_model_serializers_cancancan-0.1.0 | lib/active_model_serializers/cancan/associations.rb |