Module: Flex::Result::ActiveModel
- Includes:
- Scope
- Defined in:
- lib/flex/result/active_model.rb
Class Method Summary collapse
-
.should_extend?(result) ⇒ Boolean
extend if the context include a Flex::ActiveModel.
Instance Method Summary collapse
Class Method Details
.should_extend?(result) ⇒ Boolean
extend if the context include a Flex::ActiveModel
8 9 10 |
# File 'lib/flex/result/active_model.rb', line 8 def self.should_extend?(result) result.variables[:context] && result.variables[:context].include?(Flex::ActiveModel) end |
Instance Method Details
#get_docs ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/flex/result/active_model.rb', line 12 def get_docs # super is from flex-scopes docs = super return docs if variables[:raw_result] raw_result = self if docs.is_a?(Array) res = docs.map {|doc| build_object(doc)} res.extend(Struct::Paginable).setup(raw_result['hits']['total'], variables) class << res; self end.class_eval do define_method(:raw_result){ raw_result } define_method(:method_missing) do |meth, *args, &block| raw_result.respond_to?(meth) ? raw_result.send(meth, *args, &block) : super(meth, *args, &block) end end res else build_object docs end end |