wix-hive-ruby 0.9.2 → 1.0.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.
- checksums.yaml +4 -4
- data/LICENSE.txt +1 -1
- data/README.md +38 -11
- data/e2e/activities_api_spec.rb +97 -3
- data/e2e/contacts_api_spec.rb +74 -28
- data/e2e/e2e_helper.rb +7 -3
- data/e2e/redirects_api_spec.rb +7 -0
- data/e2e/sites_api_spec.rb +11 -0
- data/lib/hive/activities/contact/contact_create_activity.rb +1 -11
- data/lib/hive/activities/contact/contact_form_activity.rb +2 -2
- data/lib/hive/activities/contact/subscription_form_activity.rb +38 -0
- data/lib/hive/activities/conversion/conversion_complete_activity.rb +1 -1
- data/lib/hive/activities/e_commerce/cart_add_activity.rb +55 -0
- data/lib/hive/activities/e_commerce/cart_checkout_activity.rb +18 -0
- data/lib/hive/activities/e_commerce/cart_remove_activity.rb +22 -0
- data/lib/hive/activities/e_commerce/purchase_activity.rb +17 -1
- data/lib/hive/activities/factory.rb +11 -21
- data/lib/hive/activities/hotels/hotels_cancel_activity.rb +1 -1
- data/lib/hive/activities/hotels/hotels_confirmation_activity.rb +1 -1
- data/lib/hive/activities/hotels/hotels_purchase_activity.rb +1 -1
- data/lib/hive/activities/hotels/hotels_purchase_failed_activity.rb +1 -1
- data/lib/hive/activities/messaging/send_activity.rb +1 -1
- data/lib/hive/activities/music/album_fan_activity.rb +1 -1
- data/lib/hive/activities/music/album_played_activity.rb +1 -1
- data/lib/hive/activities/music/album_share_activity.rb +2 -2
- data/lib/hive/activities/music/track_lyrics_activity.rb +1 -1
- data/lib/hive/activities/music/track_play_activity.rb +1 -1
- data/lib/hive/activities/music/track_played_activity.rb +1 -1
- data/lib/hive/activities/music/track_share_activity.rb +2 -2
- data/lib/hive/activities/music/track_skipped_activity.rb +1 -1
- data/lib/hive/activities/scheduler/scheduler_appointment_activity.rb +12 -1
- data/lib/hive/activities/shipping/shipping_delivered_activity.rb +34 -0
- data/lib/hive/activities/shipping/shipping_shipped_activity.rb +109 -0
- data/lib/hive/activities/shipping/shipping_status_change_activity.rb +51 -0
- data/lib/hive/activities/shipping/shipping_status_changed_activity.rb +51 -0
- data/lib/hive/redirect.rb +19 -0
- data/lib/hive/rest/api.rb +4 -0
- data/lib/hive/rest/contacts.rb +2 -4
- data/lib/hive/rest/redirects.rb +13 -0
- data/lib/hive/rest/sites.rb +17 -0
- data/lib/hive/site.rb +33 -0
- data/lib/hive/version.rb +3 -3
- data/spec/hive/activities/contact/subscription_form_activity_spec.rb +15 -0
- data/spec/hive/activities/e_commerce/purchase_activity_spec.rb +4 -0
- data/spec/hive/activities/factory_spec.rb +16 -0
- data/spec/hive/activities/shipping/shipping_delivered_acitivty_spec.rb +10 -0
- data/spec/hive/activities/shipping/shipping_shipped_acitivty_spec.rb +21 -0
- data/spec/hive/activities/shipping/shipping_status_changed_acitivty_spec.rb +10 -0
- data/spec/hive/rest/contacts_spec.rb +10 -9
- data/spec/hive/rest/redirects_spec.rb +12 -0
- data/spec/hive/rest/sites_spec.rb +17 -0
- metadata +30 -2
@@ -0,0 +1,38 @@
|
|
1
|
+
# THIS IS A GENERATED FILE, DO NOT EDIT THIS
|
2
|
+
# Generated on 2015-02-19T18:01:11.027Z
|
3
|
+
|
4
|
+
require 'hashie'
|
5
|
+
require 'hive/extensions/hashie_validate_enum'
|
6
|
+
|
7
|
+
module Hive
|
8
|
+
module Activities
|
9
|
+
module Contact
|
10
|
+
class Name < Hashie::Trash
|
11
|
+
include Hashie::Extensions::IgnoreUndeclared
|
12
|
+
|
13
|
+
property :prefix
|
14
|
+
property :first
|
15
|
+
property :middle
|
16
|
+
property :last
|
17
|
+
property :suffix
|
18
|
+
end
|
19
|
+
|
20
|
+
class SubscriptionFormActivity < Hashie::Trash
|
21
|
+
include Hashie::Extensions::IgnoreUndeclared
|
22
|
+
include Hashie::Extensions::Coercion
|
23
|
+
|
24
|
+
coerce_key :name, Name
|
25
|
+
coerce_key :fields, Array[Field]
|
26
|
+
|
27
|
+
property :email, required: true
|
28
|
+
property :name
|
29
|
+
property :phone
|
30
|
+
property :fields, default: []
|
31
|
+
|
32
|
+
def add_field(args)
|
33
|
+
fields << Field.new(args)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# THIS IS A GENERATED FILE, DO NOT EDIT THIS
|
2
|
+
# Generated on 2015-02-19T15:36:12.648Z
|
3
|
+
|
4
|
+
require 'hashie'
|
5
|
+
require 'hive/extensions/hashie_validate_enum'
|
6
|
+
|
7
|
+
module Hive
|
8
|
+
module Activities
|
9
|
+
module ECommerce
|
10
|
+
class Item < Hashie::Trash
|
11
|
+
include Hashie::Extensions::IgnoreUndeclared
|
12
|
+
include Hashie::Extensions::Coercion
|
13
|
+
|
14
|
+
coerce_key :media, Media
|
15
|
+
coerce_key :variants, Array[Variant]
|
16
|
+
coerce_key :categories, Array[String]
|
17
|
+
coerce_key :metadata, Array[Metadata]
|
18
|
+
|
19
|
+
property :id, required: true
|
20
|
+
property :sku
|
21
|
+
property :title, required: true
|
22
|
+
property :quantity, required: true
|
23
|
+
property :price
|
24
|
+
property :formattedPrice
|
25
|
+
property :currency, required: true
|
26
|
+
property :productLink
|
27
|
+
property :weight
|
28
|
+
property :formattedWeight
|
29
|
+
property :media
|
30
|
+
property :variants, default: []
|
31
|
+
property :categories, default: []
|
32
|
+
property :metadata, default: []
|
33
|
+
|
34
|
+
def add_variant(args)
|
35
|
+
variants << Variant.new(args)
|
36
|
+
end
|
37
|
+
|
38
|
+
def add_metadata(args)
|
39
|
+
metadata << Metadata.new(args)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
class CartAddActivity < Hashie::Trash
|
44
|
+
include Hashie::Extensions::IgnoreUndeclared
|
45
|
+
include Hashie::Extensions::Coercion
|
46
|
+
|
47
|
+
coerce_key :item, Item
|
48
|
+
|
49
|
+
property :cartId, required: true
|
50
|
+
property :storeId
|
51
|
+
property :item, required: true
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# THIS IS A GENERATED FILE, DO NOT EDIT THIS
|
2
|
+
# Generated on 2015-02-19T15:36:12.681Z
|
3
|
+
|
4
|
+
require 'hashie'
|
5
|
+
require 'hive/extensions/hashie_validate_enum'
|
6
|
+
|
7
|
+
module Hive
|
8
|
+
module Activities
|
9
|
+
module ECommerce
|
10
|
+
class CartCheckoutActivity < Hashie::Trash
|
11
|
+
include Hashie::Extensions::IgnoreUndeclared
|
12
|
+
|
13
|
+
property :cartId, required: true
|
14
|
+
property :storeId
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# THIS IS A GENERATED FILE, DO NOT EDIT THIS
|
2
|
+
# Generated on 2015-02-19T15:36:12.671Z
|
3
|
+
|
4
|
+
require 'hashie'
|
5
|
+
require 'hive/extensions/hashie_validate_enum'
|
6
|
+
|
7
|
+
module Hive
|
8
|
+
module Activities
|
9
|
+
module ECommerce
|
10
|
+
class CartRemoveActivity < Hashie::Trash
|
11
|
+
include Hashie::Extensions::IgnoreUndeclared
|
12
|
+
include Hashie::Extensions::Coercion
|
13
|
+
|
14
|
+
coerce_key :item, Item
|
15
|
+
|
16
|
+
property :cartId, required: true
|
17
|
+
property :storeId
|
18
|
+
property :item, required: true
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# THIS IS A GENERATED FILE, DO NOT EDIT THIS
|
2
|
-
# Generated on
|
2
|
+
# Generated on 2015-02-19T18:01:11.149Z
|
3
3
|
|
4
4
|
require 'hashie'
|
5
5
|
require 'hive/extensions/hashie_validate_enum'
|
@@ -20,14 +20,24 @@ module Hive
|
|
20
20
|
property :value
|
21
21
|
end
|
22
22
|
|
23
|
+
class Metadata < Hashie::Trash
|
24
|
+
include Hashie::Extensions::IgnoreUndeclared
|
25
|
+
|
26
|
+
property :name, required: true
|
27
|
+
property :value, required: true
|
28
|
+
end
|
29
|
+
|
23
30
|
class Item < Hashie::Trash
|
24
31
|
include Hashie::Extensions::IgnoreUndeclared
|
25
32
|
include Hashie::Extensions::Coercion
|
26
33
|
|
27
34
|
coerce_key :media, Media
|
28
35
|
coerce_key :variants, Array[Variant]
|
36
|
+
coerce_key :categories, Array[String]
|
37
|
+
coerce_key :metadata, Array[Metadata]
|
29
38
|
|
30
39
|
property :id, required: true
|
40
|
+
property :type, transform_with: Hashie::Validate.enum(%w(PHYSICAL DIGITAL))
|
31
41
|
property :sku
|
32
42
|
property :title, required: true
|
33
43
|
property :quantity, required: true
|
@@ -39,10 +49,16 @@ module Hive
|
|
39
49
|
property :formattedWeight
|
40
50
|
property :media
|
41
51
|
property :variants, default: [], required: true
|
52
|
+
property :categories, default: []
|
53
|
+
property :metadata, default: []
|
42
54
|
|
43
55
|
def add_variant(args)
|
44
56
|
variants << Variant.new(args)
|
45
57
|
end
|
58
|
+
|
59
|
+
def add_metadata(args)
|
60
|
+
metadata << Metadata.new(args)
|
61
|
+
end
|
46
62
|
end
|
47
63
|
|
48
64
|
class Coupon < Hashie::Trash
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# THIS IS A GENERATED FILE, DO NOT EDIT THIS
|
2
|
-
# Generated on
|
3
|
-
|
2
|
+
# Generated on 2015-02-19T18:01:11.499Z
|
4
3
|
require 'hive/activities/contact/contact_form_activity'
|
4
|
+
require 'hive/activities/contact/subscription_form_activity'
|
5
5
|
require 'hive/activities/contact/contact_create_activity'
|
6
6
|
require 'hive/activities/conversion/conversion_complete_activity'
|
7
7
|
require 'hive/activities/e_commerce/purchase_activity'
|
@@ -19,49 +19,39 @@ require 'hive/activities/hotels/hotels_cancel_activity'
|
|
19
19
|
require 'hive/activities/hotels/hotels_purchase_activity'
|
20
20
|
require 'hive/activities/hotels/hotels_purchase_failed_activity'
|
21
21
|
require 'hive/activities/scheduler/scheduler_appointment_activity'
|
22
|
+
require 'hive/activities/shipping/shipping_shipped_activity'
|
23
|
+
require 'hive/activities/shipping/shipping_delivered_activity'
|
24
|
+
require 'hive/activities/shipping/shipping_status_changed_activity'
|
22
25
|
|
23
26
|
module Hive
|
24
27
|
module Activities
|
25
28
|
ActivityType = Struct.new(:klass, :type) do
|
26
29
|
end
|
27
30
|
|
28
|
-
CONTACT_CONTACT_FORM = ActivityType.new(Contact::
|
29
|
-
|
31
|
+
CONTACT_CONTACT_FORM = ActivityType.new(Contact::ContactFormActivity, 'contact/contact-form')
|
32
|
+
CONTACT_SUBSCRIPTION_FORM = ActivityType.new(Contact::SubscriptionFormActivity, 'contact/subscription-form')
|
30
33
|
CONTACTS_CREATE = ActivityType.new(Contact::CreateActivity, 'contacts/create')
|
31
|
-
|
32
34
|
CONVERSION_COMPLETE = ActivityType.new(Conversion::CompleteActivity, 'conversion/complete')
|
33
|
-
|
34
35
|
E_COMMERCE_PURCHASE = ActivityType.new(ECommerce::PurchaseActivity, 'e_commerce/purchase')
|
35
|
-
|
36
36
|
MESSAGING_SEND = ActivityType.new(Messaging::SendActivity, 'messaging/send')
|
37
|
-
|
38
37
|
MUSIC_ALBUM_PLAYED = ActivityType.new(Music::PlayedActivity, 'music/album-played')
|
39
|
-
|
40
38
|
MUSIC_ALBUM_FAN = ActivityType.new(Music::FanActivity, 'music/album-fan')
|
41
|
-
|
42
39
|
MUSIC_ALBUM_SHARE = ActivityType.new(Music::ShareActivity, 'music/album-share')
|
43
|
-
|
44
40
|
MUSIC_TRACK_LYRICS = ActivityType.new(Music::LyricsActivity, 'music/track-lyrics')
|
45
|
-
|
46
41
|
MUSIC_TRACK_PLAY = ActivityType.new(Music::TrackPlayActivity, 'music/track-play')
|
47
|
-
|
48
42
|
MUSIC_TRACK_PLAYED = ActivityType.new(Music::TrackPlayedActivity, 'music/track-played')
|
49
|
-
|
50
43
|
MUSIC_TRACK_SKIP = ActivityType.new(Music::TrackSkippedActivity, 'music/track-skip')
|
51
|
-
|
52
44
|
MUSIC_TRACK_SHARE = ActivityType.new(Music::TrackShareActivity, 'music/track-share')
|
53
|
-
|
54
45
|
HOTELS_CONFIRMATION = ActivityType.new(Hotels::ConfirmationActivity, 'hotels/confirmation')
|
55
|
-
|
56
46
|
HOTELS_CANCEL = ActivityType.new(Hotels::CancelActivity, 'hotels/cancel')
|
57
|
-
|
58
47
|
HOTELS_PURCHASE = ActivityType.new(Hotels::PurchaseActivity, 'hotels/purchase')
|
59
|
-
|
60
48
|
HOTELS_PURCHASE_FAILED = ActivityType.new(Hotels::PurchaseFailedActivity, 'hotels/purchase-failed')
|
61
|
-
|
62
49
|
SCHEDULER_APPOINTMENT = ActivityType.new(Scheduler::AppointmentActivity, 'scheduler/appointment')
|
50
|
+
SHIPPING_SHIPPED = ActivityType.new(Shipping::ShippedActivity, 'shipping/shipped')
|
51
|
+
SHIPPING_DELIVERED = ActivityType.new(Shipping::DeliveredActivity, 'shipping/delivered')
|
52
|
+
SHIPPING_STATUS_CHANGED = ActivityType.new(Shipping::StatusChangedActivity, 'shipping/status-changed')
|
63
53
|
|
64
|
-
TYPES = [CONTACT_CONTACT_FORM, CONTACTS_CREATE, CONVERSION_COMPLETE, E_COMMERCE_PURCHASE, MESSAGING_SEND, MUSIC_ALBUM_PLAYED, MUSIC_ALBUM_FAN, MUSIC_ALBUM_SHARE, MUSIC_TRACK_LYRICS, MUSIC_TRACK_PLAY, MUSIC_TRACK_PLAYED, MUSIC_TRACK_SKIP, MUSIC_TRACK_SHARE, HOTELS_CONFIRMATION, HOTELS_CANCEL, HOTELS_PURCHASE, HOTELS_PURCHASE_FAILED, SCHEDULER_APPOINTMENT]
|
54
|
+
TYPES = [CONTACT_CONTACT_FORM, CONTACT_SUBSCRIPTION_FORM, CONTACTS_CREATE, CONVERSION_COMPLETE, E_COMMERCE_PURCHASE, MESSAGING_SEND, MUSIC_ALBUM_PLAYED, MUSIC_ALBUM_FAN, MUSIC_ALBUM_SHARE, MUSIC_TRACK_LYRICS, MUSIC_TRACK_PLAY, MUSIC_TRACK_PLAYED, MUSIC_TRACK_SKIP, MUSIC_TRACK_SHARE, HOTELS_CONFIRMATION, HOTELS_CANCEL, HOTELS_PURCHASE, HOTELS_PURCHASE_FAILED, SCHEDULER_APPOINTMENT, SHIPPING_SHIPPED, SHIPPING_DELIVERED, SHIPPING_STATUS_CHANGED]
|
65
55
|
|
66
56
|
module_function
|
67
57
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# THIS IS A GENERATED FILE, DO NOT EDIT THIS
|
2
|
-
# Generated on
|
2
|
+
# Generated on 2015-02-19T18:01:11.205Z
|
3
3
|
|
4
4
|
require 'hashie'
|
5
5
|
require 'hive/extensions/hashie_validate_enum'
|
@@ -16,7 +16,7 @@ module Hive
|
|
16
16
|
|
17
17
|
property :album, required: true
|
18
18
|
property :artist
|
19
|
-
property :sharedTo, required: true, transform_with: Hashie::Validate.enum(%w(FACEBOOK GOOGLE_PLUS TWITTER))
|
19
|
+
property :sharedTo, required: true, transform_with: Hashie::Validate.enum(%w(FACEBOOK GOOGLE_PLUS TWITTER BLOGGER TUMBLR))
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# THIS IS A GENERATED FILE, DO NOT EDIT THIS
|
2
|
-
# Generated on
|
2
|
+
# Generated on 2015-02-19T18:01:11.283Z
|
3
3
|
|
4
4
|
require 'hashie'
|
5
5
|
require 'hive/extensions/hashie_validate_enum'
|
@@ -18,7 +18,7 @@ module Hive
|
|
18
18
|
property :track, required: true
|
19
19
|
property :album
|
20
20
|
property :artist
|
21
|
-
property :sharedTo, required: true, transform_with: Hashie::Validate.enum(%w(FACEBOOK GOOGLE_PLUS TWITTER))
|
21
|
+
property :sharedTo, required: true, transform_with: Hashie::Validate.enum(%w(FACEBOOK GOOGLE_PLUS TWITTER BLOGGER TUMBLR))
|
22
22
|
end
|
23
23
|
end
|
24
24
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# THIS IS A GENERATED FILE, DO NOT EDIT THIS
|
2
|
-
# Generated on
|
2
|
+
# Generated on 2015-02-19T18:01:11.432Z
|
3
3
|
|
4
4
|
require 'hashie'
|
5
5
|
require 'hive/extensions/hashie_validate_enum'
|
@@ -7,6 +7,14 @@ require 'hive/extensions/hashie_validate_enum'
|
|
7
7
|
module Hive
|
8
8
|
module Activities
|
9
9
|
module Scheduler
|
10
|
+
class Price < Hashie::Trash
|
11
|
+
include Hashie::Extensions::IgnoreUndeclared
|
12
|
+
|
13
|
+
property :price
|
14
|
+
property :formattedPrice
|
15
|
+
property :currency, required: true
|
16
|
+
end
|
17
|
+
|
10
18
|
class Location < Hashie::Trash
|
11
19
|
include Hashie::Extensions::IgnoreUndeclared
|
12
20
|
|
@@ -54,12 +62,15 @@ module Hive
|
|
54
62
|
include Hashie::Extensions::IgnoreUndeclared
|
55
63
|
include Hashie::Extensions::Coercion
|
56
64
|
|
65
|
+
coerce_key :price, Price
|
57
66
|
coerce_key :location, Location
|
58
67
|
coerce_key :time, Time
|
59
68
|
coerce_key :attendees, Array[Attendee]
|
60
69
|
|
61
70
|
property :title, required: true
|
62
71
|
property :description, required: true
|
72
|
+
property :infoLink
|
73
|
+
property :price
|
63
74
|
property :location
|
64
75
|
property :time
|
65
76
|
property :attendees, default: []
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# THIS IS A GENERATED FILE, DO NOT EDIT THIS
|
2
|
+
# Generated on 2015-02-19T18:01:11.470Z
|
3
|
+
|
4
|
+
require 'hashie'
|
5
|
+
require 'hive/extensions/hashie_validate_enum'
|
6
|
+
|
7
|
+
module Hive
|
8
|
+
module Activities
|
9
|
+
module Shipping
|
10
|
+
class DeliveredActivity < Hashie::Trash
|
11
|
+
include Hashie::Extensions::IgnoreUndeclared
|
12
|
+
include Hashie::Extensions::Coercion
|
13
|
+
|
14
|
+
class ShippingDetail < Hashie::Trash
|
15
|
+
include Hashie::Extensions::IgnoreUndeclared
|
16
|
+
|
17
|
+
property :tracking
|
18
|
+
end
|
19
|
+
|
20
|
+
coerce_key :items, Array[Item]
|
21
|
+
coerce_key :shippingDetails, ShippingDetail
|
22
|
+
|
23
|
+
property :orderId, required: true
|
24
|
+
property :items, default: [], required: true
|
25
|
+
property :shippingDetails
|
26
|
+
property :note
|
27
|
+
|
28
|
+
def add_item(args)
|
29
|
+
items << Item.new(args)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|