Class: Elasticated::BulkRequest
Defined Under Namespace
Classes: Response, ResponseItem
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
#evaluate
#inspect, #text_for_inspect
Constructor Details
#initialize(repository) ⇒ BulkRequest
Returns a new instance of BulkRequest.
16
17
18
19
|
# File 'lib/elasticated/bulk_request.rb', line 16
def initialize(repository)
self.repository = repository
self.actions = Array.new
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_name, *args, &block) ⇒ Object
39
40
41
42
43
44
45
46
47
|
# File 'lib/elasticated/bulk_request.rb', line 39
def method_missing(method_name, *args, &block)
action_class = get_action_class method_name
if action_class
action = action_class.new(repository, *args, &block)
add action
else
super
end
end
|
Instance Attribute Details
#actions ⇒ Object
Returns the value of attribute actions.
13
14
15
|
# File 'lib/elasticated/bulk_request.rb', line 13
def actions
@actions
end
|
#errors ⇒ Object
Returns the value of attribute errors.
14
15
16
|
# File 'lib/elasticated/bulk_request.rb', line 14
def errors
@errors
end
|
#items ⇒ Object
Returns the value of attribute items.
14
15
16
|
# File 'lib/elasticated/bulk_request.rb', line 14
def items
@items
end
|
#repository ⇒ Object
Returns the value of attribute repository.
13
14
15
|
# File 'lib/elasticated/bulk_request.rb', line 13
def repository
@repository
end
|
Class Method Details
.build_over(repository, &block) ⇒ Object
4
5
6
7
8
|
# File 'lib/elasticated/bulk_request.rb', line 4
def self.build_over(repository, &block)
request = new repository
request.evaluate block
request
end
|
Instance Method Details
#add(action) ⇒ Object
21
22
23
|
# File 'lib/elasticated/bulk_request.rb', line 21
def add(action)
actions << action
end
|
#build ⇒ Object
25
26
27
|
# File 'lib/elasticated/bulk_request.rb', line 25
def build
actions.map(&:build).flatten
end
|
#get_action_class(action_name) ⇒ Object
33
34
35
36
37
|
# File 'lib/elasticated/bulk_request.rb', line 33
def get_action_class(action_name)
return nil unless action_name.to_s.end_with? '_document'
camel_case_name = Helpers.string_to_camel_case action_name.to_s.gsub /\_document$/, ''
self.class.const_get("::Elasticated::BulkActions::#{camel_case_name}Action") rescue nil
end
|
#parse(result) ⇒ Object
53
54
55
|
# File 'lib/elasticated/bulk_request.rb', line 53
def parse(result)
Response.parse result
end
|
#respond_to_missing?(name, include_private = false) ⇒ Boolean
49
50
51
|
# File 'lib/elasticated/bulk_request.rb', line 49
def respond_to_missing?(name, include_private=false)
get_action_class(name) || super
end
|
#to_text ⇒ Object
29
30
31
|
# File 'lib/elasticated/bulk_request.rb', line 29
def to_text
build.map(&:to_json)*"\n"
end
|