module Contextualizer
Constants
- OPTIONAL
- VERSION
Public Class Methods
extended(klass)
click to toggle source
# File lib/contextualizer.rb, line 16 def self.extended(klass) klass.class_eval do attr_reader :context @__setter = Setter.new include Contextualizer.init_for(@__setter, false) end end
init_for(setter, inherited = true)
click to toggle source
Calls superclass method
# File lib/contextualizer.rb, line 24 def self.init_for(setter, inherited = true) Module.new do |mod| if inherited mod.send(:define_method, :initialize) do |args = {}| super(args) setter.set(self, args) end else mod.send(:define_method, :initialize) do |args = {}| super() setter.set(self, args) end end end end
Public Instance Methods
context(*attrs, **opt_attrs)
click to toggle source
# File lib/contextualizer.rb, line 6 def context(*attrs, **opt_attrs) unless @__setter @__setter = Setter.new include Contextualizer.init_for(@__setter) end @__setter.add_attrs(*attrs, **opt_attrs) attr_reader *attrs, *opt_attrs.keys end