module PageletRails::Concerns::Options

Public Instance Methods

pagelet_options(*args) click to toggle source
# File lib/pagelet_rails/concerns/options.rb, line 10
def pagelet_options *args
  set_pagelet_options(*args)

  opts = self.class.pagelet_options
  class_default_opts = opts.fetch('default', {})
  class_action_opts = opts.fetch(action_name, {})

  instance_default_opts = @pagelet_options.fetch('default', {})
  instance_action_opts = @pagelet_options.fetch(action_name, {})

  result = {}.with_indifferent_access
    .deep_merge!(class_default_opts)
    .deep_merge!(class_action_opts)
    .deep_merge!(instance_default_opts)
    .deep_merge!(instance_action_opts)

  OpenStruct.new result
end