Sha256: a4e0abb82d536681d4a674411488dc80340eaadbcdbaef76c842871eff208e54

Contents?: true

Size: 560 Bytes

Versions: 3

Compression:

Stored size: 560 Bytes

Contents

module ContextExposer::Integrations
  module WithInstanceVars
    extend ActiveSupport::Concern

    module ClassMethods
      # expose all exposures exposed by decent_exposure to context
      def context_expose_instance_vars options = {}
        expose_keys = self.instance_variables.map {|v| v[1..-1]}

        _exposure_filter(expose_keys, options).each do |exposure|
          exposed exposure do
            send("@#{exposure}")
          end
        end
      end
      alias_method :expose_instance_vars, :context_expose_instance_vars
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
context_exposer-0.4.1 lib/context_exposer/integrations/with_instance_vars.rb
context_exposer-0.4.0 lib/context_exposer/integrations/with_instance_vars.rb
context_exposer-0.3.0 lib/context_exposer/integrations/with_instance_vars.rb