Class: ReeRoutes::RouteBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/ree_lib/packages/ree_routes/package/ree_routes/route_builder.rb

Defined Under Namespace

Classes: Redirect

Constant Summary collapse

VISIBILITIES =
[:public, :internal].freeze

Instance Method Summary collapse

Constructor Details

#initializeRouteBuilder

Returns a new instance of RouteBuilder.



10
11
12
13
# File 'lib/ree_lib/packages/ree_routes/package/ree_routes/route_builder.rb', line 10

def initialize
  @route = ReeRoutes::Route.new
  @route.respond_to = :json
end

Instance Method Details

#action(name, from:) ⇒ Object



72
73
74
75
76
# File 'lib/ree_lib/packages/ree_routes/package/ree_routes/route_builder.rb', line 72

def action(name, from:)
  object = Ree.container.packages_facade.get_object(from, name)
  @route.action = object
  nil
end

#before(&proc) ⇒ Object



31
32
33
34
# File 'lib/ree_lib/packages/ree_routes/package/ree_routes/route_builder.rb', line 31

def before(&proc)
  @route.before = proc
  nil
end

#get_routeObject



26
27
28
# File 'lib/ree_lib/packages/ree_routes/package/ree_routes/route_builder.rb', line 26

def get_route
  @route
end

#override(&proc) ⇒ Object



37
38
39
40
# File 'lib/ree_lib/packages/ree_routes/package/ree_routes/route_builder.rb', line 37

def override(&proc)
  @route.override = proc
  nil
end

#redirect(path, code: 301) ⇒ Object

Raises:

  • (ArgumentError)


79
80
81
82
83
# File 'lib/ree_lib/packages/ree_routes/package/ree_routes/route_builder.rb', line 79

def redirect(path, code: 301)
  raise ArgumentError if ![301, 302, 303, 307, 308].include?(code)
  @route.redirect = Redirect.new(path, code)
  nil
end

#respond_to(v) ⇒ Object



21
22
23
# File 'lib/ree_lib/packages/ree_routes/package/ree_routes/route_builder.rb', line 21

def respond_to(v)
  @route.respond_to = v
end

#sections(*names) ⇒ Object



66
67
68
69
# File 'lib/ree_lib/packages/ree_routes/package/ree_routes/route_builder.rb', line 66

def sections(*names)
  @route.sections = names
  nil
end

#serializer(name, from:) ⇒ Object



59
60
61
62
63
# File 'lib/ree_lib/packages/ree_routes/package/ree_routes/route_builder.rb', line 59

def serializer(name, from:)
  object = Ree.container.packages_facade.get_object(from, name)
  @route.serializer = object
  nil
end

#summary(str) ⇒ Object



43
44
45
# File 'lib/ree_lib/packages/ree_routes/package/ree_routes/route_builder.rb', line 43

def summary(str)
  @route.summary = str
end

#visibility(value) ⇒ Object



48
49
50
51
52
53
54
55
56
# File 'lib/ree_lib/packages/ree_routes/package/ree_routes/route_builder.rb', line 48

def visibility(value)
  if !VISIBILITIES.include?(value)
    raise ArgumentError.new(
      "visibility should be one of #{VISIBILITIES.inspect}, got #{value.inspect}"
    )
  end

  @route.visibility = value
end

#warden_scope(*scopes) ⇒ Object



16
17
18
# File 'lib/ree_lib/packages/ree_routes/package/ree_routes/route_builder.rb', line 16

def warden_scope(*scopes)
  @route.warden_scopes = scopes.flatten
end