Class: Scrivito::ObjCollection
- Inherits:
-
Object
- Object
- Scrivito::ObjCollection
- Defined in:
- lib/scrivito/obj_collection.rb
Overview
This class allows you to retrieve CMS objects from a specific working copy. You can get an instance by accessing Workspace#objs.
Instance Method Summary collapse
-
#all ⇒ ObjSearchEnumerator
Returns an ObjSearchEnumerator of all Objs.
-
#find(id_or_list) ⇒ Obj+
Find an Obj by its id.
-
#find_all_by_obj_class(obj_class) ⇒ ObjSearchEnumerator
Returns an ObjSearchEnumerator of all Objs with the given
obj_class. -
#find_by_path(path) ⇒ Obj
Find the Obj that has the given path.
-
#find_by_permalink(permalink) ⇒ Obj
Returns the Obj that has the given permalink, or
nilif no matching object exists. -
#find_including_deleted(id_or_list) ⇒ Obj+
Find a Obj by its id.
-
#where(field, operator, value, boost = nil) ⇒ ObjSearchEnumerator
Returns an ObjSearchEnumerator with the given initial subquery consisting of the four arguments.
Instance Method Details
#all ⇒ ObjSearchEnumerator
Returns an Scrivito::ObjSearchEnumerator of all Objs.
70 71 72 |
# File 'lib/scrivito/obj_collection.rb', line 70 def all ObjSearchEnumerator.new(workspace).batch_size(1000) end |
#find(id_or_list) ⇒ Obj+
18 19 20 |
# File 'lib/scrivito/obj_collection.rb', line 18 def find(id_or_list) find_using(id_or_list, :find_by) end |
#find_all_by_obj_class(obj_class) ⇒ ObjSearchEnumerator
Returns an Scrivito::ObjSearchEnumerator of all Objs with the given obj_class.
78 79 80 |
# File 'lib/scrivito/obj_collection.rb', line 78 def find_all_by_obj_class(obj_class) all.and(:_obj_class, :equals, obj_class) end |
#find_by_path(path) ⇒ Obj
Find the Obj that has the given path. Returns nil if no matching object exists.
37 38 39 |
# File 'lib/scrivito/obj_collection.rb', line 37 def find_by_path(path) find_by(:path, [path]).first.first end |
#find_by_permalink(permalink) ⇒ Obj
Returns the Obj that has the given permalink, or nil if no matching object exists.
45 46 47 |
# File 'lib/scrivito/obj_collection.rb', line 45 def find_by_permalink(permalink) find_by(:permalink, [permalink]).first.first end |
#find_including_deleted(id_or_list) ⇒ Obj+
28 29 30 |
# File 'lib/scrivito/obj_collection.rb', line 28 def find_including_deleted(id_or_list) find_using(id_or_list, :find_by_including_deleted) end |
#where(field, operator, value, boost = nil) ⇒ ObjSearchEnumerator
Returns an Scrivito::ObjSearchEnumerator with the given initial subquery consisting of the four arguments.
Note that field and value may also be arrays for searching several fields or searching for several values.
Scrivito::ObjSearchEnumerators can be chained using one of the chainable methods (e.g. Scrivito::ObjSearchEnumerator#and and Scrivito::ObjSearchEnumerator#and_not).
62 63 64 65 |
# File 'lib/scrivito/obj_collection.rb', line 62 def where(field, operator, value, boost = nil) ObjSearchEnumerator.new(workspace) .and(field, operator, value, boost) end |