Module: ReeRoutes::DSL::ClassMethods

Includes:
Ree::Contracts::ArgContracts, Ree::Contracts::Core
Defined in:
lib/ree_lib/packages/ree_routes/package/ree_routes/dsl.rb

Constant Summary collapse

ADMIN_PATH_SEGMENT =
"admin"

Instance Method Summary collapse

Instance Method Details

#default_warden_scope(*method_names) ⇒ Object



49
50
51
# File 'lib/ree_lib/packages/ree_routes/package/ree_routes/dsl.rb', line 49

def default_warden_scope(*method_names)
  @default_warden_scopes = method_names
end

#routes(name, &proc) ⇒ Object

Raises:

  • (ArgumentError)


29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/ree_lib/packages/ree_routes/package/ree_routes/dsl.rb', line 29

def routes(name, &proc)
  raise ArgumentError.new("block is required") if !block_given?

  @dsl = Ree::ObjectDsl.new(
    Ree.container.packages_facade, name, self, :object
  )

  @dsl.singleton
  @dsl.factory(:build)
  @dsl.tags(["routes"])

  instance_exec(&proc)

  klass = @dsl.object.klass
  klass.send(:include, FactoryMethod)


  Ree.container.compile(@dsl.package, name)
end