Sha256: a1ddd31fe1546426f02e81a92f7329834fddf297b0b8fd3171ff52d5edfd441c

Contents?: true

Size: 688 Bytes

Versions: 2

Compression:

Stored size: 688 Bytes

Contents

module React
  class Router
    class DSL
      def self.build_routes(*args, &block)
        evaluate_children(*args, &block)[0]
      end

      def self.evaluate_children(*args, &children)
        [[], nil].tap do |new_routes|
          if children
            saved_routes, @routes = [@routes, new_routes]
            @routes << children.call(*args)
            @routes = saved_routes
          end
        end
      end

      def self.add_element(element)
        @routes[0] <<  element
      end

      def self.set_index(index)
        @routes[1] = index
      end

      def self.children_to_n(children)
        children.collect { |e| e.to_json.to_n }
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
hyper-router-2.4.1 lib/react/router/dsl.rb
hyper-router-2.4.0 lib/react/router/dsl.rb