Module: CrossOrigin::Document

Extended by:
ActiveSupport::Concern
Defined in:
lib/cross_origin/document.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#client_nameObject



21
22
23
# File 'lib/cross_origin/document.rb', line 21

def client_name
  origin == :default ? super : CrossOrigin[origin].name
end

#collection_nameObject



17
18
19
# File 'lib/cross_origin/document.rb', line 17

def collection_name
  origin == :default ? super : CrossOrigin[origin].collection_name_for(self.class)
end

#cross(origin = :default) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/cross_origin/document.rb', line 25

def cross(origin = :default)
  origin = CrossOrigin.to_name(origin)
  cross_origin = CrossOrigin[origin]
  return false if self.origin == origin || (cross_origin.nil? && origin != :default)
  query = collection.find(_id: attributes['_id'])
  doc = query.first
  query.delete_one
  doc['origin'] = origin
  attributes['origin'] = origin
  collection.insert_one(doc)
end

#origin_enumObject



13
14
15
# File 'lib/cross_origin/document.rb', line 13

def origin_enum
  [:default] + CrossOrigin.names.to_a
end