Module: Vidibus::Resource::Provider::Mongoid

Extended by:
ActiveSupport::Concern
Defined in:
lib/vidibus/resource/provider/mongoid.rb

Instance Method Summary collapse

Instance Method Details

#add_resource_consumer(service_uuid, realm_uuid) ⇒ Object

Adds given resource consumer.



25
26
27
28
29
30
31
32
33
# File 'lib/vidibus/resource/provider/mongoid.rb', line 25

def add_resource_consumer(service_uuid, realm_uuid)
  self.resource_consumers ||= {}
  self.resource_consumers[realm_uuid] ||= []
  unless resource_consumers[realm_uuid].include?(service_uuid)
    self.resource_consumers[realm_uuid] << service_uuid
    create_resource_consumer(service_uuid, realm_uuid)
    save
  end
end

#refresh_resource_consumer(service_uuid, realm_uuid) ⇒ Object

Updates given resource consumer.



47
48
49
50
51
# File 'lib/vidibus/resource/provider/mongoid.rb', line 47

def refresh_resource_consumer(service_uuid, realm_uuid)
  if resource_consumers[realm_uuid] && resource_consumers[realm_uuid].include?(service_uuid)
    update_resource_consumer(service_uuid, realm_uuid)
  end
end

#remove_resource_consumer(service_uuid, realm_uuid) ⇒ Object

Removes given resource consumer.



36
37
38
39
40
41
42
43
44
# File 'lib/vidibus/resource/provider/mongoid.rb', line 36

def remove_resource_consumer(service_uuid, realm_uuid)
  unless resource_consumers[realm_uuid] and resource_consumers[realm_uuid].include?(service_uuid)
    raise(ConsumerNotFoundError, "This resource has no consumer #{service_uuid} within realm #{realm_uuid}.")
  end
  destroy_resource_consumer(service_uuid, realm_uuid)
  self.resource_consumers[realm_uuid].delete(service_uuid)
  self.resource_consumers.delete(realm_uuid) if resource_consumers[realm_uuid].blank?
  save
end

#resource_consumer?Boolean

TODO: Get rid of this! It’s only for the controller…

Returns:

  • (Boolean)


59
60
61
# File 'lib/vidibus/resource/provider/mongoid.rb', line 59

def resource_consumer?
  false
end

#resource_provider?Boolean

TODO: Get rid of this! It’s only for the controller…

Returns:

  • (Boolean)


54
55
56
# File 'lib/vidibus/resource/provider/mongoid.rb', line 54

def resource_provider?
  true
end

#resourceable_hash(service_uuid = nil, realm_uuid = nil) ⇒ Object



63
64
65
# File 'lib/vidibus/resource/provider/mongoid.rb', line 63

def resourceable_hash(service_uuid = nil, realm_uuid = nil)
  attributes.except('resource_consumers', '_id')
end