Module: Mongoid::Scribe
- Extended by:
- ActiveSupport::Autoload
- Defined in:
- lib/mongoid/scribe.rb,
lib/mongoid/scribe/engine.rb,
lib/mongoid/scribe/version.rb,
lib/mongoid/scribe/configuration.rb,
lib/mongoid/scribe/builders/field.rb,
lib/mongoid/scribe/builders/table.rb,
lib/mongoid/scribe/builders/relation.rb,
app/helpers/mongoid/scribe/documents_helper.rb,
app/controllers/mongoid/scribe/documents_controller.rb,
lib/mongoid/scribe/configuration/form_configuration.rb,
lib/mongoid/scribe/configuration/index_configuration.rb,
app/controllers/mongoid/scribe/application_controller.rb
Defined Under Namespace
Modules: Builders, DocumentsHelper
Classes: ApplicationController, Configuration, DocumentsController, Engine, FormConfiguration, IndexConfiguration
Constant Summary
collapse
- DEFAULT_ENDPOINT =
"/documents"
- DEFAULT_AUTHENTICATION_FILTER =
nil
- VERSION =
"0.3.0"
- @@form_configuration =
{}
- @@index_configuration =
{}
- @@authentication_filter =
DEFAULT_AUTHENTICATION_FILTER
- @@endpoint =
DEFAULT_ENDPOINT
- @@models =
Mongoid.models
Class Method Summary
collapse
Class Method Details
.authenticate_with(filter) ⇒ Object
67
68
69
|
# File 'lib/mongoid/scribe.rb', line 67
def self.authenticate_with(filter)
@@authentication_filter = filter
end
|
34
35
36
|
# File 'lib/mongoid/scribe.rb', line 34
def self.configure(&block)
instance_eval(&block)
end
|
.fields_for(klass) ⇒ Object
38
39
40
41
42
43
44
|
# File 'lib/mongoid/scribe.rb', line 38
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
|
55
56
57
58
59
|
# File 'lib/mongoid/scribe.rb', line 55
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
61
62
63
64
65
|
# File 'lib/mongoid/scribe.rb', line 61
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
46
47
48
49
50
51
52
53
|
# File 'lib/mongoid/scribe.rb', line 46
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
71
72
73
|
# File 'lib/mongoid/scribe.rb', line 71
def self.mount_at(endpoint)
@@endpoint = endpoint
end
|
.resources(options = {}) ⇒ Object
75
76
77
78
79
80
81
82
83
84
|
# File 'lib/mongoid/scribe.rb', line 75
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
|