Class: Couchbase::Options::View
Overview
Options for Cluster#view_query
Constant Summary collapse
- DEFAULT =
This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.
View.new.freeze
Instance Attribute Summary collapse
- #debug ⇒ Boolean?
- #end_key ⇒ #to_json?
- #end_key_doc_id ⇒ String?
- #group ⇒ Boolean?
- #group_level ⇒ Integer?
- #inclusive_end ⇒ Boolean?
- #key ⇒ #to_json?
- #keys ⇒ Array<#to_json>?
- #limit ⇒ Integer
- #namespace ⇒ Symbol
- #on_error ⇒ Symbol?
- #order ⇒ Symbol?
- #reduce ⇒ Boolean?
- #scan_consistency ⇒ Symbol
- #skip ⇒ Integer
- #start_key ⇒ #to_json?
- #start_key_doc_id ⇒ String?
Attributes inherited from Base
#client_context, #parent_span, #retry_strategy, #timeout
Instance Method Summary collapse
-
#initialize(scan_consistency: :not_bounded, namespace: :production, skip: nil, limit: nil, start_key: nil, end_key: nil, start_key_doc_id: nil, end_key_doc_id: nil, inclusive_end: nil, group: nil, group_level: nil, key: nil, keys: nil, order: nil, reduce: nil, on_error: nil, debug: false, timeout: nil, retry_strategy: nil, client_context: nil, parent_span: nil) {|self| ... } ⇒ View
constructor
A new instance of View.
-
#raw(key, value) ⇒ Object
Allows providing custom JSON key/value pairs for advanced usage.
- #to_backend ⇒ Object private
Constructor Details
#initialize(scan_consistency: :not_bounded, namespace: :production, skip: nil, limit: nil, start_key: nil, end_key: nil, start_key_doc_id: nil, end_key_doc_id: nil, inclusive_end: nil, group: nil, group_level: nil, key: nil, keys: nil, order: nil, reduce: nil, on_error: nil, debug: false, timeout: nil, retry_strategy: nil, client_context: nil, parent_span: nil) {|self| ... } ⇒ View
Returns a new instance of View.
2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 |
# File 'lib/couchbase/options.rb', line 2523 def initialize(scan_consistency: :not_bounded, namespace: :production, skip: nil, limit: nil, start_key: nil, end_key: nil, start_key_doc_id: nil, end_key_doc_id: nil, inclusive_end: nil, group: nil, group_level: nil, key: nil, keys: nil, order: nil, reduce: nil, on_error: nil, debug: false, timeout: nil, retry_strategy: nil, client_context: nil, parent_span: nil) super(timeout: timeout, retry_strategy: retry_strategy, client_context: client_context, parent_span: parent_span) @scan_consistency = scan_consistency @namespace = namespace @skip = skip @limit = limit @start_key = start_key @end_key = end_key @start_key_doc_id = start_key_doc_id @end_key_doc_id = end_key_doc_id @inclusive_end = inclusive_end @group = group @group_level = group_level @key = key @keys = keys @order = order @reduce = reduce @on_error = on_error @debug = debug yield self if block_given? end |
Instance Attribute Details
#debug ⇒ Boolean?
2495 2496 2497 |
# File 'lib/couchbase/options.rb', line 2495 def debug @debug end |
#end_key ⇒ #to_json?
2484 2485 2486 |
# File 'lib/couchbase/options.rb', line 2484 def end_key @end_key end |
#end_key_doc_id ⇒ String?
2486 2487 2488 |
# File 'lib/couchbase/options.rb', line 2486 def end_key_doc_id @end_key_doc_id end |
#group ⇒ Boolean?
2488 2489 2490 |
# File 'lib/couchbase/options.rb', line 2488 def group @group end |
#group_level ⇒ Integer?
2489 2490 2491 |
# File 'lib/couchbase/options.rb', line 2489 def group_level @group_level end |
#inclusive_end ⇒ Boolean?
2487 2488 2489 |
# File 'lib/couchbase/options.rb', line 2487 def inclusive_end @inclusive_end end |
#key ⇒ #to_json?
2490 2491 2492 |
# File 'lib/couchbase/options.rb', line 2490 def key @key end |
#keys ⇒ Array<#to_json>?
2491 2492 2493 |
# File 'lib/couchbase/options.rb', line 2491 def keys @keys end |
#limit ⇒ Integer
2482 2483 2484 |
# File 'lib/couchbase/options.rb', line 2482 def limit @limit end |
#namespace ⇒ Symbol
2480 2481 2482 |
# File 'lib/couchbase/options.rb', line 2480 def namespace @namespace end |
#on_error ⇒ Symbol?
2494 2495 2496 |
# File 'lib/couchbase/options.rb', line 2494 def on_error @on_error end |
#order ⇒ Symbol?
2492 2493 2494 |
# File 'lib/couchbase/options.rb', line 2492 def order @order end |
#reduce ⇒ Boolean?
2493 2494 2495 |
# File 'lib/couchbase/options.rb', line 2493 def reduce @reduce end |
#scan_consistency ⇒ Symbol
2479 2480 2481 |
# File 'lib/couchbase/options.rb', line 2479 def scan_consistency @scan_consistency end |
#skip ⇒ Integer
2481 2482 2483 |
# File 'lib/couchbase/options.rb', line 2481 def skip @skip end |
#start_key ⇒ #to_json?
2483 2484 2485 |
# File 'lib/couchbase/options.rb', line 2483 def start_key @start_key end |
#start_key_doc_id ⇒ String?
2485 2486 2487 |
# File 'lib/couchbase/options.rb', line 2485 def start_key_doc_id @start_key_doc_id end |
Instance Method Details
#raw(key, value) ⇒ Object
Allows providing custom JSON key/value pairs for advanced usage
2570 2571 2572 |
# File 'lib/couchbase/options.rb', line 2570 def raw(key, value) @raw_parameters[key] = JSON.generate(value) end |
#to_backend ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 |
# File 'lib/couchbase/options.rb', line 2575 def to_backend { timeout: Utils::Time.extract_duration(@timeout), scan_consistency: @scan_consistency, skip: @skip, limit: @limit, start_key: (JSON.generate(@start_key) unless @start_key.nil?), end_key: (JSON.generate(@end_key) unless @end_key.nil?), start_key_doc_id: @start_key_doc_id, end_key_doc_id: @end_key_doc_id, inclusive_end: @inclusive_end, group: @group, group_level: @group_level, key: (JSON.generate(@key) unless @key.nil?), keys: @keys&.map { |key| JSON.generate(key) }, order: @order, reduce: @reduce, on_error: @on_error, debug: @debug, } end |