Sha256: 4483abceefb9c07d92faf6651f90ce1191dd55702c170ffd8c68d23fab5d9a87

Contents?: true

Size: 973 Bytes

Versions: 11

Compression:

Stored size: 973 Bytes

Contents

module Pacer
  module Visitors
    # This module is mixed in to the route that actually refers to this section.
    module VisitsSection
      attr_reader :section, :section_route, :visitor_num

      def section=(section)
        if section.is_a? Symbol
          @section = section
          @section_route = @back.get_section_route(section)
        elsif section.is_a? Pacer::Route and section.respond_to? :section_name
          @section = section.section_name
          @section_route = section
        else
          raise ArgumentError, "Unknown section #{ section }. Provide either a name or a route created with the #section methed."
        end
        @visitor_num = section_route.will_visit!
        section_route
      end

      protected

      def section_visitor
        section_route.section_visitor!(visitor_num) if visitor_num
      end

      def section_visitor_target
        section_route.visitor_target if section_route
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
pacer-2.0.24-java lib/pacer/visitors/visits_section.rb
pacer-2.0.22-java lib/pacer/visitors/visits_section.rb
pacer-2.0.20-java lib/pacer/visitors/visits_section.rb
pacer-2.0.19-java lib/pacer/visitors/visits_section.rb
pacer-2.0.18-java lib/pacer/visitors/visits_section.rb
pacer-2.0.17-java lib/pacer/visitors/visits_section.rb
pacer-2.0.16-java lib/pacer/visitors/visits_section.rb
pacer-2.0.15-java lib/pacer/visitors/visits_section.rb
pacer-2.0.14-java lib/pacer/visitors/visits_section.rb
pacer-2.0.13-java lib/pacer/visitors/visits_section.rb
pacer-2.0.12-java lib/pacer/visitors/visits_section.rb