class EventsJp::Doorkeeper

Public Class Methods

get_events(keyword: nil, limit: nil) click to toggle source
# File lib/events_jp/event_object/doorkeeper.rb, line 3
def self.get_events(keyword: nil, limit: nil)
  results, errors = [], []
  1.upto(1000) do |page|
    results, errors, has_response = access_wrapper(results, errors) do
      opt = merged_option(page, 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

convert_response(json_str) click to toggle source
# File lib/events_jp/event_object/doorkeeper.rb, line 24
def self.convert_response(json_str)
  j = JSON.parse(json_str)
  j.map do |_|
    e = Hashie::Mash.new(_).event
    to_basic_hash(e)
  end
end
default_opt() click to toggle source
# File lib/events_jp/event_object/doorkeeper.rb, line 52
def self.default_opt
  {locale: 'ja', sort: 'starts_at'}
end
endpoint() click to toggle source
# File lib/events_jp/event_object/doorkeeper.rb, line 48
def self.endpoint
  'http://api.doorkeeper.jp/events'
end
merged_option(page, option) click to toggle source
# File lib/events_jp/event_object/doorkeeper.rb, line 19
def self.merged_option(page, option)
  opt = option.dup
  opt.merge({page: page})
end
to_basic_hash(h) click to toggle source
# File lib/events_jp/event_object/doorkeeper.rb, line 32
def self.to_basic_hash(h)
  Hashie::Mash.new({ service:     service_name,
                     address:     h[:address],
                     title:       h[:title],
                     catch:       nil,
                     event_url:   h[:public_url],
                     started_at:  parse_datetime(h[:starts_at]),
                     ended_at:    parse_datetime(h[:ends_at]),
                     place:       h[:venue_name],
                     lon:         h[:long] ? h[:long].to_f : nil,
                     lat:         h[:lat] ? h[:lat].to_f : nil,
                     limit:       h[:ticket_limit],
                     accepted:    h[:participants],
                     waiting:     h[:waitlisted] })
end