Best Site_prism code snippet using ClassMethods._find
interface.rb
Source:interface.rb
...44 def find_url45 "/nodes/search"46 end47 def root48 process_find(:first, 'root', {})49 end50 end51 # Used by instance.find(...)52 module InstanceMethods53 def find_url54 raise Exception.new("Cannot find from a new instance (no id).") unless id55 "/nodes/#{id}/find"56 end57 def get(*args)58 @connection.get(*args)59 end60 end61 # Used by connection['Post'].find(...)62 module ClassMethods63 def find_url64 "/nodes/search"65 end66 def get(*args)67 @connection.get(*args)68 end69 def process_find(count, query, options = {})70 if query.kind_of?(Hash)71 query = query.symbolize_keys72 klass = query.delete(:class) || @name73 query_args = []74 query.each do |key, value|75 query_args << "#{key} = #{Zena::Db.quote(value)}"76 end77 query = "nodes where class like #{klass} and #{query_args.join(' and ')} in site"78 elsif query.kind_of?(String)79 # query must be a filter80 query = "nodes where class like #{@name} and #{query} in site"81 elsif query.kind_of?(Fixnum)82 # query is an id83 query = "nodes where class like #{@name} and id = #{query} in site"84 else85 # no filter86 query = "nodes where class like #{@name} in site"87 end88 super(count, query, options)89 end90 def all(query = nil, options = {})91 process_find(:all, query, options)92 end93 def first(query = nil, options = {})94 process_find(:first, query, options)95 end96 def count(query = nil, options = {})97 process_find(:count, query, options)98 end99 end # ClassMethods100 # Find remote nodes with query builder or indexed search101 def find(count, query = nil, options = {})102 if query.nil?103 query = count104 count = count.kind_of?(Fixnum) ? :first : :all105 end106 process_find(count, query, options)107 end108 def search(query, options = {})109 process_find(:all, {:q => query}, options)110 end111 def all(query, options = {})112 process_find(:all, query, options)113 end114 def first(query, options = {})115 process_find(:first, query, options)116 end117 def count(query, options = {})118 process_find(:count, query, options)119 end120 private121 def process_find(count, query, options)122 if query.kind_of?(String)123 # Consider string as SQLiss124 result = get(find_url, :query => options.merge(:qb => query, :_find => count))125 elsif query.kind_of?(Fixnum)126 # Find by id (== zip)127 result = get("/nodes/#{query}")128 if node = result['node']129 result = {'nodes' => [node]}130 end131 else132 # Find from indices title = ..., etc133 result = get(find_url, :query => query.merge(options).merge(:_find => count))134 end135 if errors = result['errors']136 errors.each do |error|137 log_message error['message']138 end139 end140 case count141 when :first142 if nodes = result['nodes']143 if found_first = nodes.first144 return build_record(found_first)145 else146 nil147 end...
query.rb
Source:query.rb
...42 #43 # @return [ Mara::Model::Base]44 def find(partition_key, sort_key = nil)45 Mara.instrument('model.find', class_name: name, partition_key: partition_key, sort_key: sort_key) do46 _find(partition_key, sort_key)47 end48 end49 ##50 # @private51 #52 # @see #find53 def _find(partition_key, sort_key = nil)54 if partition_key.blank?55 raise ArgumentError, 'Must specify a valid partition key value'56 end57 if sort_key.nil? && !self.sort_key.blank?58 raise ArgumentError, "#{self.class.name} specifies a sort key, but no sort key value was given."59 end60 key_params = {}61 key_params[self.partition_key] = Mara::AttributeFormatter.format(partition_key)62 if self.sort_key.present?63 key_params[self.sort_key] = Mara::AttributeFormatter.format(sort_key)64 end65 response = Mara::Query.get_item(key: key_params)66 if response.nil? || response.items.empty?67 raise NotFoundError, "Can't find item with pk=#{partition_key} sk=#{sort_key}"...
_find
Using AI Code Generation
1 def self._find(*args)2 def self._find(*args)3 def self._find(*args)4 def self._find(*args)5 def self._find(*args)6 def self._find(*args)7 def self._find(*args)8 def self._find(*args)9 def self._find(*args)10 def self._find(*args)11 def self._find(*args)12 def self._find(*args)
_find
Using AI Code Generation
1 def self._find(*args)2 def self._find(*args)3 def self._find(*args)4 def self._find(*args)5 def self._find(*args)6 def self._find(*args)7 def self._find(*args)8 def self._find(*args)9 def self._find(*args)10 def self._find(*args)11 def self._find(*args)
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!