class Parser

Attributes

output[RW]

Public Class Methods

new(field_name, qualifier_value, hash) click to toggle source
# File lib/apidragon/parser.rb, line 4
def initialize(field_name, qualifier_value, hash)
  @field_name = field_name
  @qualifier_value = qualifier_value
  @hash = hash
end

Public Instance Methods

parse() click to toggle source
# File lib/apidragon/parser.rb, line 10
def parse
  if @qualifier_value.nil?
    recurse @hash
  else
    qualified_recurse @hash
  end
end
qualified_recurse(object) click to toggle source
# File lib/apidragon/parser.rb, line 34
def qualified_recurse(object)
  if object.is_a? Hash
    if object.has_value? @qualifier_value
      @output = object[@field_name]
    else
      object.each_pair do |_key, value|
        qualified_recurse value
      end
    end
  elsif object.is_a? Array
    object.each do |element|
      qualified_recurse element
    end
  end
end
recurse(object) click to toggle source
# File lib/apidragon/parser.rb, line 18
def recurse(object)
  if object.is_a? Hash
    if object.has_key? @field_name
      @output = object[@field_name]
    else
      object.each_pair do |_key, value|
        recurse value
      end
    end
  elsif object.is_a? Array
    object.each do |element|
      recurse element
    end
  end
end