chairnerd 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/chairnerd.gemspec +1 -1
- data/lib/chairnerd/response/base.rb +20 -0
- data/lib/chairnerd/response/collection_response.rb +22 -0
- data/lib/chairnerd/response/event_response.rb +5 -7
- data/lib/chairnerd/response/events_response.rb +0 -4
- data/lib/chairnerd/response/venue_response.rb +7 -0
- data/lib/chairnerd/response/venues_response.rb +10 -0
- data/lib/chairnerd/venue.rb +15 -0
- data/lib/chairnerd/version.rb +1 -1
- data/lib/chairnerd.rb +1 -6
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a2e26d3fe6eb7ad9f763f6e353d88ed2c9d2a57
|
4
|
+
data.tar.gz: 28568325ce58420e70811b10b80c60c4e2906ff4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 62697a95866cf1124865392c9a710d7ab4bb8bd8ef43a0f21b85c61cbac1f3c2ba17e912bd69a27a53a243cb58d3856ab1c1a5b4feca0683231ca8c94c41cddc
|
7
|
+
data.tar.gz: 29a50ee11945ab4cf100b7c5dd4b7019d49cb66db62ff14b20506999a5e5d6ad04e9e7c46a47f3cdb165c0f1254a2c852c1dd7df9adc34839958cd24a0936cc3
|
data/Gemfile.lock
CHANGED
data/chairnerd.gemspec
CHANGED
@@ -4,7 +4,7 @@ Gem::Specification.new do |s|
|
|
4
4
|
s.version = Chairnerd::VERSION
|
5
5
|
s.date = '2014-03-26'
|
6
6
|
s.summary = "A wrapper for the Seatgeek API"
|
7
|
-
s.description = "
|
7
|
+
s.description = "There is a gem called Seatgeek, but it's been four years since it was updated, and since they are on V2 of their API, I decided to write a new one."
|
8
8
|
s.authors = ["Ryan Urabe"]
|
9
9
|
s.email = 'rurabe@gmail.com'
|
10
10
|
s.files = `git ls-files`.split("\n")
|
@@ -1,6 +1,16 @@
|
|
1
1
|
module Chairnerd
|
2
2
|
module Response
|
3
3
|
class Base
|
4
|
+
|
5
|
+
class << self
|
6
|
+
def simple_parse(*attributes)
|
7
|
+
attributes.each do |attribute|
|
8
|
+
define_method(attribute) do
|
9
|
+
instance_variable_get("@response")[attribute.to_s]
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
4
14
|
|
5
15
|
attr_reader :request, :response
|
6
16
|
def initialize(request,response)
|
@@ -8,6 +18,16 @@ module Chairnerd
|
|
8
18
|
@response = response
|
9
19
|
end
|
10
20
|
|
21
|
+
private
|
22
|
+
def resource
|
23
|
+
self.class.to_s.match(/Response::(\w+)Response/)[1].downcase
|
24
|
+
rescue
|
25
|
+
end
|
26
|
+
|
27
|
+
def plural_resource
|
28
|
+
"#{resource}s" if resource
|
29
|
+
end
|
30
|
+
|
11
31
|
end
|
12
32
|
end
|
13
33
|
end
|
@@ -1,10 +1,32 @@
|
|
1
1
|
module Chairnerd
|
2
2
|
module Response
|
3
3
|
class CollectionResponse < Base
|
4
|
+
def initialize(request,response)
|
5
|
+
p response[plural_resource].nil?
|
6
|
+
@collection = response[plural_resource].map {|ins| instance_response_class.new(request,ins) }
|
7
|
+
super(request,response)
|
8
|
+
end
|
9
|
+
|
4
10
|
def meta
|
5
11
|
@response['meta']
|
6
12
|
end
|
7
13
|
|
14
|
+
private
|
15
|
+
def instance_response_class
|
16
|
+
Object.const_get("Chairnerd::Response::#{resource.capitalize}Response")
|
17
|
+
end
|
18
|
+
|
19
|
+
alias_method :this_class_resource, :resource
|
20
|
+
|
21
|
+
def resource
|
22
|
+
plural_resource[0..-2]
|
23
|
+
end
|
24
|
+
|
25
|
+
def plural_resource
|
26
|
+
this_class_resource
|
27
|
+
end
|
28
|
+
|
29
|
+
|
8
30
|
end
|
9
31
|
end
|
10
32
|
end
|
@@ -2,16 +2,14 @@ module Chairnerd
|
|
2
2
|
module Response
|
3
3
|
class EventResponse < Base
|
4
4
|
|
5
|
-
|
6
|
-
DateTime.parse(@response['datetime_local'])
|
7
|
-
end
|
5
|
+
simple_parse :id, :url, :title
|
8
6
|
|
9
|
-
def
|
10
|
-
@response['
|
7
|
+
def datetime_local
|
8
|
+
Time.parse(@response['datetime_local'])
|
11
9
|
end
|
12
10
|
|
13
|
-
def
|
14
|
-
@response['
|
11
|
+
def datetime_utc
|
12
|
+
Time.parse(@response['datetime_utc'])
|
15
13
|
end
|
16
14
|
|
17
15
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module Chairnerd
|
2
|
+
module Venue
|
3
|
+
class << self
|
4
|
+
def find(params={})
|
5
|
+
request = Chairnerd::Client.make_request(:venues,params)
|
6
|
+
Response::VenuesResponse.new(*request)
|
7
|
+
end
|
8
|
+
|
9
|
+
def find_by_id(venue_id)
|
10
|
+
request = Chairnerd::Client.make_request(:events,event_id)
|
11
|
+
Response::VenueResponse.new(*request)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/chairnerd/version.rb
CHANGED
data/lib/chairnerd.rb
CHANGED
@@ -2,12 +2,7 @@ require 'json'
|
|
2
2
|
require 'uri'
|
3
3
|
require 'net/http'
|
4
4
|
|
5
|
-
require
|
6
|
-
require 'chairnerd/event'
|
7
|
-
require 'chairnerd/response/base'
|
8
|
-
require 'chairnerd/response/collection_response'
|
9
|
-
require 'chairnerd/response/event_response'
|
10
|
-
require 'chairnerd/response/events_response'
|
5
|
+
Gem.find_files("chairnerd/**/*.rb").each { |path| require path }
|
11
6
|
|
12
7
|
module Chairnerd
|
13
8
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chairnerd
|
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
|
- Ryan Urabe
|
@@ -10,7 +10,8 @@ bindir: bin
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2014-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
|
-
description:
|
13
|
+
description: There is a gem called Seatgeek, but it's been four years since it was
|
14
|
+
updated, and since they are on V2 of their API, I decided to write a new one.
|
14
15
|
email: rurabe@gmail.com
|
15
16
|
executables: []
|
16
17
|
extensions: []
|
@@ -29,6 +30,9 @@ files:
|
|
29
30
|
- lib/chairnerd/response/collection_response.rb
|
30
31
|
- lib/chairnerd/response/event_response.rb
|
31
32
|
- lib/chairnerd/response/events_response.rb
|
33
|
+
- lib/chairnerd/response/venue_response.rb
|
34
|
+
- lib/chairnerd/response/venues_response.rb
|
35
|
+
- lib/chairnerd/venue.rb
|
32
36
|
- lib/chairnerd/version.rb
|
33
37
|
homepage: http://github.com/rurabe/chairnerd
|
34
38
|
licenses:
|