Sha256: 52c5eeb56b2a5d8df7e875885cc89d0ae1d78f04fca4348938a23eaff76d795f

Contents?: true

Size: 1.28 KB

Versions: 1

Compression:

Stored size: 1.28 KB

Contents

module Eastwood
  module Context

    def app
      Eastwood.javascript_namespace or Eastwood.application_name
    end

    def env
      Eastwood.env
    end

    def target
      env === 'test' ? '( @window = { } )' : 'window'
    end

    def server_routes
      # TODO would kind of like to find a better way to transform
      # these values into my routes, but keep as a hash
      # http://www.ruby-forum.com/topic/185611
      named_routes.merge( named_routes ) { |key, route| route_class.new route, route_format }
    end

    def client_routes
      # TODO would kind of like to find a better way to transform
      # these values into my routes, but keep as a hash
      # http://www.ruby-forum.com/topic/185611
      custom_routes.merge( custom_routes ){ |key, (route, suffix)| ClientRoute.new key, route, suffix }
    end

    def exports
      Eastwood.exports
    end

    def route_format
      omit_route_format? ? '' : ".#{Eastwood.default_route_format.to_s}"
    end

    protected

    def route_class
      defined?(Journey) ? JourneyRoute : ActionRoute
    end

    def omit_route_format?
      [ '', false ].include? Eastwood.default_route_format
    end

    def custom_routes
      Eastwood.custom_routes
    end

    def named_routes
      Eastwood.named_routes
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
eastwood-0.4.0 lib/eastwood/context.rb