Sha256: 9a0c7e3a0f247b77b365ec85c1b1ca45b084eec41fcf27859feaf690a189795b

Contents?: true

Size: 694 Bytes

Versions: 33

Compression:

Stored size: 694 Bytes

Contents

# Utility methods for dealing with user banners and saving
# an array of dismissed banners per user
# use symbols as banner id
module Spree
  module Core
    module UserBanners
      def self.included(base)
        base.preference :dismissed_banners, :string, :default => ''
      end

      def dismissed_banner_ids
        dismissed = self.preferred_dismissed_banners
        dismissed.split(',').map(&:to_sym)
      end

      def dismiss_banner(banner_id)
        self.preferred_dismissed_banners = dismissed_banner_ids.push(banner_id.to_sym).uniq.join(',')
      end

      def dismissed_banner?(banner_id)
        dismissed_banner_ids.include? banner_id.to_sym
      end
    end
  end
end

Version data entries

33 entries across 33 versions & 2 rubygems

Version Path
spree_core-1.3.5 lib/spree/core/user_banners.rb
spree_core-1.3.4 lib/spree/core/user_banners.rb
spree_core-1.3.3 lib/spree/core/user_banners.rb
spree_core-1.2.5 lib/spree/core/user_banners.rb
spree_core-1.1.6 lib/spree/core/user_banners.rb
spree_core-1.1.5 lib/spree/core/user_banners.rb
spree_core-1.2.4 lib/spree/core/user_banners.rb
spree_core-1.3.2 lib/spree/core/user_banners.rb
spree_core-1.0.7 lib/spree/core/user_banners.rb
spree_core-1.2.3 lib/spree/core/user_banners.rb
spree_core-1.3.1 lib/spree/core/user_banners.rb
spree_core-1.3.0 lib/spree/core/user_banners.rb
spree_core-1.3.0.rc2 lib/spree/core/user_banners.rb
dup_spree_core-1.3.0.rc1 lib/spree/core/user_banners.rb
spree_core-1.3.0.rc1 lib/spree/core/user_banners.rb
spree_core-1.2.2 lib/spree/core/user_banners.rb
spree_core-1.1.4 lib/spree/core/user_banners.rb
spree_core-1.2.0 lib/spree/core/user_banners.rb
spree_core-1.2.0.rc2 lib/spree/core/user_banners.rb
spree_core-1.2.0.rc1 lib/spree/core/user_banners.rb