# File lib/cgikit/elements/link.rb, line 20
      def action_url( context )
        take_value(:frag)
        take_value(:page)
        take_value(:action, false)
        take_bool(:secure)
        take_value_query(:query)
        take_value(:session_id)
        take_value(:direct_action, false)
        take_value(:action_class)

        if @values[:page] or @values[:action] then
          # create session if it doesn't have session
          context.session
          url = context.component_action_url(@values[:query], @values[:secure])
        elsif direct_action? then
          url = context.direct_action_url(@values[:action_class],
                                          @values[:direct_action],
                                          @values[:query],
                                          @values[:session_id])
        end
        append_frag(url, @values[:frag]) if @values[:frag]
        url
      end