class RubyJisho::Result

A single result from the API response

Attributes

response[R]

Public Class Methods

new(response) click to toggle source
# File lib/ruby_jisho/result.rb, line 6
def initialize(response)
  @response = response
end

Public Instance Methods

keys() click to toggle source
# File lib/ruby_jisho/result.rb, line 10
def keys
  response.keys
end
method_missing(sym, *args, &block) click to toggle source
Calls superclass method
# File lib/ruby_jisho/result.rb, line 29
def method_missing(sym, *args, &block)
  if keys.include?(sym)
    response.fetch(sym)
  else
    super
  end
end
respond_to_missing?(method_name, include_private = false) click to toggle source
Calls superclass method
# File lib/ruby_jisho/result.rb, line 37
def respond_to_missing?(method_name, include_private = false)
  keys.include?(method_name) || super
end
senses() click to toggle source
# File lib/ruby_jisho/result.rb, line 14
def senses
  response.fetch(:senses)
          .map { |s| Sense.new(s) }
end
to_h() click to toggle source
# File lib/ruby_jisho/result.rb, line 19
def to_h
  keys.each_with_object({}) do |k, hash|
    hash[k] = begin
                send(k)
              rescue NoMethodError
                response.fetch(k, nil)
              end
  end
end