Module: Parse::Core::Fetching
- Included in:
- Object
- Defined in:
- lib/parse/model/core/fetching.rb
Overview
Defines the record fetching interface for instances of Parse::Object.
Instance Method Summary collapse
- #autofetch!(key) ⇒ Boolean
Autofetches the object based on a key that is not part Properties::BASE_KEYS.
- #fetch ⇒ self
Fetches the object from the Parse data store if the object is in a Pointer state.
- #fetch!(opts = {}) ⇒ self
Force fetches and updates the current object with the data contained in the Parse collection.
Instance Method Details
#autofetch!(key) ⇒ Boolean
Autofetches the object based on a key that is not part Properties::BASE_KEYS. If the key is not a Parse standard key, and the current object is in a Pointer state, then fetch the data related to this record from the Parse data store.
42 43 44 45 46 47 48 49 50 51 | # File 'lib/parse/model/core/fetching.rb', line 42 def autofetch!(key) key = key.to_sym @fetch_lock ||= false if @fetch_lock != true && pointer? && key != :acl && Parse::Properties::BASE_KEYS.include?(key) == false && respond_to?(:fetch) #puts "AutoFetching Triggerd by: #{self.class}.#{key} (#{id})" @fetch_lock = true send :fetch @fetch_lock = false end end |
#fetch ⇒ self
Fetches the object from the Parse data store if the object is in a Pointer state. This is similar to the `fetchIfNeeded` action in the standard Parse client SDK.
31 32 33 34 | # File 'lib/parse/model/core/fetching.rb', line 31 def fetch # if it is a pointer, then let's go fetch the rest of the content pointer? ? fetch! : self end |
#fetch!(opts = {}) ⇒ self
Force fetches and updates the current object with the data contained in the Parse collection. The changes applied to the object are not dirty tracked.
17 18 19 20 21 22 23 24 25 26 | # File 'lib/parse/model/core/fetching.rb', line 17 def fetch!(opts = {}) response = client.fetch_object(parse_class, id, opts) if response.error? puts "[Fetch Error] #{response.code}: #{response.error}" end # take the result hash and apply it to the attributes. apply_attributes!(response.result, dirty_track: false) clear_changes! self end |