class EventsJp::EventObject
Public Class Methods
get_events(keyword: nil, limit: nil)
click to toggle source
# File lib/events_jp/event_object/event_object.rb, line 6 def self.get_events(keyword: nil, limit: nil) results, errors = [], [] loop do results, errors, has_response = access_wrapper(results, errors) do opt = merged_option(keyword, results, default_opt) convert_response(get(endpoint, opt)) end break if finish_get?(results, has_response, limit) sleep(1) end return [results, errors] end
Private Class Methods
access_wrapper(results, errors, &block)
click to toggle source
# File lib/events_jp/event_object/event_object.rb, line 22 def self.access_wrapper(results, errors, &block) results << (tmp = block.call) has_response = (tmp.count >= 1) return [results.flatten.compact, errors, has_response] rescue => e errors << e.message has_response = false return [results, errors, has_response] end
default_opt()
click to toggle source
# File lib/events_jp/event_object/event_object.rb, line 72 def self.default_opt end
endpoint()
click to toggle source
インターフェース
# File lib/events_jp/event_object/event_object.rb, line 69 def self.endpoint end
finish_get?(res, has_response, limit = nil)
click to toggle source
# File lib/events_jp/event_object/event_object.rb, line 42 def self.finish_get?(res, has_response, limit = nil) return true if limit.to_i > 0 && res.count >= limit return true unless has_response return false end
merged_option(keyword, response, option)
click to toggle source
# File lib/events_jp/event_object/event_object.rb, line 36 def self.merged_option(keyword, response, option) opt = option.dup opt.merge!({start: (response.count + 1)}) keyword ? opt.merge!(keyword: keyword) : opt end
parse_datetime(dt)
click to toggle source
# File lib/events_jp/event_object/event_object.rb, line 64 def self.parse_datetime(dt) dt ? DateTime.parse(dt) : nil end
service_name()
click to toggle source
# File lib/events_jp/event_object/event_object.rb, line 32 def self.service_name self.name.to_s.downcase.gsub(/^(.*::)/, '') end
to_basic_hash(h)
click to toggle source
# File lib/events_jp/event_object/event_object.rb, line 48 def self.to_basic_hash(h) Hashie::Mash.new({ service: service_name, address: h[:address], catch: h[:catch], title: h[:title], event_url: h[:event_url], started_at: parse_datetime(h[:started_at]), ended_at: parse_datetime(h[:ended_at]), place: h[:place], lon: h[:lon].to_f, lat: h[:lat].to_f, limit: h[:limit], accepted: h[:accepted], waiting: h[:waiting] }) end