Class: Array

Inherits:
Object show all
Defined in:
lib/qbxml/support.rb,
lib/quickbooks/ruby_magic.rb

Instance Method Summary collapse

Instance Method Details

#camelize_values(specials = {}) ⇒ Object



51
52
53
# File 'lib/qbxml/support.rb', line 51

def camelize_values(specials={})
  self.dup.camelize_values!(specials)
end

#camelize_values!(specials = {}) ⇒ Object



54
55
56
57
58
59
# File 'lib/qbxml/support.rb', line 54

def camelize_values!(specials={})
  self.each_with_index do |v,i|
    self[i] = specials.has_key?(v) ? specials[v] : (v.is_a?(Symbol) ? v.to_s.camelize.to_sym : v.camelize)
  end
  self
end

#only(*values) ⇒ Object



69
70
71
# File 'lib/qbxml/support.rb', line 69

def only(*values)
  self.dup.only!(*values)
end

#only!(*values) ⇒ Object



72
73
74
75
76
77
78
79
# File 'lib/qbxml/support.rb', line 72

def only!(*values)
  values.flatten!
  i = 0
  while i <= length-1 do
    self[i].is_one_of?(values) ? i += 1 : self.slice!(i)
  end
  self
end

#order(*ordered) ⇒ Object



81
82
83
# File 'lib/qbxml/support.rb', line 81

def order(*ordered)
  self.dup.order!(*ordered)
end

#order!(*ordered) ⇒ Object



84
85
86
# File 'lib/qbxml/support.rb', line 84

def order!(*ordered)
  self.replace(ordered.flatten!.only!(self))
end

#stringify_valuesObject



61
62
63
# File 'lib/qbxml/support.rb', line 61

def stringify_values
  self.dup.stringify_values!
end

#stringify_values!Object



64
65
66
67
# File 'lib/qbxml/support.rb', line 64

def stringify_values!
  self.each_with_index { |v,i| self[i] = v.to_s }
  self
end