events_jp 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/events_jp/event_object/atnd.rb +14 -18
- data/lib/events_jp/event_object/connpass.rb +14 -18
- data/lib/events_jp/event_object/doorkeeper.rb +35 -42
- data/lib/events_jp/event_object/event_object.rb +39 -39
- data/lib/events_jp/event_object/zusaar.rb +14 -18
- data/lib/events_jp/version.rb +1 -1
- data/spec/events_jp/event/event_object_spec.rb +6 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 506a0f963ad30764a42e08c29054518eb119c5ca
|
4
|
+
data.tar.gz: d67d55a6df42148286bfd569d159c932f5026f87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c33a02211be7877b90d04cb43e12bbc25c132db39b3a3003af1a96f5d5aae3ea4f81a02ef3725d33418ef64d352dbd03433e118724a029dc7ce9a5cdfdc6d5b2
|
7
|
+
data.tar.gz: d457140afe746f53c17f3c8e4109b46499a84b9634783b22d4466ae68114672a8f107775b10c9c3e11c7ffa1f798be049648878621cc73335f82c32c556c9e59
|
@@ -3,27 +3,23 @@ module EventsJp
|
|
3
3
|
ENDPOINT = 'http://api.atnd.org/events/'.freeze
|
4
4
|
DEFAULT_OPT = {format: 'json', count: 100}.freeze
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
convert_response(get(ENDPOINT, opt))
|
13
|
-
end
|
14
|
-
results += tmp
|
15
|
-
errors << err
|
16
|
-
break if finish_get?(results, tmp, limit)
|
17
|
-
sleep(1)
|
6
|
+
def self.get_events(keyword: nil, limit: nil)
|
7
|
+
results, errors = [], []
|
8
|
+
loop do
|
9
|
+
results, errors, has_response = access_wrapper(results, errors) do
|
10
|
+
opt = merged_option(keyword, results, DEFAULT_OPT)
|
11
|
+
convert_response(get(ENDPOINT, opt))
|
18
12
|
end
|
19
|
-
|
20
|
-
|
13
|
+
break if finish_get?(results, has_response, limit)
|
14
|
+
sleep(1)
|
21
15
|
end
|
22
16
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
17
|
+
return [results.uniq.compact.flatten, errors.compact.flatten]
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.convert_response(json_str)
|
21
|
+
e = Hashie::Mash.new(JSON.parse(json_str)).events
|
22
|
+
e.map { |_| to_basic_hash(_.event) }
|
27
23
|
end
|
28
24
|
end
|
29
25
|
end
|
@@ -3,28 +3,24 @@ module EventsJp
|
|
3
3
|
ENDPOINT = 'http://connpass.com/api/v1/event/'.freeze
|
4
4
|
DEFAULT_OPT = {order: 2, count: 100}.freeze
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
convert_response(get(ENDPOINT, opt))
|
13
|
-
end
|
14
|
-
results += tmp
|
15
|
-
errors << err
|
16
|
-
break if finish_get?(results, tmp, limit)
|
17
|
-
|
18
|
-
sleep(1)
|
6
|
+
def self.get_events(keyword: nil, limit: nil)
|
7
|
+
results, errors = [], []
|
8
|
+
loop do
|
9
|
+
results, errors, has_response = access_wrapper(results, errors) do
|
10
|
+
opt = merged_option(keyword, results, DEFAULT_OPT)
|
11
|
+
convert_response(get(ENDPOINT, opt))
|
19
12
|
end
|
13
|
+
break if finish_get?(results, has_response, limit)
|
20
14
|
|
21
|
-
|
15
|
+
sleep(1)
|
22
16
|
end
|
23
17
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
18
|
+
return [results.uniq.compact.flatten, errors.compact.flatten]
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.convert_response(json_str)
|
22
|
+
e = Hashie::Mash.new(JSON.parse(json_str)).events
|
23
|
+
e.map { |_| to_basic_hash(_) }
|
28
24
|
end
|
29
25
|
end
|
30
26
|
end
|
@@ -3,54 +3,47 @@ module EventsJp
|
|
3
3
|
ENDPOINT = 'http://api.doorkeeper.jp/events'.freeze
|
4
4
|
DEFAULT_OPT = {locale: 'ja', sort: 'starts_at'}.freeze
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
opt = merged_option(page, DEFAULT_OPT)
|
13
|
-
convert_response(get(ENDPOINT, opt))
|
14
|
-
end
|
15
|
-
results += tmp
|
16
|
-
errors << err
|
17
|
-
break if finish_get?(results, tmp, limit)
|
18
|
-
sleep(1)
|
6
|
+
def self.get_events(keyword: nil, limit: nil)
|
7
|
+
results, errors = [], []
|
8
|
+
1.upto(1000) do |page|
|
9
|
+
results, errors, has_response = access_wrapper(results, errors) do
|
10
|
+
opt = merged_option(page, DEFAULT_OPT)
|
11
|
+
convert_response(get(ENDPOINT, opt))
|
19
12
|
end
|
20
|
-
|
21
|
-
|
13
|
+
break if finish_get?(results, has_response, limit)
|
14
|
+
sleep(1)
|
22
15
|
end
|
23
16
|
|
24
|
-
|
25
|
-
|
26
|
-
opt.merge({page: page})
|
27
|
-
end
|
17
|
+
return [results.uniq.compact.flatten, errors.compact.flatten]
|
18
|
+
end
|
28
19
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
to_basic_hash(e)
|
34
|
-
end
|
35
|
-
end
|
20
|
+
def self.merged_option(page, option)
|
21
|
+
opt = option.dup
|
22
|
+
opt.merge({page: page})
|
23
|
+
end
|
36
24
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
catch: nil,
|
43
|
-
event_url: h[:public_url],
|
44
|
-
started_at: parse_datetime(h[:starts_at]),
|
45
|
-
ended_at: parse_datetime(h[:ends_at]),
|
46
|
-
place: h[:venue_name],
|
47
|
-
lon: h[:long] ? h[:long].to_f : nil,
|
48
|
-
lat: h[:lat] ? h[:lat].to_f : nil,
|
49
|
-
limit: h[:ticket_limit],
|
50
|
-
accepted: h[:participants],
|
51
|
-
waiting: h[:waitlisted]
|
52
|
-
})
|
25
|
+
def self.convert_response(json_str)
|
26
|
+
j = JSON.parse(json_str)
|
27
|
+
j.map do |_|
|
28
|
+
e = Hashie::Mash.new(_).event
|
29
|
+
to_basic_hash(e)
|
53
30
|
end
|
54
31
|
end
|
32
|
+
|
33
|
+
def self.to_basic_hash(h)
|
34
|
+
Hashie::Mash.new({ service: service_name,
|
35
|
+
address: h[:address],
|
36
|
+
title: h[:title],
|
37
|
+
catch: nil,
|
38
|
+
event_url: h[:public_url],
|
39
|
+
started_at: parse_datetime(h[:starts_at]),
|
40
|
+
ended_at: parse_datetime(h[:ends_at]),
|
41
|
+
place: h[:venue_name],
|
42
|
+
lon: h[:long] ? h[:long].to_f : nil,
|
43
|
+
lat: h[:lat] ? h[:lat].to_f : nil,
|
44
|
+
limit: h[:ticket_limit],
|
45
|
+
accepted: h[:participants],
|
46
|
+
waiting: h[:waitlisted] })
|
47
|
+
end
|
55
48
|
end
|
56
49
|
end
|
@@ -3,50 +3,50 @@ module EventsJp
|
|
3
3
|
class ImplementationException < Exception; end
|
4
4
|
extend EventsJp::Connection
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
6
|
+
def self.access_wrapper(results, errors, &block)
|
7
|
+
results << (tmp = block.call)
|
8
|
+
has_response = (tmp.count >= 1)
|
9
|
+
return [results.flatten.compact, errors, has_response]
|
10
|
+
rescue => e
|
11
|
+
errors << e.message
|
12
|
+
has_response = false
|
13
|
+
return [results, errors, has_response]
|
14
|
+
end
|
12
15
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
+
def self.service_name
|
17
|
+
self.name.to_s.downcase.gsub(/^(.*::)/, '')
|
18
|
+
end
|
16
19
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
20
|
+
def self.merged_option(keyword, response, option)
|
21
|
+
opt = option.dup
|
22
|
+
opt.merge!({start: (response.count + 1)})
|
23
|
+
keyword ? opt.merge!(keyword: keyword) : opt
|
24
|
+
end
|
22
25
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
26
|
+
def self.finish_get?(res, has_response, limit = nil)
|
27
|
+
return true if limit.to_i > 0 && res.count >= limit
|
28
|
+
return true unless has_response
|
29
|
+
return false
|
30
|
+
end
|
28
31
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
})
|
45
|
-
end
|
32
|
+
def self.to_basic_hash(h)
|
33
|
+
Hashie::Mash.new({ service: service_name,
|
34
|
+
address: h[:address],
|
35
|
+
catch: h[:catch],
|
36
|
+
title: h[:title],
|
37
|
+
event_url: h[:event_url],
|
38
|
+
started_at: parse_datetime(h[:started_at]),
|
39
|
+
ended_at: parse_datetime(h[:ended_at]),
|
40
|
+
place: h[:place],
|
41
|
+
lon: h[:lon].to_f,
|
42
|
+
lat: h[:lat].to_f,
|
43
|
+
limit: h[:limit],
|
44
|
+
accepted: h[:accepted],
|
45
|
+
waiting: h[:waiting] })
|
46
|
+
end
|
46
47
|
|
47
|
-
|
48
|
-
|
49
|
-
end
|
48
|
+
def self.parse_datetime(dt)
|
49
|
+
dt ? DateTime.parse(dt) : nil
|
50
50
|
end
|
51
51
|
end
|
52
52
|
end
|
@@ -3,27 +3,23 @@ module EventsJp
|
|
3
3
|
ENDPOINT = 'http://www.zusaar.com/api/event/'.freeze
|
4
4
|
DEFAULT_OPT = {count: 100}.freeze
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
convert_response(get(ENDPOINT, opt))
|
13
|
-
end
|
14
|
-
results += tmp
|
15
|
-
errors << err
|
16
|
-
break if finish_get?(results, tmp, limit)
|
17
|
-
sleep(1)
|
6
|
+
def self.get_events(keyword: nil, limit: nil)
|
7
|
+
results, errors = [], []
|
8
|
+
loop do
|
9
|
+
results, errors, has_response = access_wrapper(results, errors) do
|
10
|
+
opt = merged_option(keyword, results, DEFAULT_OPT)
|
11
|
+
convert_response(get(ENDPOINT, opt))
|
18
12
|
end
|
19
|
-
|
20
|
-
|
13
|
+
break if finish_get?(results, has_response, limit)
|
14
|
+
sleep(1)
|
21
15
|
end
|
22
16
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
17
|
+
return [results, errors]
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.convert_response(json_str)
|
21
|
+
e = Hashie::Mash.new(JSON.parse(json_str)).event
|
22
|
+
e.map{ |_| to_basic_hash(_) }
|
27
23
|
end
|
28
24
|
end
|
29
25
|
end
|
data/lib/events_jp/version.rb
CHANGED
@@ -6,7 +6,8 @@ describe 'EventsJp::EventObject' do
|
|
6
6
|
context 'achieve limit' do
|
7
7
|
before(:each) do
|
8
8
|
response = %w(1 2)
|
9
|
-
|
9
|
+
has_response = true
|
10
|
+
@result = EventsJp::EventObject.finish_get?(response, has_response, 2)
|
10
11
|
end
|
11
12
|
|
12
13
|
it 'return true' do
|
@@ -17,7 +18,8 @@ describe 'EventsJp::EventObject' do
|
|
17
18
|
context 'get no response' do
|
18
19
|
before(:each) do
|
19
20
|
response = %w(1)
|
20
|
-
|
21
|
+
has_response = false
|
22
|
+
@result = EventsJp::EventObject.finish_get?(response, has_response, 2)
|
21
23
|
end
|
22
24
|
|
23
25
|
it 'return true' do
|
@@ -28,7 +30,8 @@ describe 'EventsJp::EventObject' do
|
|
28
30
|
context 'not achieve limit' do
|
29
31
|
before(:each) do
|
30
32
|
response = %w(1)
|
31
|
-
|
33
|
+
has_response = true
|
34
|
+
@result = EventsJp::EventObject.finish_get?(response, has_response, 2)
|
32
35
|
end
|
33
36
|
|
34
37
|
it 'return false' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: events_jp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- morizyun
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hashie
|