Class: Couchbase::Collection::LookupInResult
- Inherits:
-
Object
- Object
- Couchbase::Collection::LookupInResult
- Defined in:
- lib/couchbase/collection_options.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#cas ⇒ Integer
Holds the CAS value of the fetched document.
-
#encoded ⇒ Array<SubDocumentField>
Holds the encoded subdocument responses.
-
#transcoder ⇒ JsonTranscoder
The default transcoder which should be used.
Instance Method Summary collapse
-
#content(path_or_index, transcoder = self.transcoder) ⇒ Object
Decodes the content at the given index (or path).
-
#exists?(path_or_index) ⇒ Boolean
Allows to check if a value at the given index exists.
-
#initialize {|self| ... } ⇒ LookupInResult
constructor
A new instance of LookupInResult.
Constructor Details
#initialize {|self| ... } ⇒ LookupInResult
Returns a new instance of LookupInResult.
204 205 206 207 |
# File 'lib/couchbase/collection_options.rb', line 204 def initialize @deleted = false yield self if block_given? end |
Instance Attribute Details
#cas ⇒ Integer
Returns holds the CAS value of the fetched document.
163 164 165 |
# File 'lib/couchbase/collection_options.rb', line 163 def cas @cas end |
#encoded ⇒ Array<SubDocumentField>
Returns holds the encoded subdocument responses.
201 202 203 |
# File 'lib/couchbase/collection_options.rb', line 201 def encoded @encoded end |
#transcoder ⇒ JsonTranscoder
Returns The default transcoder which should be used.
210 211 212 |
# File 'lib/couchbase/collection_options.rb', line 210 def transcoder @transcoder end |
Instance Method Details
#content(path_or_index, transcoder = self.transcoder) ⇒ Object
Decodes the content at the given index (or path)
170 171 172 173 174 175 176 |
# File 'lib/couchbase/collection_options.rb', line 170 def content(path_or_index, transcoder = self.transcoder) field = get_field_at_index(path_or_index) raise field.error unless field.error.nil? transcoder.decode(field.value, :json) end |
#exists?(path_or_index) ⇒ Boolean
Allows to check if a value at the given index exists
183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
# File 'lib/couchbase/collection_options.rb', line 183 def exists?(path_or_index) field = case path_or_index when String encoded.find { |f| f.path == path_or_index } else return false unless path_or_index >= 0 && path_or_index < encoded.size encoded[path_or_index] end return false unless field raise field.error unless field.error.nil? || field.error.is_a?(Error::PathNotFound) field.exists end |