Sha256: 65e3c04e5cdec3ef6f927eb880dc8ac622333f3c9275595b3ae2790060cf2610

Contents?: true

Size: 972 Bytes

Versions: 28

Compression:

Stored size: 972 Bytes

Contents

module Locomotive
  module Liquid
    module Tags

      # Assign sets a variable in your session.
      #
      #   {% session_assign foo = 'monkey' %}
      #
      # You can then use the variable later in the page.
      #
      #   {{ session.foo }}
      #
      class SessionAssign < ::Liquid::Tag
        Syntax = /(#{::Liquid::VariableSignature}+)\s*=\s*(#{::Liquid::QuotedFragment}+)/

        def initialize(tag_name, markup, tokens, context)
          if markup =~ Syntax
            @to = $1
            @from = $2
          else
            raise ::Liquid::SyntaxError.new("Syntax Error in 'session_assign' - Valid syntax: assign [var] = [source]")
          end

          super
        end

        def render(context)
          controller = context.registers[:controller]

          controller.session[@to.to_sym] = context[@from]
          ''
        end

      end

      ::Liquid::Template.register_tag('session_assign', SessionAssign)
    end
  end
end

Version data entries

28 entries across 28 versions & 2 rubygems

Version Path
locomotive_cms-2.5.7 lib/locomotive/liquid/tags/session_assign.rb
locomotivecms-3.0.0.pre.alpha.2 lib/locomotive/previous_liquid/tags/session_assign.rb
locomotivecms-3.0.0.pre.alpha lib/locomotive/previous_liquid/tags/session_assign.rb
locomotive_cms-2.5.6 lib/locomotive/liquid/tags/session_assign.rb
locomotive_cms-2.5.6.rc2 lib/locomotive/liquid/tags/session_assign.rb
locomotive_cms-2.5.6.rc1 lib/locomotive/liquid/tags/session_assign.rb
locomotive_cms-2.5.5 lib/locomotive/liquid/tags/session_assign.rb
locomotive_cms-2.5.4 lib/locomotive/liquid/tags/session_assign.rb
locomotive_cms-2.5.3 lib/locomotive/liquid/tags/session_assign.rb
locomotive_cms-2.5.2 lib/locomotive/liquid/tags/session_assign.rb
locomotive_cms-2.5.1 lib/locomotive/liquid/tags/session_assign.rb
locomotive_cms-2.5.0 lib/locomotive/liquid/tags/session_assign.rb
locomotive_cms-2.5.0.rc3 lib/locomotive/liquid/tags/session_assign.rb
locomotive_cms-2.5.0.rc2 lib/locomotive/liquid/tags/session_assign.rb
locomotive_cms-2.5.0.rc1 lib/locomotive/liquid/tags/session_assign.rb
locomotive_cms-2.4.1 lib/locomotive/liquid/tags/session_assign.rb
locomotive_cms-2.4.0 lib/locomotive/liquid/tags/session_assign.rb
locomotive_cms-2.3.1 lib/locomotive/liquid/tags/session_assign.rb
locomotive_cms-2.3.0 lib/locomotive/liquid/tags/session_assign.rb
locomotive_cms-2.2.3 lib/locomotive/liquid/tags/session_assign.rb