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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4f67d6a45cf0c82bfadeefff22ffd982d7bd52f9
4
- data.tar.gz: 7cdbcd44a517af9b0573b7ac1bc9260df3114215
3
+ metadata.gz: 506a0f963ad30764a42e08c29054518eb119c5ca
4
+ data.tar.gz: d67d55a6df42148286bfd569d159c932f5026f87
5
5
  SHA512:
6
- metadata.gz: aa55f679cabc8e8d020b3d702dc13dc44c30d6ce5088ec203318fe6f0647cc9499d70c467e1da312d9eb39f306988f3bc9f40b0e9fea140b10ae2bb5f5134716
7
- data.tar.gz: 67220f492e3d0c0831e1bd86f23d867cd7e0ad8ddc0f14c84fde3e4ca3f60f9a5fb842079fa0b4b9bb1af5347ace937543673f3e74764bab40945876b7e2f826
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
- class << self
7
- def get_events(keyword: nil, limit: nil)
8
- results, errors = [], []
9
- loop do
10
- tmp, err = access_wrapper do
11
- opt = merged_option(keyword, results, DEFAULT_OPT)
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
- return [results.uniq.compact.flatten, errors.compact.flatten]
13
+ break if finish_get?(results, has_response, limit)
14
+ sleep(1)
21
15
  end
22
16
 
23
- def convert_response(json_str)
24
- e = Hashie::Mash.new(JSON.parse(json_str)).events
25
- e.map { |_| to_basic_hash(_.event) }
26
- end
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
- class << self
7
- def get_events(keyword: nil, limit: nil)
8
- results, errors = [], []
9
- loop do
10
- tmp, err = access_wrapper do
11
- opt = merged_option(keyword, results, DEFAULT_OPT)
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
- return [results.uniq.compact.flatten, errors.compact.flatten]
15
+ sleep(1)
22
16
  end
23
17
 
24
- def convert_response(json_str)
25
- e = Hashie::Mash.new(JSON.parse(json_str)).events
26
- e.map { |_| to_basic_hash(_) }
27
- end
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
- class << self
7
- def get_events(keyword: nil, limit: nil)
8
- results, errors = [], []
9
-
10
- 1.upto(1000) do |page|
11
- tmp, err = access_wrapper do
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
- return [results.uniq.compact.flatten, errors.compact.flatten]
13
+ break if finish_get?(results, has_response, limit)
14
+ sleep(1)
22
15
  end
23
16
 
24
- def merged_option(page, option)
25
- opt = option.dup
26
- opt.merge({page: page})
27
- end
17
+ return [results.uniq.compact.flatten, errors.compact.flatten]
18
+ end
28
19
 
29
- def convert_response(json_str)
30
- j = JSON.parse(json_str)
31
- j.map do |_|
32
- e = Hashie::Mash.new(_).event
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
- def to_basic_hash(h)
38
- Hashie::Mash.new({
39
- service: service_name,
40
- address: h[:address],
41
- title: h[:title],
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
- class << self
7
- def access_wrapper(&block)
8
- return [block.call, nil]
9
- rescue => e
10
- return [[], e.message]
11
- end
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
- def service_name
14
- self.name.to_s.downcase.gsub(/^(.*::)/, '')
15
- end
16
+ def self.service_name
17
+ self.name.to_s.downcase.gsub(/^(.*::)/, '')
18
+ end
16
19
 
17
- def merged_option(keyword, response, option)
18
- opt = option.dup
19
- opt.merge!({start: (response.count + 1)})
20
- keyword ? opt.merge!(keyword: keyword) : opt
21
- end
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
- def finish_get?(res, current, limit = nil)
24
- return true if limit.to_i > 0 && res.count >= limit
25
- return true if current.count == 0
26
- return false
27
- end
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
- def to_basic_hash(h)
30
- Hashie::Mash.new({
31
- service: service_name,
32
- address: h[:address],
33
- catch: h[:catch],
34
- title: h[:title],
35
- event_url: h[:event_url],
36
- started_at: parse_datetime(h[:started_at]),
37
- ended_at: parse_datetime(h[:ended_at]),
38
- place: h[:place],
39
- lon: h[:lon].to_f,
40
- lat: h[:lat].to_f,
41
- limit: h[:limit],
42
- accepted: h[:accepted],
43
- waiting: h[:waiting]
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
- def parse_datetime(dt)
48
- dt ? DateTime.parse(dt) : nil
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
- class << self
7
- def get_events(keyword: nil, limit: nil)
8
- results, errors = [], []
9
- loop do
10
- tmp, err = access_wrapper do
11
- opt = merged_option(keyword, results, DEFAULT_OPT)
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
- return [results.uniq.compact.flatten, errors.compact.flatten]
13
+ break if finish_get?(results, has_response, limit)
14
+ sleep(1)
21
15
  end
22
16
 
23
- def convert_response(json_str)
24
- e = Hashie::Mash.new(JSON.parse(json_str)).event
25
- e.map{ |_| to_basic_hash(_) }
26
- end
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
@@ -1,3 +1,3 @@
1
1
  module EventsJp
2
- VERSION = '0.0.5'
2
+ VERSION = '0.0.6'
3
3
  end
@@ -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
- @result = EventsJp::EventObject.finish_get?(response, response, 2)
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
- @result = EventsJp::EventObject.finish_get?(response, [], 2)
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
- @result = EventsJp::EventObject.finish_get?(response, response, 2)
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.5
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-21 00:00:00.000000000 Z
11
+ date: 2014-12-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hashie