Module: AbrahamHelper

Defined in:
app/helpers/abraham_helper.rb

Instance Method Summary collapse

Instance Method Details



35
36
37
# File 'app/helpers/abraham_helper.rb', line 35

def abraham_cookie_prefix
  "abraham-#{fetch_application_name.to_s.underscore}-#{current_user.id}-#{controller_path}-#{action_name}"
end

#abraham_domainObject



47
48
49
# File 'app/helpers/abraham_helper.rb', line 47

def abraham_domain
  request.host
end

#abraham_tourObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'app/helpers/abraham_helper.rb', line 4

def abraham_tour
  # Do we have tours for this controller/action in the user's locale?
  tours = Rails.configuration.abraham.tours["#{controller_path}.#{action_name}.#{I18n.locale}"]
  # Otherwise, default to the default locale
  tours ||= Rails.configuration.abraham.tours["#{controller_path}.#{action_name}.#{I18n.default_locale}"]

  if tours
    # Have any automatic tours been completed already?
    completed = AbrahamHistory.where(
      creator_id: current_user.id,
      controller_name: controller_path,
      action_name: action_name
    )

    tour_keys_completed = completed.map(&:tour_name)
    tour_keys = tours.keys

    tour_html = ''

    tour_keys.each do |key|
      tour_html += render(partial: "application/abraham",
             locals: { tour_name: key,
                       tour_completed: tour_keys_completed.include?(key),
                       trigger: tours[key]["trigger"],
                       steps: tours[key]["steps"] })
    end

    tour_html.html_safe
  end
end

#fetch_application_nameObject



39
40
41
42
43
44
45
# File 'app/helpers/abraham_helper.rb', line 39

def fetch_application_name
  if Module.method_defined?(:module_parent)
    Rails.application.class.module_parent
  else
    Rails.application.class.parent
  end
end