class WCC::Contentful::Middleware::Store::DelegatingQuery
Attributes
middleware[R]
options[R]
wrapped_query[R]
Public Class Methods
new(wrapped_query, middleware:, options: nil, **extra)
click to toggle source
# File lib/wcc/contentful/middleware/store.rb, line 151 def initialize(wrapped_query, middleware:, options: nil, **extra) @wrapped_query = wrapped_query @middleware = middleware @options = options @extra = extra end
Public Instance Methods
apply(filter, context = nil)
click to toggle source
# File lib/wcc/contentful/middleware/store.rb, line 121 def apply(filter, context = nil) self.class.new( wrapped_query.apply(filter, context), middleware: middleware, options: options, **@extra ) end
apply_operator(operator, field, expected, context = nil)
click to toggle source
# File lib/wcc/contentful/middleware/store.rb, line 130 def apply_operator(operator, field, expected, context = nil) self.class.new( wrapped_query.apply_operator(operator, field, expected, context), middleware: middleware, options: options, **@extra ) end
count()
click to toggle source
# File lib/wcc/contentful/middleware/store.rb, line 96 def count if middleware.has_select? raise NameError, "Count cannot be determined because the middleware '#{middleware}'" \ " implements the #select? method. Please use '.to_a.count' to count entries that" \ ' pass the #select? method.' end # The wrapped query may get count from the "Total" field in the response, # or apply a "COUNT(*)" to the query. wrapped_query.count end
to_enum()
click to toggle source
# File lib/wcc/contentful/middleware/store.rb, line 110 def to_enum result = wrapped_query.to_enum result = result.select { |x| middleware.select?(x) } if middleware.has_select? if options && options[:include] result = result.map { |x| middleware.resolve_includes(x, options[:include]) } end result.map { |x| middleware.transform(x) } end