spark_api 1.5.0 → 1.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/spark_api/models.rb +1 -0
- data/lib/spark_api/models/media.rb +30 -0
- data/lib/spark_api/models/video.rb +108 -0
- data/lib/spark_api/models/virtual_tour.rb +16 -0
- metadata +164 -163
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b9c9695944207ba64adf36cd6417e6f534222643a04058581af5451ef4e0361e
|
4
|
+
data.tar.gz: 4911595b9144031b4659ef04bbd1ca8689090e23297d686741c26649c359b0ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d1e45e5ebb03f2561b2d1a8234510598ced6b3816f961dd84e2200f66359bd22a6360b4bdba06bfcaad46e2a5bbac5c22cb03611dc0b4b249ea001ac5022964b
|
7
|
+
data.tar.gz: 5259a965c9131db98ef5c9ca876f59189a43274fa30c780c98b1d56b1d762fd974f9a618a407e0daf0d16c9f1e0b690ffd0a500dfe4f225c9eadc2b81091ec6e
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.5.
|
1
|
+
1.5.1
|
data/lib/spark_api/models.rb
CHANGED
@@ -25,6 +25,7 @@ require 'spark_api/models/listing'
|
|
25
25
|
require 'spark_api/models/listing_cart'
|
26
26
|
require 'spark_api/models/listing_meta_translations'
|
27
27
|
require 'spark_api/models/market_statistics'
|
28
|
+
require 'spark_api/models/media'
|
28
29
|
require 'spark_api/models/message'
|
29
30
|
require 'spark_api/models/news_feed_meta'
|
30
31
|
require 'spark_api/models/newsfeed'
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module SparkApi
|
2
|
+
module Models
|
3
|
+
module Media
|
4
|
+
# This module is effectively an interface and helper to combine common media
|
5
|
+
# actions and information. Media types (videos, virtual tours, etc)
|
6
|
+
# should include this module and implement the methods contained
|
7
|
+
|
8
|
+
def url
|
9
|
+
raise "Not Implemented"
|
10
|
+
end
|
11
|
+
|
12
|
+
def description
|
13
|
+
raise "Not Implemented"
|
14
|
+
end
|
15
|
+
|
16
|
+
def private?
|
17
|
+
attributes['Privacy'] == 'Private'
|
18
|
+
end
|
19
|
+
|
20
|
+
def public?
|
21
|
+
attributes['Privacy'] == 'Public'
|
22
|
+
end
|
23
|
+
|
24
|
+
def automatic?
|
25
|
+
attributes['Privacy'] == 'Automatic'
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -1,7 +1,12 @@
|
|
1
|
+
require 'net/http'
|
1
2
|
module SparkApi
|
2
3
|
module Models
|
3
4
|
class Video < Base
|
4
5
|
extend Subresource
|
6
|
+
include Media
|
7
|
+
include Concerns::Savable,
|
8
|
+
Concerns::Destroyable
|
9
|
+
|
5
10
|
self.element_name = 'videos'
|
6
11
|
|
7
12
|
def branded?
|
@@ -11,6 +16,109 @@ module SparkApi
|
|
11
16
|
def unbranded?
|
12
17
|
attributes['Type'] == 'unbranded'
|
13
18
|
end
|
19
|
+
|
20
|
+
def url
|
21
|
+
attributes['ObjectHtml']
|
22
|
+
end
|
23
|
+
|
24
|
+
def description
|
25
|
+
attributes['Name']
|
26
|
+
end
|
27
|
+
|
28
|
+
# Some youtube URLS are youtu.be instead of youtube
|
29
|
+
SUPPORTED_VIDEO_TYPES = %w[vimeo youtu].freeze
|
30
|
+
|
31
|
+
def is_supported_type?
|
32
|
+
# Unfortunately there are so many formats of vimeo videos that we canot support all vimeo videos
|
33
|
+
# Therefore, we need to do a little more checking here and validate that we can get video codes out of the urls
|
34
|
+
(self.ObjectHtml.include?('youtu') && youtube_video_code.present?) || (self.ObjectHtml.include?('vimeo') && vimeo_video_code.present?)
|
35
|
+
end
|
36
|
+
|
37
|
+
def is_valid_iframe?
|
38
|
+
self.ObjectHtml.include?('<iframe') && self.ObjectHtml.include?('</iframe>')
|
39
|
+
end
|
40
|
+
|
41
|
+
# gets the thumbnail to be shown on supported (Vimeo and Youtube) videos
|
42
|
+
# YouTube provides a predictable url for each video's images
|
43
|
+
# for Vimeo, a get request is necessary
|
44
|
+
def display_image
|
45
|
+
url = self.video_link
|
46
|
+
if url
|
47
|
+
if(url.include?('youtube'))
|
48
|
+
youtube_thumbnail_url
|
49
|
+
else
|
50
|
+
vimeo_thumbnail_url
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def video_link
|
56
|
+
return nil unless is_supported_type?
|
57
|
+
|
58
|
+
if self.ObjectHtml.include?('youtu')
|
59
|
+
youtube_link
|
60
|
+
elsif self.ObjectHtml.include?('vimeo')
|
61
|
+
vimeo_link
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
private
|
66
|
+
|
67
|
+
def vimeo_video_code
|
68
|
+
html = self.ObjectHtml
|
69
|
+
if html.match(/(src=)('|")((https:)?\/\/player\.vimeo\.com\/video\/)/)
|
70
|
+
new_url = html.split(/(src=')|(src=")/)
|
71
|
+
if new_url[2]
|
72
|
+
html = new_url[2].split(/("|')/)[0]
|
73
|
+
end
|
74
|
+
end
|
75
|
+
if html.match(/(?:.+?)?(player\.vimeo\.com|vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|)(\d+)(?:$|\/|\?))/)
|
76
|
+
code = html.split('/').last.split('?').first
|
77
|
+
# Vimeo Ids are always numerical
|
78
|
+
code.to_i.to_s === code ? code : nil
|
79
|
+
else
|
80
|
+
nil
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
# This if correctly embedded by the user is an embed
|
85
|
+
# If not, it could be pretty much anything
|
86
|
+
def youtube_video_code
|
87
|
+
html = self.ObjectHtml
|
88
|
+
if html.match(/(?:.+?)?(?:\/v\/|watch\/|\?v=|\&v=|youtu\.be\/|\/v=|^youtu\.be\/|embed\/|watch\%3Fv\%3D)([a-zA-Z0-9_-]{11})/) || html.match(/(iframe)(.*)(src=)('|")(https:\/\/www\.youtube\.com\/embed)/)
|
89
|
+
html.split(/([a-zA-Z0-9_-]{11})/)[1]
|
90
|
+
else
|
91
|
+
nil
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
def youtube_link
|
96
|
+
normalize_youtube_url
|
97
|
+
code = youtube_video_code
|
98
|
+
code ? "https://www.youtube.com/watch?v=#{code}" : nil
|
99
|
+
end
|
100
|
+
|
101
|
+
def vimeo_link
|
102
|
+
code = vimeo_video_code
|
103
|
+
code ? "https://vimeo.com/#{code}" : nil
|
104
|
+
end
|
105
|
+
|
106
|
+
def youtube_thumbnail_url
|
107
|
+
code = youtube_video_code
|
108
|
+
code ? "https://i1.ytimg.com/vi/#{code}/hqdefault.jpg" : nil
|
109
|
+
end
|
110
|
+
|
111
|
+
def vimeo_thumbnail_url
|
112
|
+
# due to the rate limiting issue that surfaced shortly before launch,
|
113
|
+
# we will temporarily not return vimeo thumbnails until
|
114
|
+
# there is bandwidth to implement the solution in FLEX-9959
|
115
|
+
return nil
|
116
|
+
end
|
117
|
+
|
118
|
+
def normalize_youtube_url
|
119
|
+
self.ObjectHtml.sub!('-nocookie', '')
|
120
|
+
end
|
121
|
+
|
14
122
|
end
|
15
123
|
end
|
16
124
|
end
|
@@ -2,6 +2,10 @@ module SparkApi
|
|
2
2
|
module Models
|
3
3
|
class VirtualTour < Base
|
4
4
|
extend Subresource
|
5
|
+
include Media
|
6
|
+
include Concerns::Savable,
|
7
|
+
Concerns::Destroyable
|
8
|
+
|
5
9
|
self.element_name="virtualtours"
|
6
10
|
|
7
11
|
|
@@ -13,6 +17,18 @@ module SparkApi
|
|
13
17
|
attributes["Type"] == "unbranded"
|
14
18
|
end
|
15
19
|
|
20
|
+
def url
|
21
|
+
attributes['Uri']
|
22
|
+
end
|
23
|
+
|
24
|
+
def description
|
25
|
+
attributes['Name']
|
26
|
+
end
|
27
|
+
|
28
|
+
def display_image
|
29
|
+
# Currently we have no universally good mechanism to get images for virtual tours
|
30
|
+
return nil
|
31
|
+
end
|
16
32
|
end
|
17
33
|
end
|
18
34
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spark_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandon Hornseth
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-02-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|
@@ -273,6 +273,7 @@ files:
|
|
273
273
|
- lib/spark_api/models/listing_cart.rb
|
274
274
|
- lib/spark_api/models/listing_meta_translations.rb
|
275
275
|
- lib/spark_api/models/market_statistics.rb
|
276
|
+
- lib/spark_api/models/media.rb
|
276
277
|
- lib/spark_api/models/message.rb
|
277
278
|
- lib/spark_api/models/news_feed_meta.rb
|
278
279
|
- lib/spark_api/models/newsfeed.rb
|
@@ -538,203 +539,203 @@ signing_key:
|
|
538
539
|
specification_version: 4
|
539
540
|
summary: A library for interacting with the Spark web services.
|
540
541
|
test_files:
|
541
|
-
- spec/fixtures/
|
542
|
+
- spec/fixtures/fields/settings.json
|
543
|
+
- spec/fixtures/fields/order.json
|
544
|
+
- spec/fixtures/fields/order_a.json
|
545
|
+
- spec/fixtures/empty.json
|
546
|
+
- spec/fixtures/finders.json
|
542
547
|
- spec/fixtures/accounts/my_put.json
|
548
|
+
- spec/fixtures/accounts/password_save.json
|
549
|
+
- spec/fixtures/accounts/my.json
|
543
550
|
- spec/fixtures/accounts/my_portal.json
|
544
551
|
- spec/fixtures/accounts/office.json
|
545
|
-
- spec/fixtures/accounts/
|
546
|
-
- spec/fixtures/accounts/password_save.json
|
552
|
+
- spec/fixtures/accounts/all.json
|
547
553
|
- spec/fixtures/accounts/my_save.json
|
554
|
+
- spec/fixtures/base.json
|
555
|
+
- spec/fixtures/success.json
|
556
|
+
- spec/fixtures/property_types/property_types.json
|
557
|
+
- spec/fixtures/saved_searches/get.json
|
558
|
+
- spec/fixtures/saved_searches/without_newsfeed.json
|
559
|
+
- spec/fixtures/saved_searches/with_inactive_newsfeed.json
|
560
|
+
- spec/fixtures/saved_searches/get_provided.json
|
561
|
+
- spec/fixtures/saved_searches/update.json
|
562
|
+
- spec/fixtures/saved_searches/post.json
|
563
|
+
- spec/fixtures/saved_searches/new.json
|
564
|
+
- spec/fixtures/saved_searches/with_newsfeed.json
|
565
|
+
- spec/fixtures/standardfields/stateorprovince.json
|
566
|
+
- spec/fixtures/standardfields/standardfields.json
|
567
|
+
- spec/fixtures/standardfields/city.json
|
568
|
+
- spec/fixtures/standardfields/nearby.json
|
569
|
+
- spec/fixtures/portal/my.json
|
570
|
+
- spec/fixtures/portal/my_non_existant.json
|
571
|
+
- spec/fixtures/portal/enable.json
|
572
|
+
- spec/fixtures/portal/post.json
|
573
|
+
- spec/fixtures/portal/disable.json
|
574
|
+
- spec/fixtures/portal/new.json
|
575
|
+
- spec/fixtures/oauth2_error.json
|
576
|
+
- spec/fixtures/sharedlinks/success.json
|
548
577
|
- spec/fixtures/authentication_failure.json
|
549
|
-
- spec/fixtures/
|
550
|
-
- spec/fixtures/
|
551
|
-
- spec/fixtures/
|
552
|
-
- spec/fixtures/notes/add.json
|
553
|
-
- spec/fixtures/contacts/new_empty.json
|
554
|
-
- spec/fixtures/contacts/contacts.json
|
555
|
-
- spec/fixtures/contacts/new.json
|
556
|
-
- spec/fixtures/contacts/tags.json
|
557
|
-
- spec/fixtures/contacts/post.json
|
578
|
+
- spec/fixtures/activities/get.json
|
579
|
+
- spec/fixtures/idx_links/get.json
|
580
|
+
- spec/fixtures/contacts/my.json
|
558
581
|
- spec/fixtures/contacts/vow_accounts/get.json
|
559
|
-
- spec/fixtures/contacts/vow_accounts/new.json
|
560
582
|
- spec/fixtures/contacts/vow_accounts/edit.json
|
561
583
|
- spec/fixtures/contacts/vow_accounts/post.json
|
562
|
-
- spec/fixtures/contacts/
|
584
|
+
- spec/fixtures/contacts/vow_accounts/new.json
|
585
|
+
- spec/fixtures/contacts/new_empty.json
|
586
|
+
- spec/fixtures/contacts/post.json
|
587
|
+
- spec/fixtures/contacts/new.json
|
588
|
+
- spec/fixtures/contacts/tags.json
|
563
589
|
- spec/fixtures/contacts/new_notify.json
|
564
|
-
- spec/fixtures/
|
590
|
+
- spec/fixtures/contacts/contacts.json
|
565
591
|
- spec/fixtures/no_results.json
|
566
|
-
- spec/fixtures/
|
567
|
-
- spec/fixtures/success.json
|
568
|
-
- spec/fixtures/logo_fbs.png
|
569
|
-
- spec/fixtures/search_templates/quick_searches/get.json
|
592
|
+
- spec/fixtures/generic_delete.json
|
570
593
|
- spec/fixtures/sorts/get.json
|
571
|
-
- spec/fixtures/
|
572
|
-
- spec/fixtures/errors/failure_with_constraint.json
|
573
|
-
- spec/fixtures/errors/failure.json
|
574
|
-
- spec/fixtures/errors/failure_with_msg.json
|
575
|
-
- spec/fixtures/oauth2_error.json
|
576
|
-
- spec/fixtures/portal/my_non_existant.json
|
577
|
-
- spec/fixtures/portal/new.json
|
578
|
-
- spec/fixtures/portal/enable.json
|
579
|
-
- spec/fixtures/portal/disable.json
|
580
|
-
- spec/fixtures/portal/post.json
|
581
|
-
- spec/fixtures/portal/my.json
|
582
|
-
- spec/fixtures/rules/get.json
|
583
|
-
- spec/fixtures/messages/new_empty.json
|
584
|
-
- spec/fixtures/messages/get.json
|
585
|
-
- spec/fixtures/messages/new_with_recipients.json
|
586
|
-
- spec/fixtures/messages/new.json
|
587
|
-
- spec/fixtures/messages/post.json
|
588
|
-
- spec/fixtures/messages/count.json
|
594
|
+
- spec/fixtures/search_templates/quick_searches/get.json
|
589
595
|
- spec/fixtures/comments/get.json
|
590
|
-
- spec/fixtures/comments/new.json
|
591
596
|
- spec/fixtures/comments/post.json
|
592
|
-
- spec/fixtures/
|
593
|
-
- spec/fixtures/
|
594
|
-
- spec/fixtures/
|
595
|
-
- spec/fixtures/
|
596
|
-
- spec/fixtures/
|
597
|
-
- spec/fixtures/
|
598
|
-
- spec/fixtures/
|
599
|
-
- spec/fixtures/
|
600
|
-
- spec/fixtures/listing_carts/add_portal_cart_listings_post.json
|
601
|
-
- spec/fixtures/listing_carts/put.json
|
602
|
-
- spec/fixtures/listing_carts/new_portal_cart.json
|
603
|
-
- spec/fixtures/listing_carts/new.json
|
604
|
-
- spec/fixtures/listing_carts/add_listing_post.json
|
605
|
-
- spec/fixtures/listing_carts/add_listings_post.json
|
606
|
-
- spec/fixtures/listing_carts/put_ids.json
|
607
|
-
- spec/fixtures/listing_carts/add_listing.json
|
608
|
-
- spec/fixtures/listing_carts/post.json
|
609
|
-
- spec/fixtures/listing_carts/listing_cart.json
|
610
|
-
- spec/fixtures/listing_carts/empty.json
|
611
|
-
- spec/fixtures/listing_carts/add_portal_cart_listings.json
|
612
|
-
- spec/fixtures/listing_carts/put_name.json
|
613
|
-
- spec/fixtures/notifications/new_empty.json
|
614
|
-
- spec/fixtures/notifications/mark_read.json
|
615
|
-
- spec/fixtures/notifications/new.json
|
616
|
-
- spec/fixtures/notifications/notifications.json
|
617
|
-
- spec/fixtures/notifications/post.json
|
618
|
-
- spec/fixtures/notifications/unread.json
|
619
|
-
- spec/fixtures/listing_meta_translations/get.json
|
620
|
-
- spec/fixtures/finders.json
|
621
|
-
- spec/fixtures/generic_delete.json
|
622
|
-
- spec/fixtures/empty.json
|
623
|
-
- spec/fixtures/oauth2/error.json
|
624
|
-
- spec/fixtures/oauth2/access_with_old_refresh.json
|
625
|
-
- spec/fixtures/oauth2/authorization_code_body.json
|
626
|
-
- spec/fixtures/oauth2/password_body.json
|
627
|
-
- spec/fixtures/oauth2/access.json
|
628
|
-
- spec/fixtures/oauth2/access_with_refresh.json
|
629
|
-
- spec/fixtures/oauth2/refresh_body.json
|
630
|
-
- spec/fixtures/newsfeeds/get.json
|
631
|
-
- spec/fixtures/newsfeeds/inactive.json
|
632
|
-
- spec/fixtures/newsfeeds/meta.json
|
633
|
-
- spec/fixtures/listings/rental_calendar.json
|
597
|
+
- spec/fixtures/comments/new.json
|
598
|
+
- spec/fixtures/session.json
|
599
|
+
- spec/fixtures/notes/agent_shared.json
|
600
|
+
- spec/fixtures/notes/add.json
|
601
|
+
- spec/fixtures/notes/new.json
|
602
|
+
- spec/fixtures/notes/agent_shared_empty.json
|
603
|
+
- spec/fixtures/logo_fbs.png
|
604
|
+
- spec/fixtures/listings/no_subresources.json
|
634
605
|
- spec/fixtures/listings/constraints_with_pagination.json
|
635
|
-
- spec/fixtures/listings/
|
606
|
+
- spec/fixtures/listings/open_houses.json
|
636
607
|
- spec/fixtures/listings/put_expiration_date.json
|
637
|
-
- spec/fixtures/listings/with_rental_calendar.json
|
638
|
-
- spec/fixtures/listings/shared_listing_get.json
|
639
|
-
- spec/fixtures/listings/photos/rotate.json
|
640
|
-
- spec/fixtures/listings/photos/new.json
|
641
|
-
- spec/fixtures/listings/photos/rollback.json
|
642
|
-
- spec/fixtures/listings/photos/post.json
|
643
|
-
- spec/fixtures/listings/photos/batch_delete.json
|
644
|
-
- spec/fixtures/listings/photos/index.json
|
645
608
|
- spec/fixtures/listings/tour_of_homes_search.json
|
646
|
-
- spec/fixtures/listings/
|
647
|
-
- spec/fixtures/listings/multiple.json
|
648
|
-
- spec/fixtures/listings/shared_listing_new.json
|
649
|
-
- spec/fixtures/listings/put.json
|
609
|
+
- spec/fixtures/listings/reorder_photo.json
|
650
610
|
- spec/fixtures/listings/shared_listing_post.json
|
611
|
+
- spec/fixtures/listings/multiple.json
|
612
|
+
- spec/fixtures/listings/with_videos.json
|
613
|
+
- spec/fixtures/listings/with_supplement.json
|
614
|
+
- spec/fixtures/listings/photos/index.json
|
615
|
+
- spec/fixtures/listings/photos/post.json
|
616
|
+
- spec/fixtures/listings/photos/new.json
|
617
|
+
- spec/fixtures/listings/photos/batch_delete.json
|
618
|
+
- spec/fixtures/listings/photos/rollback.json
|
619
|
+
- spec/fixtures/listings/photos/rotate.json
|
620
|
+
- spec/fixtures/listings/floplans_index.json
|
621
|
+
- spec/fixtures/listings/with_vtour.json
|
622
|
+
- spec/fixtures/listings/with_rental_calendar.json
|
651
623
|
- spec/fixtures/listings/videos_index.json
|
624
|
+
- spec/fixtures/listings/rental_calendar.json
|
625
|
+
- spec/fixtures/listings/with_photos.json
|
626
|
+
- spec/fixtures/listings/shared_listing_get.json
|
627
|
+
- spec/fixtures/listings/tour_of_homes.json
|
652
628
|
- spec/fixtures/listings/document_index.json
|
653
|
-
- spec/fixtures/listings/with_permissions.json
|
654
629
|
- spec/fixtures/listings/constraints.json
|
655
|
-
- spec/fixtures/listings/
|
656
|
-
- spec/fixtures/listings/
|
657
|
-
- spec/fixtures/listings/no_subresources.json
|
658
|
-
- spec/fixtures/listings/with_videos.json
|
630
|
+
- spec/fixtures/listings/put.json
|
631
|
+
- spec/fixtures/listings/with_permissions.json
|
659
632
|
- spec/fixtures/listings/with_documents.json
|
660
|
-
- spec/fixtures/listings/reorder_photo.json
|
661
|
-
- spec/fixtures/listings/floplans_index.json
|
662
|
-
- spec/fixtures/listings/tour_of_homes.json
|
663
633
|
- spec/fixtures/listings/put_reorder_photo.json
|
664
|
-
- spec/fixtures/listings/
|
665
|
-
- spec/fixtures/
|
666
|
-
- spec/fixtures/
|
667
|
-
- spec/fixtures/
|
668
|
-
- spec/fixtures/
|
634
|
+
- spec/fixtures/listings/shared_listing_new.json
|
635
|
+
- spec/fixtures/listings/virtual_tours_index.json
|
636
|
+
- spec/fixtures/listing_meta_translations/get.json
|
637
|
+
- spec/fixtures/notifications/unread.json
|
638
|
+
- spec/fixtures/notifications/new_empty.json
|
639
|
+
- spec/fixtures/notifications/notifications.json
|
640
|
+
- spec/fixtures/notifications/post.json
|
641
|
+
- spec/fixtures/notifications/new.json
|
642
|
+
- spec/fixtures/notifications/mark_read.json
|
643
|
+
- spec/fixtures/rules/get.json
|
644
|
+
- spec/fixtures/oauth2/access.json
|
645
|
+
- spec/fixtures/oauth2/access_with_old_refresh.json
|
646
|
+
- spec/fixtures/oauth2/authorization_code_body.json
|
647
|
+
- spec/fixtures/oauth2/password_body.json
|
648
|
+
- spec/fixtures/oauth2/refresh_body.json
|
649
|
+
- spec/fixtures/oauth2/error.json
|
650
|
+
- spec/fixtures/oauth2/access_with_refresh.json
|
651
|
+
- spec/fixtures/messages/get.json
|
652
|
+
- spec/fixtures/messages/new_empty.json
|
653
|
+
- spec/fixtures/messages/post.json
|
654
|
+
- spec/fixtures/messages/new.json
|
655
|
+
- spec/fixtures/messages/new_with_recipients.json
|
656
|
+
- spec/fixtures/messages/count.json
|
669
657
|
- spec/fixtures/count.json
|
670
|
-
- spec/fixtures/
|
671
|
-
- spec/fixtures/
|
672
|
-
- spec/fixtures/
|
673
|
-
- spec/fixtures/
|
674
|
-
- spec/fixtures/
|
675
|
-
- spec/fixtures/
|
676
|
-
- spec/fixtures/
|
677
|
-
- spec/fixtures/
|
678
|
-
- spec/fixtures/
|
679
|
-
- spec/fixtures/
|
680
|
-
- spec/fixtures/
|
681
|
-
- spec/fixtures/
|
682
|
-
- spec/
|
683
|
-
- spec/
|
684
|
-
- spec/
|
685
|
-
- spec/
|
686
|
-
- spec/
|
687
|
-
- spec/
|
688
|
-
- spec/
|
689
|
-
- spec/
|
690
|
-
- spec/
|
691
|
-
- spec/
|
692
|
-
- spec/
|
658
|
+
- spec/fixtures/generic_failure.json
|
659
|
+
- spec/fixtures/newsfeeds/get.json
|
660
|
+
- spec/fixtures/newsfeeds/meta.json
|
661
|
+
- spec/fixtures/newsfeeds/inactive.json
|
662
|
+
- spec/fixtures/errors/expired.json
|
663
|
+
- spec/fixtures/errors/failure_with_constraint.json
|
664
|
+
- spec/fixtures/errors/failure_with_msg.json
|
665
|
+
- spec/fixtures/errors/failure.json
|
666
|
+
- spec/fixtures/listing_carts/post_portal_cart.json
|
667
|
+
- spec/fixtures/listing_carts/empty.json
|
668
|
+
- spec/fixtures/listing_carts/put_name.json
|
669
|
+
- spec/fixtures/listing_carts/add_portal_cart_listings_post.json
|
670
|
+
- spec/fixtures/listing_carts/add_listings_post.json
|
671
|
+
- spec/fixtures/listing_carts/new_portal_cart.json
|
672
|
+
- spec/fixtures/listing_carts/remove_listing.json
|
673
|
+
- spec/fixtures/listing_carts/add_listing_post.json
|
674
|
+
- spec/fixtures/listing_carts/add_listing.json
|
675
|
+
- spec/fixtures/listing_carts/post.json
|
676
|
+
- spec/fixtures/listing_carts/new.json
|
677
|
+
- spec/fixtures/listing_carts/listing_portal_cart.json
|
678
|
+
- spec/fixtures/listing_carts/add_listings.json
|
679
|
+
- spec/fixtures/listing_carts/put.json
|
680
|
+
- spec/fixtures/listing_carts/add_portal_cart_listings.json
|
681
|
+
- spec/fixtures/listing_carts/put_ids.json
|
682
|
+
- spec/fixtures/listing_carts/listing_cart.json
|
693
683
|
- spec/unit/spark_api/configuration_spec.rb
|
694
|
-
- spec/unit/spark_api/models/property_types_spec.rb
|
695
|
-
- spec/unit/spark_api/models/listing_spec.rb
|
696
|
-
- spec/unit/spark_api/models/video_spec.rb
|
697
|
-
- spec/unit/spark_api/models/sort_spec.rb
|
698
|
-
- spec/unit/spark_api/models/finders_spec.rb
|
699
684
|
- spec/unit/spark_api/models/document_spec.rb
|
700
|
-
- spec/unit/spark_api/models/
|
685
|
+
- spec/unit/spark_api/models/rental_calendar_spec.rb
|
686
|
+
- spec/unit/spark_api/models/system_info_spec.rb
|
687
|
+
- spec/unit/spark_api/models/listing_spec.rb
|
701
688
|
- spec/unit/spark_api/models/listing_meta_translations_spec.rb
|
702
|
-
- spec/unit/spark_api/models/
|
689
|
+
- spec/unit/spark_api/models/contact_spec.rb
|
703
690
|
- spec/unit/spark_api/models/concerns/destroyable_spec.rb
|
704
691
|
- spec/unit/spark_api/models/concerns/savable_spec.rb
|
705
|
-
- spec/unit/spark_api/models/
|
692
|
+
- spec/unit/spark_api/models/video_spec.rb
|
693
|
+
- spec/unit/spark_api/models/shared_listing_spec.rb
|
694
|
+
- spec/unit/spark_api/models/email_link_spec.rb
|
695
|
+
- spec/unit/spark_api/models/note_spec.rb
|
706
696
|
- spec/unit/spark_api/models/rule_spec.rb
|
707
|
-
- spec/unit/spark_api/models/
|
697
|
+
- spec/unit/spark_api/models/vow_account_spec.rb
|
708
698
|
- spec/unit/spark_api/models/account_report_spec.rb
|
709
|
-
- spec/unit/spark_api/models/
|
710
|
-
- spec/unit/spark_api/models/
|
711
|
-
- spec/unit/spark_api/models/
|
699
|
+
- spec/unit/spark_api/models/tour_of_home_spec.rb
|
700
|
+
- spec/unit/spark_api/models/activity_spec.rb
|
701
|
+
- spec/unit/spark_api/models/saved_search_spec.rb
|
702
|
+
- spec/unit/spark_api/models/listing_cart_spec.rb
|
703
|
+
- spec/unit/spark_api/models/subresource_spec.rb
|
704
|
+
- spec/unit/spark_api/models/newsfeed_spec.rb
|
705
|
+
- spec/unit/spark_api/models/portal_spec.rb
|
706
|
+
- spec/unit/spark_api/models/photo_spec.rb
|
707
|
+
- spec/unit/spark_api/models/virtual_tour_spec.rb
|
708
|
+
- spec/unit/spark_api/models/news_feed_meta_spec.rb
|
709
|
+
- spec/unit/spark_api/models/sort_spec.rb
|
712
710
|
- spec/unit/spark_api/models/open_house_spec.rb
|
713
|
-
- spec/unit/spark_api/models/
|
714
|
-
- spec/unit/spark_api/models/constraint_spec.rb
|
715
|
-
- spec/unit/spark_api/models/dirty_spec.rb
|
716
|
-
- spec/unit/spark_api/models/note_spec.rb
|
717
|
-
- spec/unit/spark_api/models/standard_fields_spec.rb
|
718
|
-
- spec/unit/spark_api/models/connect_prefs_spec.rb
|
711
|
+
- spec/unit/spark_api/models/fields_spec.rb
|
719
712
|
- spec/unit/spark_api/models/message_spec.rb
|
713
|
+
- spec/unit/spark_api/models/connect_prefs_spec.rb
|
720
714
|
- spec/unit/spark_api/models/base_spec.rb
|
721
|
-
- spec/unit/spark_api/models/floplan_spec.rb
|
722
|
-
- spec/unit/spark_api/models/subresource_spec.rb
|
723
|
-
- spec/unit/spark_api/models/system_info_spec.rb
|
724
|
-
- spec/unit/spark_api/models/virtual_tour_spec.rb
|
725
|
-
- spec/unit/spark_api/models/tour_of_home_spec.rb
|
726
|
-
- spec/unit/spark_api/models/shared_link_spec.rb
|
727
|
-
- spec/unit/spark_api/models/photo_spec.rb
|
728
715
|
- spec/unit/spark_api/models/account_spec.rb
|
729
|
-
- spec/unit/spark_api/models/
|
716
|
+
- spec/unit/spark_api/models/dirty_spec.rb
|
717
|
+
- spec/unit/spark_api/models/finders_spec.rb
|
730
718
|
- spec/unit/spark_api/models/defaultable_spec.rb
|
731
|
-
- spec/unit/spark_api/models/
|
732
|
-
- spec/unit/spark_api/models/
|
733
|
-
- spec/unit/spark_api/models/
|
734
|
-
- spec/unit/spark_api/models/
|
735
|
-
- spec/unit/spark_api/models/
|
719
|
+
- spec/unit/spark_api/models/notification_spec.rb
|
720
|
+
- spec/unit/spark_api/models/property_types_spec.rb
|
721
|
+
- spec/unit/spark_api/models/standard_fields_spec.rb
|
722
|
+
- spec/unit/spark_api/models/shared_link_spec.rb
|
723
|
+
- spec/unit/spark_api/models/constraint_spec.rb
|
724
|
+
- spec/unit/spark_api/models/search_template/quick_search_spec.rb
|
725
|
+
- spec/unit/spark_api/models/floplan_spec.rb
|
726
|
+
- spec/unit/spark_api/faraday_middleware_spec.rb
|
727
|
+
- spec/unit/spark_api/paginate_spec.rb
|
728
|
+
- spec/unit/spark_api/authentication/api_auth_spec.rb
|
729
|
+
- spec/unit/spark_api/authentication/base_auth_spec.rb
|
730
|
+
- spec/unit/spark_api/authentication/oauth2_impl/faraday_middleware_spec.rb
|
731
|
+
- spec/unit/spark_api/authentication/oauth2_impl/grant_type_base_spec.rb
|
732
|
+
- spec/unit/spark_api/authentication/oauth2_impl/single_session_provider_spec.rb
|
733
|
+
- spec/unit/spark_api/authentication/oauth2_spec.rb
|
736
734
|
- spec/unit/spark_api/configuration/yaml_spec.rb
|
737
735
|
- spec/unit/spark_api/multi_client_spec.rb
|
738
|
-
- spec/unit/spark_api/
|
736
|
+
- spec/unit/spark_api/authentication_spec.rb
|
737
|
+
- spec/unit/spark_api/options_hash_spec.rb
|
738
|
+
- spec/unit/spark_api/primary_array_spec.rb
|
739
|
+
- spec/unit/spark_api/request_spec.rb
|
739
740
|
- spec/unit/spark_api_spec.rb
|
740
741
|
- spec/spec_helper.rb
|