Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/mir_utility.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.from_array(array = []) ⇒ Object



696
697
698
699
700
# File 'lib/mir_utility.rb', line 696

def self.from_array(array = [])
  h = Hash.new
  array.size.times{ |t| h[t] = array[t] }
  h
end

Instance Method Details

#to_paramsObject



660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
# File 'lib/mir_utility.rb', line 660

def to_params
  params = ''
  stack = []

  each do |k, v|
    if v.is_a?(Hash)
      stack << [k,v]
    elsif v.is_a?(Array)
      stack << [k,Hash.from_array(v)]
    else
      params << "#{k}=#{v}&"
    end
  end

  stack.each do |parent, hash|
    hash.each do |k, v|
      if v.is_a?(Hash)
        stack << ["#{parent}[#{k}]", v]
      else
        params << "#{parent}[#{k}]=#{v}&"
      end
    end
  end

  params.chop!
  params
end

#to_sql(operator = 'AND') ⇒ Object



688
689
690
691
692
693
694
# File 'lib/mir_utility.rb', line 688

def to_sql( operator = 'AND' )
  _sql = self.keys.map do |_key|
    _value = self[_key].is_a?(Fixnum) ? self[_key] : "'#{self[_key]}'"
    self[_key].nil? ? '1 = 1' : "#{_key} = #{_value}"
  end
  _sql * " #{operator} "
end