chiketto 0.0.4 → 0.0.5

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: dda2ccb3f3bb08a0fa9608d64fe991a454699238
4
- data.tar.gz: 96bf882e5d1422ccb2302c3265cea13824d559d4
3
+ metadata.gz: b623cd0a83ef25be05b1f6bfdbdcab62132e8ffa
4
+ data.tar.gz: 8464380fa3ce70c10c6e14089f97e451507341f3
5
5
  SHA512:
6
- metadata.gz: 04304e643ed8c6fc72275d6255cddcb34c09821cea74df11baa73921c38037d8d3d2e5cb07f81556c8199c113331aa4eeba341c9d2cd310aa5e64f41691e70f6
7
- data.tar.gz: 81958275e5cbfe1e511d22e098dd080e9bb84d3fffe85c84a8324cd2197473b2ffc63e11c3cc70e3bcb6278e26015cc2099ade2ecf3dcc11df17a2306eaab9a3
6
+ metadata.gz: 2d92c170a9185378b89d44c63c70e197dedb34ebaa18567c70fbb8348764191339227a4e0d2efd6ec9d19399d5577069527361754633b3857cbbd7d1fade7805
7
+ data.tar.gz: 0e3c9306ede7ffe1bb8ccedb2fc95e0177f1820f87bdeab54692edd0fd924424b79ab06758d2dfeed5010419acbd4f05a30bec3d1945e585dc7a58b2316d8e5b
data/lib/chiketto.rb CHANGED
@@ -8,10 +8,19 @@ module Chiketto
8
8
  require 'chiketto/attr_attribute'
9
9
  require 'chiketto/resource'
10
10
  require 'chiketto/address'
11
+ require 'chiketto/attendee'
11
12
  require 'chiketto/category'
12
13
  require 'chiketto/event'
13
14
  require 'chiketto/organizer'
14
15
  require 'chiketto/ticket_class'
15
16
  require 'chiketto/venue'
16
17
 
18
+ class << self
19
+ attr_writer :api_key
20
+
21
+ def api_key
22
+ @api_key || ENV['EVENTBRITE_API_TOKEN']
23
+ end
24
+ end
25
+
17
26
  end
@@ -0,0 +1,12 @@
1
+ module Chiketto
2
+ class Attendee < Resource
3
+ attr_accessor :email,
4
+ :quantity,
5
+ :status,
6
+ :ticket_id,
7
+ :answers
8
+
9
+ attr_date :changed,
10
+ :created
11
+ end
12
+ end
@@ -14,6 +14,21 @@ module Chiketto
14
14
  :created,
15
15
  :changed
16
16
 
17
+ def self.find(id)
18
+ event = get "events/#{id}"
19
+ Event.new event
20
+ end
21
+
22
+ def self.search(params = {})
23
+ events = get 'events/search', params
24
+ events['events'].map { |event| Event.new event }
25
+ end
26
+
27
+ def attendees(params = {})
28
+ attendees = Chiketto::Event.find_attendees @id, params
29
+ attendees['attendees'].map { |att| Attendee.new att }
30
+ end
31
+
17
32
  def organizer
18
33
  Chiketto::Organizer.new Hash.new(@organizer)
19
34
  end
@@ -28,14 +43,10 @@ module Chiketto
28
43
  Chiketto::Venue.new Hash.new(@venue)
29
44
  end
30
45
 
31
- def self.find(id)
32
- event = get "events/#{id}"
33
- Event.new event
34
- end
46
+ private
35
47
 
36
- def self.search(params = {})
37
- events = get 'events/search', params
38
- events['events'].map { |event| Event.new event }
48
+ def self.find_attendees(id, params)
49
+ attendees = get "events/#{id}/attendees", params
39
50
  end
40
51
  end
41
52
  end
@@ -7,7 +7,7 @@ module Chiketto
7
7
 
8
8
  attr_reader :id
9
9
 
10
- def initialize(args)
10
+ def initialize(args = {})
11
11
  args.each do |k, v|
12
12
  instance_variable_set("@#{k}", v) unless v.nil?
13
13
  end
@@ -28,7 +28,7 @@ module Chiketto
28
28
  end
29
29
 
30
30
  def self.token
31
- "?token=#{ENV['EVENTBRITE_API_TOKEN']}"
31
+ "?token=#{Chiketto.api_key}"
32
32
  end
33
33
  end
34
34
  end
@@ -1,3 +1,3 @@
1
1
  module Chiketto
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -0,0 +1,20 @@
1
+ require 'test_helper'
2
+
3
+ class AttendeeTest < MiniTest::Test
4
+ def test_exposes_data
5
+ attendee = Chiketto::Attendee.new
6
+ assert_respond_to attendee, :id
7
+ assert_respond_to attendee, :email
8
+ assert_respond_to attendee, :quantity
9
+ assert_respond_to attendee, :status
10
+ assert_respond_to attendee, :ticket_id
11
+ assert_respond_to attendee, :answers
12
+ end
13
+
14
+ def test_attr_date_types
15
+ attendee = Chiketto::Attendee.new created: "2014-02-11T02:52:10Z",
16
+ changed: "2014-02-11T02:52:11Z"
17
+ assert_kind_of DateTime, attendee.created
18
+ assert_kind_of DateTime, attendee.changed
19
+ end
20
+ end
@@ -1,4 +1,10 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class ChikettoTest < MiniTest::Test
4
+ def test_should_manage_an_api_key
5
+ assert_equal ENV['EVENTBRITE_API_TOKEN'], Chiketto.api_key
6
+ Chiketto.api_key = '123456'
7
+ assert_equal '123456', Chiketto.api_key
8
+ Chiketto.api_key = ENV['EVENTBRITE_API_TOKEN']
9
+ end
4
10
  end
data/test/event_test.rb CHANGED
@@ -80,4 +80,20 @@ class EventTest < MiniTest::Test
80
80
  assert_kind_of Array, @events
81
81
  assert_kind_of Chiketto::Event, @events.first
82
82
  end
83
+
84
+ def test_attendees_returns_an_array_of_attendees
85
+ find_event
86
+ VCR.use_cassette 'event-attendees' do
87
+ @attendees = @event.attendees
88
+ end
89
+ assert_kind_of Array, @attendees
90
+ end
91
+
92
+ def test_attendees_returns_an_array_of_attendees_attending
93
+ find_event
94
+ VCR.use_cassette 'event-attendees-attending' do
95
+ @attendees = @event.attendees status: 'attending'
96
+ end
97
+ assert_kind_of Array, @attendees
98
+ end
83
99
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chiketto
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Radford
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-18 00:00:00.000000000 Z
11
+ date: 2014-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -138,6 +138,7 @@ files:
138
138
  - chiketto.gemspec
139
139
  - lib/chiketto.rb
140
140
  - lib/chiketto/address.rb
141
+ - lib/chiketto/attendee.rb
141
142
  - lib/chiketto/attr_attribute.rb
142
143
  - lib/chiketto/attribute.rb
143
144
  - lib/chiketto/category.rb
@@ -149,6 +150,7 @@ files:
149
150
  - lib/chiketto/version.rb
150
151
  - lib/hash_ext.rb
151
152
  - test/address_test.rb
153
+ - test/attendee_test.rb
152
154
  - test/attribute_test.rb
153
155
  - test/category_test.rb
154
156
  - test/chiketto_test.rb
@@ -183,6 +185,7 @@ specification_version: 4
183
185
  summary: Chiketto is a ruby gem for interacting with the Eventbrite V3 API
184
186
  test_files:
185
187
  - test/address_test.rb
188
+ - test/attendee_test.rb
186
189
  - test/attribute_test.rb
187
190
  - test/category_test.rb
188
191
  - test/chiketto_test.rb