Module: Croods
- Defined in:
- lib/croods.rb,
lib/croods/api.rb,
lib/croods/model.rb,
lib/croods/action.rb,
lib/croods/policy.rb,
lib/croods/railtie.rb,
lib/croods/service.rb,
lib/croods/version.rb,
lib/croods/resource.rb,
lib/croods/attribute.rb,
lib/croods/controller.rb,
lib/croods/middleware.rb,
lib/croods/policy/scope.rb,
lib/croods/resource/model.rb,
lib/croods/resource/names.rb,
lib/croods/resource/paths.rb,
lib/croods/middleware/base.rb,
lib/croods/resource/policy.rb,
lib/croods/resource/search.rb,
lib/croods/controller/model.rb,
lib/croods/resource/actions.rb,
lib/croods/resource/filters.rb,
lib/croods/resource/sorting.rb,
lib/croods/controller/member.rb,
lib/croods/resource/services.rb,
lib/croods/controller/actions.rb,
lib/croods/controller/resource.rb,
lib/croods/resource/attributes.rb,
lib/croods/resource/controller.rb,
lib/croods/resource/identifier.rb,
lib/croods/resource/pagination.rb,
lib/croods/controller/not_found.rb,
lib/croods/resource/json_schema.rb,
lib/croods/controller/collection.rb,
lib/croods/resource/authorization.rb,
lib/croods/resource/authentication.rb,
lib/croods/controller/already_taken.rb,
lib/croods/controller/authorization.rb,
lib/croods/controller/multi_tenancy.rb,
lib/croods/resource/attributes/base.rb,
lib/croods/controller/authentication.rb,
lib/croods/controller/record_invalid.rb,
lib/croods/resource/json_schema/links.rb,
lib/croods/resource/attributes/request.rb,
lib/croods/resource/attributes/response.rb,
lib/croods/middleware/request_validation.rb,
lib/croods/resource/json_schema/required.rb,
lib/croods/middleware/response_validation.rb,
lib/croods/resource/json_schema/definition.rb,
lib/croods/resource/json_schema/links/show.rb,
lib/croods/resource/json_schema/properties.rb,
lib/croods/resource/json_schema/definitions.rb,
lib/croods/resource/json_schema/links/index.rb,
lib/croods/resource/json_schema/links/create.rb,
lib/croods/resource/json_schema/links/member.rb,
lib/croods/resource/json_schema/links/update.rb,
lib/croods/resource/json_schema/links/destroy.rb,
lib/croods/resource/json_schema/links/collection.rb
Defined Under Namespace
Modules: Api, Middleware, Resource
Classes: Action, Attribute, Controller, Model, Policy, Railtie, Service
Constant Summary
collapse
- VERSION =
'0.4.0'
Class Method Summary
collapse
Class Method Details
.application_controller(&block) ⇒ Object
41
42
43
44
45
|
# File 'lib/croods.rb', line 41
def application_controller(&block)
return unless block
application_controller_blocks << block
end
|
.application_controller_blocks ⇒ Object
47
48
49
|
# File 'lib/croods.rb', line 47
def application_controller_blocks
@application_controller_blocks ||= []
end
|
.initialize_for(*namespaces, multi_tenancy_by: nil) ⇒ Object
21
22
23
24
25
|
# File 'lib/croods.rb', line 21
def initialize_for(*namespaces, multi_tenancy_by: nil)
self.multi_tenancy_by = multi_tenancy_by
self.namespaces = namespaces.map(&:to_s).freeze
Middleware.insert!
end
|
.multi_tenancy? ⇒ Boolean
33
34
35
|
# File 'lib/croods.rb', line 33
def multi_tenancy?
!multi_tenancy_by.nil?
end
|
.resources ⇒ Object
27
28
29
30
31
|
# File 'lib/croods.rb', line 27
def resources
namespaces.map do |namespace|
"#{namespace.camelcase(:upper)}::Resource".constantize
end
end
|
.tenant_attribute ⇒ Object
37
38
39
|
# File 'lib/croods.rb', line 37
def tenant_attribute
"#{Croods.multi_tenancy_by}_id".to_sym
end
|