Module: DismissibleHelpers::Controllers::DismissedHelpers

Included in:
DismissedHelpersController
Defined in:
lib/dismissible_helpers/controllers/dismissed_helpers.rb

Instance Method Summary collapse

Instance Method Details

#createObject



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/dismissible_helpers/controllers/dismissed_helpers.rb', line 2

def create
  if respond_to?(:current_user) && current_user && current_user.respond_to?(:dismissed_helpers)
    current_user.dismissed_helpers += [ params[:helper] ]
    current_user.save!
  else
    if cookies[:dismissed_helpers].present?
      dismissed_helpers = cookies[:dismissed_helpers].split '|'
      dismissed_helpers += [ current_helper ]
    else
      dismissed_helpers = [ current_helper ]
    end
    cookies[:dismissed_helpers] = dismissed_helpers.join '|'
  end

  render :json => {}, :status => :ok
end

#destroyObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/dismissible_helpers/controllers/dismissed_helpers.rb', line 19

def destroy
  Rails.logger.info "destroy '#{current_helper}'"
  if respond_to?(:current_user) && current_user && current_user.respond_to?(:dismissed_helpers)
    current_user.dismissed_helpers = current_user.dismissed_helpers.reject { |helper| helper == current_helper }
    current_user.save!
  else
    if cookies[:dismissed_helpers].present?
      dismissed_helpers = cookies[:dismissed_helpers].split '|'
      dismissed_helpers = dismissed_helpers - [ current_helper ]
    end
    dismissed_helpers ||= []
    cookies[:dismissed_helpers] = dismissed_helpers.join('|')
  end

  render :json => {}, :status => :ok
end