Module: Vidibus::Resource::Consumer::Mongoid
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/vidibus/resource/consumer/mongoid.rb
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
-
#add_resource_consumer ⇒ Object
Registers this consumer with provider.
- #destroy_without_callback ⇒ Object
-
#remove_resource_consumer ⇒ Object
Removes this consumer from provider.
-
#resource_provider ⇒ Object
Returns a resource provider service.
-
#update_resource_attributes(json) ⇒ Object
Updates resource attributes from given JSON data.
Instance Method Details
#add_resource_consumer ⇒ Object
Registers this consumer with provider.
28 29 30 31 32 33 |
# File 'lib/vidibus/resource/consumer/mongoid.rb', line 28 def add_resource_consumer response = register_resource_consumer self.resource_attributes = JSON.parse(response['resource']) set_resource_attributes(true) true # ensure true! end |
#destroy_without_callback ⇒ Object
58 59 60 61 |
# File 'lib/vidibus/resource/consumer/mongoid.rb', line 58 def destroy_without_callback self.extinct = true destroy end |
#remove_resource_consumer ⇒ Object
Removes this consumer from provider.
36 37 38 39 |
# File 'lib/vidibus/resource/consumer/mongoid.rb', line 36 def remove_resource_consumer resource_provider.delete(resource_uri) true # ensure true! end |
#resource_provider ⇒ Object
Returns a resource provider service.
48 49 50 51 52 53 54 55 56 |
# File 'lib/vidibus/resource/consumer/mongoid.rb', line 48 def resource_provider @resource_provider ||= begin service = self.class.instance_variable_get('@resource_provider') or raise ConfigurationError.new("No resource provider has been defined. Call #{self.class}.resource_provider(service, realm)") realm = (self.class.instance_variable_get('@resource_realm') || try!(:realm_uuid)) or raise ConfigurationError.new("No resource realm has been defined. Call #{self.class}.resource_realm(realm) or define the attribute :realm_uuid.") ::Service.discover(service, realm) end end |
#update_resource_attributes(json) ⇒ Object
Updates resource attributes from given JSON data. TODO: Update only data that has been changed.
43 44 45 |
# File 'lib/vidibus/resource/consumer/mongoid.rb', line 43 def update_resource_attributes(json) update_attributes(:resource_attributes => JSON.parse(json)) end |