chiketto 0.0.4 → 0.0.5

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 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