Sha256: 9eaa1ec35f4a3281529f4bb6886680616b9552750043453bde06998817125dbc
Contents?: true
Size: 1.02 KB
Versions: 5
Compression:
Stored size: 1.02 KB
Contents
module ComicVine class CVObject def initialize(args) args.each do |k,v| self.class.class_eval { attr_accessor k } instance_variable_set "@#{k}", v end end def method_missing(method_sym, *arguments, &block) if method_sym.to_s =~ /^get_(.*)$/ key = method_sym.to_s.sub "get_", "" if instance_variable_defined?("@#{key}") item = instance_variable_get("@#{key}") if item.kind_of?(Array) && item.first.key?("api_detail_url") res = [] item.each do |i| res << ComicVine::API.get_details_by_url(i["api_detail_url"]) end return res end if item.kind_of?(Hash) && item.key?("api_detail_url") return ComicVine::API.get_details_by_url(item["api_detail_url"]) end else super end elsif super end end end class CVSearchObject < CVObject def fetch ComicVine::API.send(@resource_type, @id) end end end
Version data entries
5 entries across 5 versions & 1 rubygems