module PageletRails::Concerns::Options::ClassMethods

Public Instance Methods

inherited(subklass) click to toggle source
Calls superclass method
# File lib/pagelet_rails/concerns/options.rb, line 60
def inherited subklass
  existing = subklass.ancestors.reverse.
    reduce({}.with_indifferent_access) do |memo, ancestor|

    if ancestor.instance_variable_defined?(:@pagelet_options)
      memo.deep_merge! ancestor.instance_variable_get :@pagelet_options
    end
    memo
  end

  subklass.instance_variable_set(:@pagelet_options, existing)

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

  if superclass && superclass.instance_variable_defined?(:@pagelet_options)
    parent = superclass.instance_variable_get :@pagelet_options
    parent.merge(@pagelet_options)
  else
    @pagelet_options
  end
end