constantcontact 1.1.2 → 1.2.0
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.
- data/README.md +2 -2
- data/constantcontact.gemspec +1 -1
- data/lib/constantcontact.rb +15 -2
- data/lib/constantcontact/api.rb +164 -21
- data/lib/constantcontact/components/event_spot/contact.rb +5 -5
- data/lib/constantcontact/components/event_spot/event.rb +28 -22
- data/lib/constantcontact/components/event_spot/event_address.rb +29 -0
- data/lib/constantcontact/components/event_spot/{fee.rb → event_fee.rb} +7 -7
- data/lib/constantcontact/components/event_spot/event_item.rb +36 -0
- data/lib/constantcontact/components/event_spot/event_item_attribute.rb +26 -0
- data/lib/constantcontact/components/event_spot/event_track.rb +6 -3
- data/lib/constantcontact/components/event_spot/guest.rb +6 -6
- data/lib/constantcontact/components/event_spot/guest_section.rb +34 -0
- data/lib/constantcontact/components/event_spot/notification_option.rb +2 -2
- data/lib/constantcontact/components/event_spot/online_meeting.rb +28 -0
- data/lib/constantcontact/components/event_spot/payment_address.rb +29 -0
- data/lib/constantcontact/components/event_spot/payment_summary.rb +33 -0
- data/lib/constantcontact/components/event_spot/promocode.rb +25 -0
- data/lib/constantcontact/components/event_spot/registrant.rb +19 -21
- data/lib/constantcontact/components/event_spot/registrant_fee.rb +29 -0
- data/lib/constantcontact/components/event_spot/registrant_order.rb +39 -0
- data/lib/constantcontact/components/event_spot/registrant_promo_code.rb +31 -0
- data/lib/constantcontact/components/event_spot/registrant_promo_code_info.rb +27 -0
- data/lib/constantcontact/components/event_spot/registrant_section.rb +6 -6
- data/lib/constantcontact/components/event_spot/sale_item.rb +15 -13
- data/lib/constantcontact/services/event_spot_service.rb +252 -29
- data/lib/constantcontact/util/config.rb +12 -6
- data/lib/constantcontact/version.rb +1 -1
- data/spec/constantcontact/api_spec.rb +221 -21
- data/spec/constantcontact/services/event_spot_spec.rb +223 -21
- metadata +118 -76
- checksums.yaml +0 -7
- data/lib/constantcontact/components/event_spot/promo_code.rb +0 -26
@@ -1,26 +1,26 @@
|
|
1
1
|
#
|
2
|
-
#
|
2
|
+
# event_fee.rb
|
3
3
|
# ConstantContact
|
4
4
|
#
|
5
5
|
# Copyright (c) 2013 Constant Contact. All rights reserved.
|
6
6
|
|
7
7
|
module ConstantContact
|
8
8
|
module Components
|
9
|
-
class
|
10
|
-
attr_accessor :
|
9
|
+
class EventFee < Component
|
10
|
+
attr_accessor :early_fee, :fee, :fee_scope, :id, :label, :late_fee
|
11
11
|
|
12
12
|
# Factory method to create an event Fee object from a hash
|
13
13
|
# @param [Hash] props - hash of properties to create object from
|
14
|
-
# @return [
|
14
|
+
# @return [EventFee]
|
15
15
|
def self.create(props)
|
16
|
-
|
16
|
+
obj = EventFee.new
|
17
17
|
if props
|
18
18
|
props.each do |key, value|
|
19
19
|
key = key.to_s
|
20
|
-
|
20
|
+
obj.send("#{key}=", value) if obj.respond_to? key
|
21
21
|
end
|
22
22
|
end
|
23
|
-
|
23
|
+
obj
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
#
|
2
|
+
# event_item.rb
|
3
|
+
# ConstantContact
|
4
|
+
#
|
5
|
+
# Copyright (c) 2013 Constant Contact. All rights reserved.
|
6
|
+
|
7
|
+
module ConstantContact
|
8
|
+
module Components
|
9
|
+
class EventItem < Component
|
10
|
+
attr_accessor :attributes, :default_quantity_available, :default_quantity_total, :description,
|
11
|
+
:id, :name, :per_registrant_limit, :price, :show_quantity_available
|
12
|
+
|
13
|
+
# Factory method to create an EventItem object from a hash
|
14
|
+
# @param [Hash] props - properties to create object from
|
15
|
+
# @return [EventItem]
|
16
|
+
def self.create(props)
|
17
|
+
obj = EventItem.new
|
18
|
+
if props
|
19
|
+
props.each do |key, value|
|
20
|
+
if key == 'attributes'
|
21
|
+
if value
|
22
|
+
obj.attributes = []
|
23
|
+
value.each do |attribute|
|
24
|
+
obj.attributes << Components::EventItemAttribute.create(attribute)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
else
|
28
|
+
obj.send("#{key}=", value) if obj.respond_to? key
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
obj
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
#
|
2
|
+
# event_item_attribute.rb
|
3
|
+
# ConstantContact
|
4
|
+
#
|
5
|
+
# Copyright (c) 2013 Constant Contact. All rights reserved.
|
6
|
+
|
7
|
+
module ConstantContact
|
8
|
+
module Components
|
9
|
+
class EventItemAttribute < Component
|
10
|
+
attr_accessor :id, :name, :quantity_available, :quantity_total
|
11
|
+
|
12
|
+
# Factory method to create an EventItemAttribute object from a hash
|
13
|
+
# @param [Hash] props - properties to create object from
|
14
|
+
# @return [EventItemAttribute]
|
15
|
+
def self.create(props)
|
16
|
+
obj = EventItemAttribute.new
|
17
|
+
if props
|
18
|
+
props.each do |key, value|
|
19
|
+
obj.send("#{key}=", value) if obj.respond_to? key
|
20
|
+
end
|
21
|
+
end
|
22
|
+
obj
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -8,11 +8,14 @@ module ConstantContact
|
|
8
8
|
module Components
|
9
9
|
module EventSpot
|
10
10
|
class EventTrack < Component
|
11
|
-
attr_accessor :
|
11
|
+
attr_accessor :early_fee_date, :guest_display_label, :guest_limit, :information_sections,
|
12
|
+
:is_guest_anonymous_enabled, :is_guest_name_required, :is_registration_closed_manually,
|
13
|
+
:is_ticketing_link_displayed, :late_fee_date, :registration_limit_count,
|
14
|
+
:registration_limit_date
|
12
15
|
|
13
|
-
# Factory method to create an event
|
16
|
+
# Factory method to create an event EventTrack object from a hash
|
14
17
|
# @param [Hash] props - hash of properties to create object from
|
15
|
-
# @return [
|
18
|
+
# @return [EventTrack]
|
16
19
|
def self.create(props)
|
17
20
|
obj = EventTrack.new
|
18
21
|
props.each do |key, value|
|
@@ -10,20 +10,20 @@ module ConstantContact
|
|
10
10
|
class Guest < Component
|
11
11
|
attr_accessor :guest_id, :guest_section
|
12
12
|
|
13
|
-
# Factory method to create
|
13
|
+
# Factory method to create a Guest object from a hash
|
14
14
|
# @param [Hash] props - hash of properties to create object from
|
15
|
-
# @return [
|
15
|
+
# @return [Guest]
|
16
16
|
def self.create(props)
|
17
|
-
|
17
|
+
obj = Guest.new
|
18
18
|
props.each do |key, value|
|
19
19
|
key = key.to_s
|
20
20
|
if key == 'guest_section'
|
21
|
-
|
21
|
+
obj.send("#{key}=", Components::EventSpot::GuestSection.create(value))
|
22
22
|
else
|
23
|
-
|
23
|
+
obj.send("#{key}=", value) if obj.respond_to?("#{key}=")
|
24
24
|
end
|
25
25
|
end
|
26
|
-
|
26
|
+
obj
|
27
27
|
end
|
28
28
|
end
|
29
29
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
#
|
2
|
+
# guest_section.rb
|
3
|
+
# ConstantContact
|
4
|
+
#
|
5
|
+
# Copyright (c) 2013 Constant Contact. All rights reserved.
|
6
|
+
|
7
|
+
module ConstantContact
|
8
|
+
module Components
|
9
|
+
module EventSpot
|
10
|
+
class GuestSection < Component
|
11
|
+
attr_accessor :label, :fields
|
12
|
+
|
13
|
+
# Factory method to create a GuestSection object from a hash
|
14
|
+
# @param [Hash] props - hash of properties to create object from
|
15
|
+
# @return [GuestSection]
|
16
|
+
def self.create(props)
|
17
|
+
obj = GuestSection.new
|
18
|
+
props.each do |key, value|
|
19
|
+
key = key.to_s
|
20
|
+
if key == 'fields'
|
21
|
+
value ||= []
|
22
|
+
obj.fields = value.collect do |field|
|
23
|
+
Components::EventSpot::RegistrantField.create(field)
|
24
|
+
end
|
25
|
+
else
|
26
|
+
obj.send("#{key}=", value) if obj.respond_to? key
|
27
|
+
end
|
28
|
+
end if props
|
29
|
+
obj
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -8,11 +8,11 @@ module ConstantContact
|
|
8
8
|
module Components
|
9
9
|
module EventSpot
|
10
10
|
class NotificationOption < Component
|
11
|
-
attr_accessor :
|
11
|
+
attr_accessor :is_opted_in, :notification_type
|
12
12
|
|
13
13
|
# Factory method to create an event NotificationOption object from a hash
|
14
14
|
# @param [Hash] props - hash of properties to create object from
|
15
|
-
# @return [
|
15
|
+
# @return [NotificationOption]
|
16
16
|
def self.create(props)
|
17
17
|
obj = NotificationOption.new
|
18
18
|
props.each do |key, value|
|
@@ -0,0 +1,28 @@
|
|
1
|
+
#
|
2
|
+
# online_meeting.rb
|
3
|
+
# ConstantContact
|
4
|
+
#
|
5
|
+
# Copyright (c) 2013 Constant Contact. All rights reserved.
|
6
|
+
|
7
|
+
module ConstantContact
|
8
|
+
module Components
|
9
|
+
module EventSpot
|
10
|
+
class OnlineMeeting < Component
|
11
|
+
attr_accessor :instructions, :provider_meeting_id, :provider_type, :url
|
12
|
+
|
13
|
+
# Factory method to create an OnlineMeeting object from a json string
|
14
|
+
# @param [Hash] props - properties to create object from
|
15
|
+
# @return [OnlineMeeting]
|
16
|
+
def self.create(props)
|
17
|
+
obj = OnlineMeeting.new
|
18
|
+
if props
|
19
|
+
props.each do |key, value|
|
20
|
+
obj.send("#{key}=", value) if obj.respond_to? key
|
21
|
+
end
|
22
|
+
end
|
23
|
+
obj
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
#
|
2
|
+
# payment_address.rb
|
3
|
+
# ConstantContact
|
4
|
+
#
|
5
|
+
# Copyright (c) 2013 Constant Contact. All rights reserved.
|
6
|
+
|
7
|
+
module ConstantContact
|
8
|
+
module Components
|
9
|
+
module EventSpot
|
10
|
+
class PaymentAddress < Component
|
11
|
+
attr_accessor :city, :country, :country_code, :latitude, :line1, :line2, :line3, :longitude, :postal_code,
|
12
|
+
:state, :state_code
|
13
|
+
|
14
|
+
# Factory method to create a PaymentAddress object from a json string
|
15
|
+
# @param [Hash] props - properties to create object from
|
16
|
+
# @return [PaymentAddress]
|
17
|
+
def self.create(props)
|
18
|
+
obj = PaymentAddress.new
|
19
|
+
if props
|
20
|
+
props.each do |key, value|
|
21
|
+
obj.send("#{key}=", value) if obj.respond_to? key
|
22
|
+
end
|
23
|
+
end
|
24
|
+
obj
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
#
|
2
|
+
# payment_summary.rb
|
3
|
+
# ConstantContact
|
4
|
+
#
|
5
|
+
# Copyright (c) 2013 Constant Contact. All rights reserved.
|
6
|
+
|
7
|
+
module ConstantContact
|
8
|
+
module Components
|
9
|
+
module EventSpot
|
10
|
+
class PaymentSummary < Component
|
11
|
+
attr_accessor :order, :payment_status, :payment_type, :promo_code
|
12
|
+
|
13
|
+
# Factory method to create an event PaymentSummary object from a hash
|
14
|
+
# @param [Hash] props - hash of properties to create object from
|
15
|
+
# @return [PaymentSummary]
|
16
|
+
def self.create(props)
|
17
|
+
obj = PaymentSummary.new
|
18
|
+
props.each do |key, value|
|
19
|
+
key = key.to_s
|
20
|
+
if key == 'order'
|
21
|
+
obj.order = Components::EventSpot::RegistrantOrder.create(value)
|
22
|
+
elsif key == 'promo_code'
|
23
|
+
obj.promo_code = Components::EventSpot::RegistrantPromoCode.create(value)
|
24
|
+
else
|
25
|
+
obj.send("#{key}=", value) if obj.respond_to? key
|
26
|
+
end
|
27
|
+
end if props
|
28
|
+
obj
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
#
|
2
|
+
# promocode.rb
|
3
|
+
# ConstantContact
|
4
|
+
#
|
5
|
+
# Copyright (c) 2013 Constant Contact. All rights reserved.
|
6
|
+
|
7
|
+
module ConstantContact
|
8
|
+
module Components
|
9
|
+
class Promocode < Component
|
10
|
+
attr_accessor :code_name, :code_type, :discount_amount, :discount_percent, :discount_scope, :discount_type,
|
11
|
+
:fee_ids, :id, :is_paused, :quantity_available, :quantity_total, :quantity_used, :status
|
12
|
+
|
13
|
+
# Factory method to create an event Promocode object from a hash
|
14
|
+
# @param [Hash] props - properties to create object from
|
15
|
+
# @return [Promocode]
|
16
|
+
def self.create(props)
|
17
|
+
obj = Promocode.new
|
18
|
+
props.each do |key, value|
|
19
|
+
obj.send("#{key}=", value) if obj.respond_to? key
|
20
|
+
end
|
21
|
+
obj
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -7,47 +7,45 @@
|
|
7
7
|
module ConstantContact
|
8
8
|
module Components
|
9
9
|
class Registrant < Component
|
10
|
-
attr_accessor :
|
11
|
-
|
12
|
-
|
10
|
+
attr_accessor :attendance_status, :email, :first_name, :guest_count, :id, :last_name, :payment_status,
|
11
|
+
:registration_date, :registration_status, :ticket_id, :updated_date,
|
12
|
+
:payment_summary, :promo_code, :sections, :guests
|
13
13
|
|
14
14
|
# Factory method to create an event Registrant object from a hash
|
15
15
|
# @param [Hash] props - hash of properties to create object from
|
16
|
-
# @return [
|
16
|
+
# @return [Registrant]
|
17
17
|
def self.create(props)
|
18
|
-
|
18
|
+
obj = Registrant.new
|
19
19
|
if props
|
20
20
|
props.each do |key, value|
|
21
21
|
key = key.to_s
|
22
|
-
if key == '
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
value ||= []
|
29
|
-
registration.promo_code_info = value.collect{|code| Components::EventSpot::PromoCode.create code }
|
22
|
+
if key == 'payment_summary'
|
23
|
+
obj.payment_summary = Components::EventSpot::PaymentSummary.create(value)
|
24
|
+
elsif key == 'sections'
|
25
|
+
obj.sections = value.collect{|section| Components::EventSpot::RegistrantSection.create(section) }
|
26
|
+
elsif key == 'promo_code'
|
27
|
+
obj.promo_code = Components::EventSpot::RegistrantPromoCode.create(value)
|
30
28
|
elsif key == 'guests'
|
31
29
|
value = value["guest_info"] || []
|
32
|
-
|
30
|
+
obj.guests = value.collect{|guest| Components::EventSpot::Guest.create(guest) }
|
33
31
|
else
|
34
|
-
|
32
|
+
obj.send("#{key}=", value) if obj.respond_to?("#{key}=")
|
35
33
|
end
|
36
34
|
end
|
37
35
|
end
|
38
|
-
|
36
|
+
obj
|
39
37
|
end
|
40
|
-
|
38
|
+
|
41
39
|
# Factory method to create an event Registrant summary object from a hash
|
42
40
|
# @param [Hash] props - hash of properties to create object from
|
43
|
-
# @return [
|
41
|
+
# @return [Registrant]
|
44
42
|
def self.create_summary(props)
|
45
|
-
|
43
|
+
obj = Registrant.new
|
46
44
|
props.each do |key, value|
|
47
45
|
key = key.to_s
|
48
|
-
|
46
|
+
obj.send("#{key}=", value) if obj.respond_to?("#{key}=")
|
49
47
|
end if props
|
50
|
-
|
48
|
+
obj
|
51
49
|
end
|
52
50
|
end
|
53
51
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
#
|
2
|
+
# registrant_fee.rb
|
3
|
+
# ConstantContact
|
4
|
+
#
|
5
|
+
# Copyright (c) 2013 Constant Contact. All rights reserved.
|
6
|
+
|
7
|
+
module ConstantContact
|
8
|
+
module Components
|
9
|
+
module EventSpot
|
10
|
+
class RegistrantFee < Component
|
11
|
+
attr_accessor :id, :amount, :promo_type, :fee_period_type, :type, :name, :quantity
|
12
|
+
|
13
|
+
# Factory method to create a RegistrantFee object from a hash
|
14
|
+
# @param [Hash] props - hash of properties to create object from
|
15
|
+
# @return [RegistrantFee]
|
16
|
+
def self.create(props)
|
17
|
+
obj = RegistrantFee.new
|
18
|
+
if props
|
19
|
+
props.each do |key, value|
|
20
|
+
key = key.to_s
|
21
|
+
obj.send("#{key}=", value) if obj.respond_to? key
|
22
|
+
end
|
23
|
+
end
|
24
|
+
obj
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
#
|
2
|
+
# registrant_order.rb
|
3
|
+
# ConstantContact
|
4
|
+
#
|
5
|
+
# Copyright (c) 2013 Constant Contact. All rights reserved.
|
6
|
+
|
7
|
+
module ConstantContact
|
8
|
+
module Components
|
9
|
+
module EventSpot
|
10
|
+
class RegistrantOrder < Component
|
11
|
+
attr_accessor :currency_type, :fees, :items, :order_id, :order_date, :total
|
12
|
+
|
13
|
+
# Factory method to create a RegistrantOrder object from a hash
|
14
|
+
# @param [Hash] props - hash of properties to create object from
|
15
|
+
# @return [RegistrantOrder]
|
16
|
+
def self.create(props)
|
17
|
+
obj = RegistrantOrder.new
|
18
|
+
props.each do |key, value|
|
19
|
+
key = key.to_s
|
20
|
+
if key == 'fees'
|
21
|
+
value ||= []
|
22
|
+
obj.fees = value.collect do |fee|
|
23
|
+
Components::EventSpot::RegistrantFee.create(fee)
|
24
|
+
end
|
25
|
+
elsif key == 'items'
|
26
|
+
value ||= []
|
27
|
+
obj.items = value.collect do |item|
|
28
|
+
Components::EventSpot::SaleItem.create(item)
|
29
|
+
end
|
30
|
+
else
|
31
|
+
obj.send("#{key}=", value) if obj.respond_to? key
|
32
|
+
end
|
33
|
+
end if props
|
34
|
+
obj
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|