Class: Decidim::Core::ParticipatorySpaceListBase
- Inherits:
-
Object
- Object
- Decidim::Core::ParticipatorySpaceListBase
- Includes:
- NeedsApiDefaultOrder, NeedsApiFilterAndOrder
- Defined in:
- lib/decidim/api/functions/participatory_space_list_base.rb
Overview
An abstract base class resolver for the GraphQL endpoint for listing participatory spaces Inherit from this class and add search arguments to create list-finders participatory classes as is shown in ParticipatorySpaceList + info: github.com/rmosolgo/graphql-ruby/blob/v1.6.8/guides/fields/function.md
Instance Attribute Summary collapse
-
#manifest ⇒ Object
readonly
Returns the value of attribute manifest.
Instance Method Summary collapse
- #call(_obj, args, ctx) ⇒ Object
-
#initialize(manifest:) ⇒ ParticipatorySpaceListBase
constructor
A new instance of ParticipatorySpaceListBase.
-
#model_class ⇒ Object
lazy instantation of the class.
Methods included from NeedsApiFilterAndOrder
#add_filter_keys, #add_order_keys
Constructor Details
#initialize(manifest:) ⇒ ParticipatorySpaceListBase
Returns a new instance of ParticipatorySpaceListBase.
15 16 17 |
# File 'lib/decidim/api/functions/participatory_space_list_base.rb', line 15 def initialize(manifest:) @manifest = manifest end |
Instance Attribute Details
#manifest ⇒ Object (readonly)
Returns the value of attribute manifest.
13 14 15 |
# File 'lib/decidim/api/functions/participatory_space_list_base.rb', line 13 def manifest @manifest end |
Instance Method Details
#call(_obj, args, ctx) ⇒ Object
24 25 26 27 28 29 30 31 32 33 |
# File 'lib/decidim/api/functions/participatory_space_list_base.rb', line 24 def call(_obj, args, ctx) @query = model_class.public_spaces.where( organization: ctx[:current_organization] ) add_filter_keys(args[:filter]) add_order_keys(args[:order].to_h) add_default_order @query end |
#model_class ⇒ Object
lazy instantation of the class
20 21 22 |
# File 'lib/decidim/api/functions/participatory_space_list_base.rb', line 20 def model_class @model_class ||= manifest.model_class_name.constantize end |