Module: CrossOrigin::Document
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/cross_origin/document.rb
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
- #client_name ⇒ Object
- #collection_name ⇒ Object
- #cross(origin = :default) ⇒ Object
- #origin_enum ⇒ Object
Instance Method Details
#client_name ⇒ Object
21 22 23 |
# File 'lib/cross_origin/document.rb', line 21 def client_name origin == :default ? super : CrossOrigin[origin].name end |
#collection_name ⇒ Object
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_enum ⇒ Object
13 14 15 |
# File 'lib/cross_origin/document.rb', line 13 def origin_enum [:default] + CrossOrigin.names.to_a end |