Method: OrientSupport::OrientQuery.mk_std_setter

Defined in:
lib/support/orientquery.rb

.mk_std_setter(*m) ⇒ Object



500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
# File 'lib/support/orientquery.rb', line 500

def mk_std_setter *m
  m.each do |def_m|
    define_method( def_m  ) do | value = nil |
      if value.present?
        @q[def_m] << case value
                      when String
                        value
                      when ::Hash
                        value.map{|k,v| "#{k} = #{v.to_or}"}.join(", ")
                      else
                        raise "Only String or Hash allowed in  #{def_m} statement"
                      end
        self
      elsif @q[def_m].present?
        "#{def_m.to_s} #{@q[def_m].join(',')}"  
      end # branch
    end     # def_method
  end  # each
end