Class: Zodra::ResourceBuilder
- Inherits:
-
Object
- Object
- Zodra::ResourceBuilder
show all
- Defined in:
- lib/zodra/resource_builder.rb
Defined Under Namespace
Classes: CollectionContext, MemberContext
Constant Summary
collapse
- HTTP_METHODS =
i[get post put patch delete].freeze
Instance Method Summary
collapse
-
#collection ⇒ Object
-
#initialize(resource) ⇒ ResourceBuilder
constructor
A new instance of ResourceBuilder.
-
#member ⇒ Object
-
#resource(name, contract: nil, controller: nil, only: nil, except: nil, &block) ⇒ Object
-
#resources(name, contract: nil, controller: nil, only: nil, except: nil, &block) ⇒ Object
Constructor Details
Returns a new instance of ResourceBuilder.
7
8
9
|
# File 'lib/zodra/resource_builder.rb', line 7
def initialize(resource)
@resource = resource
end
|
Instance Method Details
#collection ⇒ Object
15
16
17
|
# File 'lib/zodra/resource_builder.rb', line 15
def collection(&)
CollectionContext.new(@resource).instance_eval(&)
end
|
#member ⇒ Object
11
12
13
|
# File 'lib/zodra/resource_builder.rb', line 11
def member(&)
MemberContext.new(@resource).instance_eval(&)
end
|
#resource(name, contract: nil, controller: nil, only: nil, except: nil, &block) ⇒ Object
26
27
28
29
30
31
|
# File 'lib/zodra/resource_builder.rb', line 26
def resource(name, contract: nil, controller: nil, only: nil, except: nil, &block)
child = Resource.new(name:, singular: true, contract:, controller:, only:, except:)
ResourceBuilder.new(child).instance_eval(&block) if block
@resource.add_child(child)
child
end
|
#resources(name, contract: nil, controller: nil, only: nil, except: nil, &block) ⇒ Object
19
20
21
22
23
24
|
# File 'lib/zodra/resource_builder.rb', line 19
def resources(name, contract: nil, controller: nil, only: nil, except: nil, &block)
child = Resource.new(name:, singular: false, contract:, controller:, only:, except:)
ResourceBuilder.new(child).instance_eval(&block) if block
@resource.add_child(child)
child
end
|