constantcontact-ruby 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (107) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +2 -0
  3. data/README.md +136 -0
  4. data/constantcontact-ruby.gemspec +31 -0
  5. data/lib/constantcontact/api.rb +1012 -0
  6. data/lib/constantcontact/auth/oauth2.rb +105 -0
  7. data/lib/constantcontact/auth/session_data_store.rb +69 -0
  8. data/lib/constantcontact/components/account/account_address.rb +26 -0
  9. data/lib/constantcontact/components/account/account_info.rb +38 -0
  10. data/lib/constantcontact/components/account/verified_email_address.rb +26 -0
  11. data/lib/constantcontact/components/activities/activity.rb +43 -0
  12. data/lib/constantcontact/components/activities/activity_error.rb +26 -0
  13. data/lib/constantcontact/components/activities/add_contacts.rb +127 -0
  14. data/lib/constantcontact/components/activities/add_contacts_import_data.rb +46 -0
  15. data/lib/constantcontact/components/activities/export_contacts.rb +30 -0
  16. data/lib/constantcontact/components/component.rb +48 -0
  17. data/lib/constantcontact/components/contacts/address.rb +27 -0
  18. data/lib/constantcontact/components/contacts/contact.rb +92 -0
  19. data/lib/constantcontact/components/contacts/contact_list.rb +26 -0
  20. data/lib/constantcontact/components/contacts/custom_field.rb +26 -0
  21. data/lib/constantcontact/components/contacts/email_address.rb +33 -0
  22. data/lib/constantcontact/components/contacts/note.rb +26 -0
  23. data/lib/constantcontact/components/email_marketing/campaign.rb +83 -0
  24. data/lib/constantcontact/components/email_marketing/campaign_preview.rb +29 -0
  25. data/lib/constantcontact/components/email_marketing/click_through_details.rb +27 -0
  26. data/lib/constantcontact/components/email_marketing/message_footer.rb +29 -0
  27. data/lib/constantcontact/components/email_marketing/schedule.rb +27 -0
  28. data/lib/constantcontact/components/email_marketing/test_send.rb +45 -0
  29. data/lib/constantcontact/components/event_spot/contact.rb +27 -0
  30. data/lib/constantcontact/components/event_spot/event.rb +69 -0
  31. data/lib/constantcontact/components/event_spot/event_address.rb +29 -0
  32. data/lib/constantcontact/components/event_spot/event_fee.rb +27 -0
  33. data/lib/constantcontact/components/event_spot/event_item.rb +36 -0
  34. data/lib/constantcontact/components/event_spot/event_item_attribute.rb +26 -0
  35. data/lib/constantcontact/components/event_spot/event_track.rb +31 -0
  36. data/lib/constantcontact/components/event_spot/guest.rb +31 -0
  37. data/lib/constantcontact/components/event_spot/guest_section.rb +34 -0
  38. data/lib/constantcontact/components/event_spot/notification_option.rb +27 -0
  39. data/lib/constantcontact/components/event_spot/online_meeting.rb +28 -0
  40. data/lib/constantcontact/components/event_spot/payment_address.rb +29 -0
  41. data/lib/constantcontact/components/event_spot/payment_summary.rb +33 -0
  42. data/lib/constantcontact/components/event_spot/promocode.rb +25 -0
  43. data/lib/constantcontact/components/event_spot/registrant.rb +52 -0
  44. data/lib/constantcontact/components/event_spot/registrant_fee.rb +29 -0
  45. data/lib/constantcontact/components/event_spot/registrant_field.rb +27 -0
  46. data/lib/constantcontact/components/event_spot/registrant_order.rb +39 -0
  47. data/lib/constantcontact/components/event_spot/registrant_promo_code.rb +31 -0
  48. data/lib/constantcontact/components/event_spot/registrant_promo_code_info.rb +27 -0
  49. data/lib/constantcontact/components/event_spot/registrant_section.rb +34 -0
  50. data/lib/constantcontact/components/event_spot/sale_item.rb +29 -0
  51. data/lib/constantcontact/components/library/file/library_file.rb +27 -0
  52. data/lib/constantcontact/components/library/folder/library_folder.rb +26 -0
  53. data/lib/constantcontact/components/library/info/library_summary.rb +26 -0
  54. data/lib/constantcontact/components/library/info/move_results.rb +26 -0
  55. data/lib/constantcontact/components/library/info/upload_status.rb +26 -0
  56. data/lib/constantcontact/components/result_set.rb +50 -0
  57. data/lib/constantcontact/components/tracking/bounce_activity.rb +28 -0
  58. data/lib/constantcontact/components/tracking/click_activity.rb +26 -0
  59. data/lib/constantcontact/components/tracking/forward_activity.rb +26 -0
  60. data/lib/constantcontact/components/tracking/open_activity.rb +26 -0
  61. data/lib/constantcontact/components/tracking/send_activity.rb +27 -0
  62. data/lib/constantcontact/components/tracking/tracking_activity.rb +26 -0
  63. data/lib/constantcontact/components/tracking/tracking_summary.rb +27 -0
  64. data/lib/constantcontact/components/tracking/unsubscribe_activity.rb +27 -0
  65. data/lib/constantcontact/exceptions/ctct_exception.rb +25 -0
  66. data/lib/constantcontact/exceptions/illegal_argument_exception.rb +11 -0
  67. data/lib/constantcontact/exceptions/oauth2_exception.rb +11 -0
  68. data/lib/constantcontact/exceptions/webhooks_exception.rb +11 -0
  69. data/lib/constantcontact/services/account_service.rb +39 -0
  70. data/lib/constantcontact/services/activity_service.rb +136 -0
  71. data/lib/constantcontact/services/base_service.rb +68 -0
  72. data/lib/constantcontact/services/campaign_schedule_service.rb +101 -0
  73. data/lib/constantcontact/services/campaign_tracking_service.rb +152 -0
  74. data/lib/constantcontact/services/contact_service.rb +105 -0
  75. data/lib/constantcontact/services/contact_tracking_service.rb +152 -0
  76. data/lib/constantcontact/services/email_marketing_service.rb +94 -0
  77. data/lib/constantcontact/services/event_spot_service.rb +448 -0
  78. data/lib/constantcontact/services/library_service.rb +281 -0
  79. data/lib/constantcontact/services/list_service.rb +81 -0
  80. data/lib/constantcontact/util/config.rb +180 -0
  81. data/lib/constantcontact/util/helpers.rb +27 -0
  82. data/lib/constantcontact/version.rb +12 -0
  83. data/lib/constantcontact/webhooks/helpers/validator.rb +30 -0
  84. data/lib/constantcontact/webhooks/models/billing_change_notification.rb +27 -0
  85. data/lib/constantcontact/webhooks/webhooks_util.rb +45 -0
  86. data/lib/constantcontact.rb +124 -0
  87. data/spec/constantcontact/api_spec.rb +1560 -0
  88. data/spec/constantcontact/auth/oauth2_spec.rb +125 -0
  89. data/spec/constantcontact/components/contacts/address_spec.rb +18 -0
  90. data/spec/constantcontact/components/contacts/contact_list_spec.rb +18 -0
  91. data/spec/constantcontact/components/contacts/contact_spec.rb +18 -0
  92. data/spec/constantcontact/components/contacts/custom_field_spec.rb +18 -0
  93. data/spec/constantcontact/components/contacts/email_address_spec.rb +18 -0
  94. data/spec/constantcontact/sdk_spec.rb +24 -0
  95. data/spec/constantcontact/services/account_service_spec.rb +46 -0
  96. data/spec/constantcontact/services/activity_service_spec.rb +244 -0
  97. data/spec/constantcontact/services/base_service_spec.rb +50 -0
  98. data/spec/constantcontact/services/campaign_schedule_service_spec.rb +115 -0
  99. data/spec/constantcontact/services/campaign_tracking_service_spec.rb +131 -0
  100. data/spec/constantcontact/services/contact_service_spec.rb +111 -0
  101. data/spec/constantcontact/services/contact_tracking_service_spec.rb +131 -0
  102. data/spec/constantcontact/services/email_marketing_spec.rb +100 -0
  103. data/spec/constantcontact/services/event_spot_spec.rb +423 -0
  104. data/spec/constantcontact/services/library_service_spec.rb +252 -0
  105. data/spec/constantcontact/services/list_service_spec.rb +89 -0
  106. data/spec/constantcontact/webhooks/webhooks_spec.rb +26 -0
  107. metadata +243 -0
@@ -0,0 +1,31 @@
1
+ #
2
+ # event_track.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 EventTrack < Component
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
15
+
16
+ # Factory method to create an event EventTrack object from a hash
17
+ # @param [Hash] props - hash of properties to create object from
18
+ # @return [EventTrack]
19
+ def self.create(props)
20
+ obj = EventTrack.new
21
+ props.each do |key, value|
22
+ key = key.to_s
23
+ obj.send("#{key}=", value) if obj.respond_to? key
24
+ end if props
25
+ obj
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+
@@ -0,0 +1,31 @@
1
+ #
2
+ # guest.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 Guest < Component
11
+ attr_accessor :guest_id, :guest_section
12
+
13
+ # Factory method to create a Guest object from a hash
14
+ # @param [Hash] props - hash of properties to create object from
15
+ # @return [Guest]
16
+ def self.create(props)
17
+ obj = Guest.new
18
+ props.each do |key, value|
19
+ key = key.to_s
20
+ if key == 'guest_section'
21
+ obj.send("#{key}=", Components::EventSpot::GuestSection.create(value))
22
+ else
23
+ obj.send("#{key}=", value) if obj.respond_to?("#{key}=")
24
+ end
25
+ end
26
+ obj
27
+ end
28
+ end
29
+ end
30
+ end
31
+ 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
@@ -0,0 +1,27 @@
1
+ #
2
+ # notification_option.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 NotificationOption < Component
11
+ attr_accessor :is_opted_in, :notification_type
12
+
13
+ # Factory method to create an event NotificationOption object from a hash
14
+ # @param [Hash] props - hash of properties to create object from
15
+ # @return [NotificationOption]
16
+ def self.create(props)
17
+ obj = NotificationOption.new
18
+ props.each do |key, value|
19
+ key = key.to_s
20
+ obj.send("#{key}=", value) if obj.respond_to? key
21
+ end if props
22
+ obj
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -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
@@ -0,0 +1,52 @@
1
+ #
2
+ # registrant.rb
3
+ # ConstantContact
4
+ #
5
+ # Copyright (c) 2013 Constant Contact. All rights reserved.
6
+
7
+ module ConstantContact
8
+ module Components
9
+ class Registrant < Component
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
+
14
+ # Factory method to create an event Registrant object from a hash
15
+ # @param [Hash] props - hash of properties to create object from
16
+ # @return [Registrant]
17
+ def self.create(props)
18
+ obj = Registrant.new
19
+ if props
20
+ props.each do |key, value|
21
+ key = key.to_s
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)
28
+ elsif key == 'guests'
29
+ value = value["guest_info"] || []
30
+ obj.guests = value.collect{|guest| Components::EventSpot::Guest.create(guest) }
31
+ else
32
+ obj.send("#{key}=", value) if obj.respond_to?("#{key}=")
33
+ end
34
+ end
35
+ end
36
+ obj
37
+ end
38
+
39
+ # Factory method to create an event Registrant summary object from a hash
40
+ # @param [Hash] props - hash of properties to create object from
41
+ # @return [Registrant]
42
+ def self.create_summary(props)
43
+ obj = Registrant.new
44
+ props.each do |key, value|
45
+ key = key.to_s
46
+ obj.send("#{key}=", value) if obj.respond_to?("#{key}=")
47
+ end if props
48
+ obj
49
+ end
50
+ end
51
+ end
52
+ 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,27 @@
1
+ #
2
+ # registrant_field.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 RegistrantField < Component
11
+ attr_accessor :type, :name, :label, :value, :values
12
+
13
+ # Factory method to create an event Fee object from a hash
14
+ # @param [Hash] props - hash of properties to create object from
15
+ # @return [Campaign]
16
+ def self.create(props)
17
+ field = RegistrantField.new
18
+ props.each do |key, value|
19
+ key = key.to_s
20
+ field.send("#{key}=", value) if field.respond_to? key
21
+ end if props
22
+ field
23
+ end
24
+ end
25
+ end
26
+ end
27
+ 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
@@ -0,0 +1,31 @@
1
+ #
2
+ # registrant_promo_code.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 RegistrantPromoCode < Component
11
+ attr_accessor :total_discount, :promo_code_info
12
+
13
+ # Factory method to create a RegistrantPromoCode object from a hash
14
+ # @param [Hash] props - hash of properties to create object from
15
+ # @return [RegistrantPromoCode]
16
+ def self.create(props)
17
+ obj = RegistrantPromoCode.new
18
+ props.each do |key, value|
19
+ key = key.to_s
20
+ if key == 'promo_code_info'
21
+ obj.send("#{key}=", Components::EventSpot::RegistrantPromoCodeInfo.create(value))
22
+ else
23
+ obj.send("#{key}=", value) if obj.respond_to? key
24
+ end
25
+ end if props
26
+ obj
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,27 @@
1
+ #
2
+ # registrant_promo_code_info.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 RegistrantPromoCodeInfo < Component
11
+ attr_accessor :code_name, :code_type, :discount_amount, :discount_scope, :discount_type, :redemption_count
12
+
13
+ # Factory method to create a RegistrantPromoCode object from a hash
14
+ # @param [Hash] props - hash of properties to create object from
15
+ # @return [RegistrantPromoCodeInfo]
16
+ def self.create(props)
17
+ obj = RegistrantPromoCodeInfo.new
18
+ props.each do |key, value|
19
+ key = key.to_s
20
+ obj.send("#{key}=", value) if obj.respond_to? key
21
+ end if props
22
+ obj
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,34 @@
1
+ #
2
+ # registrant_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 RegistrantSection < Component
11
+ attr_accessor :label, :fields
12
+
13
+ # Factory method to create a RegistrantSection object from a hash
14
+ # @param [Hash] props - hash of properties to create object from
15
+ # @return [RegistrantSection]
16
+ def self.create(props)
17
+ obj = RegistrantSection.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
@@ -0,0 +1,29 @@
1
+ #
2
+ # sale_item.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 SaleItem < Component
11
+ attr_accessor :id, :amount, :promo_type, :fee_period_type, :type, :name, :quantity
12
+
13
+ # Factory method to create a SaleItem object from a hash
14
+ # @param [Hash] props - hash of properties to create object from
15
+ # @return [SaleItem]
16
+ def self.create(props)
17
+ obj = SaleItem.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,27 @@
1
+ #
2
+ # library_file.rb
3
+ # ConstantContact
4
+ #
5
+ # Copyright (c) 2013 Constant Contact. All rights reserved.
6
+
7
+ module ConstantContact
8
+ module Components
9
+ class LibraryFile < Component
10
+ attr_accessor :created_date, :description, :file_type, :folder, :folder_id, :height, :id, :is_image,
11
+ :modified_date, :name, :size, :source, :status, :thumbnail, :url, :width, :type
12
+
13
+ # Factory method to create a LibraryFile object from a json string
14
+ # @param [Hash] props - properties to create object from
15
+ # @return [LibraryFile]
16
+ def self.create(props)
17
+ obj = LibraryFile.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
@@ -0,0 +1,26 @@
1
+ #
2
+ # library_folder.rb
3
+ # ConstantContact
4
+ #
5
+ # Copyright (c) 2013 Constant Contact. All rights reserved.
6
+
7
+ module ConstantContact
8
+ module Components
9
+ class LibraryFolder < Component
10
+ attr_accessor :created_date, :id, :item_count, :level, :modified_date, :name, :parent_id, :children
11
+
12
+ # Factory method to create a LibraryFolder object from a json string
13
+ # @param [Hash] props - properties to create object from
14
+ # @return [LibraryFolder]
15
+ def self.create(props)
16
+ obj = LibraryFolder.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
@@ -0,0 +1,26 @@
1
+ #
2
+ # library_summary.rb
3
+ # ConstantContact
4
+ #
5
+ # Copyright (c) 2013 Constant Contact. All rights reserved.
6
+
7
+ module ConstantContact
8
+ module Components
9
+ class LibrarySummary < Component
10
+ attr_accessor :max_free_file_num, :max_premium_space_limit, :max_upload_size_limit, :image_root, :usage_summary
11
+
12
+ # Factory method to create a LibrarySummary object from a json string
13
+ # @param [Hash] props - properties to create object from
14
+ # @return [LibrarySummary]
15
+ def self.create(props)
16
+ obj = LibrarySummary.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
@@ -0,0 +1,26 @@
1
+ #
2
+ # move_results.rb
3
+ # ConstantContact
4
+ #
5
+ # Copyright (c) 2013 Constant Contact. All rights reserved.
6
+
7
+ module ConstantContact
8
+ module Components
9
+ class MoveResults < Component
10
+ attr_accessor :id, :uri
11
+
12
+ # Factory method to create a MoveResults object from a json string
13
+ # @param [Hash] props - properties to create object from
14
+ # @return [MoveResults]
15
+ def self.create(props)
16
+ obj = MoveResults.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
@@ -0,0 +1,26 @@
1
+ #
2
+ # upload_status.rb
3
+ # ConstantContact
4
+ #
5
+ # Copyright (c) 2013 Constant Contact. All rights reserved.
6
+
7
+ module ConstantContact
8
+ module Components
9
+ class UploadStatus < Component
10
+ attr_accessor :status, :description, :file_id
11
+
12
+ # Factory method to create an UploadStatus object from a json string
13
+ # @param [Hash] props - properties to create object from
14
+ # @return [UploadStatus]
15
+ def self.create(props)
16
+ obj = UploadStatus.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