Module: Mongoid::DocumentEditor
- Extended by:
- ActiveSupport::Autoload
- Defined in:
- lib/mongoid/document_editor.rb,
lib/mongoid/document_editor/engine.rb,
lib/mongoid/document_editor/version.rb,
lib/mongoid/document_editor/configuration.rb,
app/helpers/mongoid/document_editor/documents_helper.rb,
app/controllers/mongoid/document_editor/documents_controller.rb,
lib/mongoid/document_editor/configuration/form_configuration.rb,
lib/mongoid/document_editor/configuration/index_configuration.rb,
app/controllers/mongoid/document_editor/application_controller.rb
Defined Under Namespace
Modules: DocumentsHelper
Classes: ApplicationController, Configuration, DocumentsController, Engine, FormConfiguration, IndexConfiguration
Constant Summary
collapse
- VERSION =
"0.0.7"
- @@form_configuration =
{}
- @@index_configuration =
{}
- @@authentication_filter =
nil
- @@endpoint =
"/documents"
- @@models =
Mongoid.models
Class Method Summary
collapse
Class Method Details
.authenticate_with(filter) ⇒ Object
59
60
61
|
# File 'lib/mongoid/document_editor.rb', line 59
def self.authenticate_with(filter)
@@authentication_filter = filter
end
|
26
27
28
|
# File 'lib/mongoid/document_editor.rb', line 26
def self.configure(&block)
instance_eval(&block)
end
|
.fields_for(klass) ⇒ Object
30
31
32
33
34
35
36
|
# File 'lib/mongoid/document_editor.rb', line 30
def self.fields_for(klass)
default_fields = {}
klass.fields.each_pair do |name, options|
default_fields[name.to_s] = {}
end
@@form_configuration.fetch(klass, default_fields)
end
|
47
48
49
50
51
|
# File 'lib/mongoid/document_editor.rb', line 47
def self.form_configuration_for(document_class, &block)
@@form_configuration[document_class] = {}
config = FormConfiguration.new(document_class, @@form_configuration[document_class])
config.evaluate(&block)
end
|
.index_configuration_for(document_class, &block) ⇒ Object
53
54
55
56
57
|
# File 'lib/mongoid/document_editor.rb', line 53
def self.index_configuration_for(document_class, &block)
@@index_configuration[document_class] = {}
config = IndexConfiguration.new(document_class, @@index_configuration[document_class])
config.evaluate(&block)
end
|
.index_for(klass) ⇒ Object
38
39
40
41
42
43
44
45
|
# File 'lib/mongoid/document_editor.rb', line 38
def self.index_for(klass)
default_fields = {}
klass.fields.each_pair do |name, options|
next if name.start_with?("_")
default_fields[name.to_s] = {}
end
@@index_configuration.fetch(klass, default_fields)
end
|
.mount_at(endpoint) ⇒ Object
63
64
65
|
# File 'lib/mongoid/document_editor.rb', line 63
def self.mount_at(endpoint)
@@endpoint = endpoint
end
|
.resources(options = {}) ⇒ Object
67
68
69
70
71
72
73
74
75
76
|
# File 'lib/mongoid/document_editor.rb', line 67
def self.resources(options={})
::Rails::Mongoid.load_models(Rails.application)
if options[:include]
@@models = Mongoid.models.select{ |model| Array(options[:include]).include?(model.to_s.underscore.downcase.to_sym) }
elsif options[:exclude]
@@models = Mongoid.models.reject{ |model| Array(options[:exclude]).include?(model.to_s.underscore.downcase.to_sym) }
else
@@models = Mongoid.models
end
end
|