Module: Chewy::Type::Observe::Helpers
- Included in:
- Chewy::Type::Observe, Sequel::Plugins::ChewyObserve
- Defined in:
- lib/chewy/type/observe.rb
Instance Method Summary collapse
Instance Method Details
#extract_callback_options!(args) ⇒ Object
34 35 36 37 38 39 40 41 |
# File 'lib/chewy/type/observe.rb', line 34 def (args) = args. result = .each_key.with_object({}) do |key, hash| hash[key] = .delete(key) if i[if unless].include?(key) end args.push() unless .empty? result end |
#update_proc(type_name, *args, &block) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/chewy/type/observe.rb', line 7 def update_proc(type_name, *args, &block) = args. method = args.first proc do backreference = if method && method.to_s == 'self' self elsif method send(method) else instance_eval(&block) end reference = if type_name.is_a?(Proc) if type_name.arity.zero? instance_exec(&type_name) else type_name.call(self) end else type_name end Chewy.derive_type(reference).update_index(backreference, ) end end |