actv 2.10.4 → 2.10.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 +4 -4
- data/lib/actv/asset.rb +14 -0
- data/lib/actv/version.rb +1 -1
- data/spec/actv/asset_spec.rb +34 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4acedae60694fd977cd213ec94152f2d3a2a5df1
|
4
|
+
data.tar.gz: 114d23c0c8243189517c7278321b10c26c1d588a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 44dd52836d871b2f2a7b3346baced7c754ebf79391834bba2b926c2f2528104da78335e20dd8fab0f71084f263855aa0eaf39a9d19d89a9b7f2e3de998293691
|
7
|
+
data.tar.gz: 923310e35af621dcb87436a464babf9896af461ba79fcf575720436b75ce342f405766719e216039f4a014552a35132107fd8269dd76006ddf075f111ca265f6
|
data/lib/actv/asset.rb
CHANGED
@@ -354,6 +354,10 @@ module ACTV
|
|
354
354
|
@attrs[:organization] || {}
|
355
355
|
end
|
356
356
|
|
357
|
+
def sponsored?
|
358
|
+
sponsoredContent.present? && sponsoredContent[:enabled].to_s == 'true' && sponsored_date_available?
|
359
|
+
end
|
360
|
+
|
357
361
|
private
|
358
362
|
|
359
363
|
def child_assets_filtered_by_category category
|
@@ -403,5 +407,15 @@ module ACTV
|
|
403
407
|
interests = meta_interests.to_a.map(&:downcase)
|
404
408
|
['kids', 'family'].any? { |tag| interests.include? tag }
|
405
409
|
end
|
410
|
+
|
411
|
+
def sponsoredContent
|
412
|
+
@sponsoredContent ||= @attrs[:sponsoredContent] unless @attrs[:sponsoredContent].nil?
|
413
|
+
end
|
414
|
+
|
415
|
+
def sponsored_date_available?
|
416
|
+
start_time = Time.parse(sponsoredContent[:startDate])
|
417
|
+
end_time = Time.parse(sponsoredContent[:endDate])
|
418
|
+
Time.now.between?(start_time, end_time)
|
419
|
+
end
|
406
420
|
end
|
407
421
|
end
|
data/lib/actv/version.rb
CHANGED
data/spec/actv/asset_spec.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
+
require 'timecop'
|
2
3
|
|
3
4
|
describe ACTV::Asset do
|
4
5
|
|
@@ -537,6 +538,7 @@ describe ACTV::Asset do
|
|
537
538
|
let(:asset_references) { [] }
|
538
539
|
let(:response) { { assetGuid: 1, assetReferences: asset_references } }
|
539
540
|
let(:asset) { ACTV::Asset.new response }
|
541
|
+
|
540
542
|
context 'when there are asset references' do
|
541
543
|
let(:asset_references) { [ { referenceAsset: { assetGuid: "123" },
|
542
544
|
referenceType: { referenceTypeName: "author" } } ] }
|
@@ -544,11 +546,13 @@ describe ACTV::Asset do
|
|
544
546
|
expect(asset.references.first).to be_a ACTV::AssetReference
|
545
547
|
end
|
546
548
|
end
|
549
|
+
|
547
550
|
context 'when there are no asset references' do
|
548
551
|
it 'returns an empty array' do
|
549
552
|
expect(asset.references).to be_empty
|
550
553
|
end
|
551
554
|
end
|
555
|
+
|
552
556
|
context 'when there is no asset references field' do
|
553
557
|
let(:response) { { assetGuid: 1 } }
|
554
558
|
it 'returns an empty array' do
|
@@ -556,4 +560,33 @@ describe ACTV::Asset do
|
|
556
560
|
end
|
557
561
|
end
|
558
562
|
end
|
559
|
-
|
563
|
+
|
564
|
+
describe '#sponsored?' do
|
565
|
+
before { Timecop.freeze(2017,1,1,0,0,0) }
|
566
|
+
after { Timecop.return }
|
567
|
+
|
568
|
+
let(:response) { { assetGuid: 1 } }
|
569
|
+
let(:asset) { ACTV::Asset.new response }
|
570
|
+
|
571
|
+
context 'when sponsored status is disabled' do
|
572
|
+
let(:response) { { assetGuid: 1, sponsoredContent: { startDate: '2016-12-15T00:00:00', enabled: 'false', endDate: '2017-1-28T11:59:59' } } }
|
573
|
+
it 'returns false' do
|
574
|
+
expect(asset.sponsored?).to be_false
|
575
|
+
end
|
576
|
+
end
|
577
|
+
|
578
|
+
context 'when sponsored date is valid and status is enabled' do
|
579
|
+
let(:response) { { assetGuid: 1, sponsoredContent: { startDate: '2016-12-15T00:00:00', enabled: 'true', endDate: '2017-1-28T11:59:59' } } }
|
580
|
+
it 'returns true' do
|
581
|
+
expect(asset.sponsored?).to be_true
|
582
|
+
end
|
583
|
+
end
|
584
|
+
|
585
|
+
context 'when sponsored date is invalid and status is enabled' do
|
586
|
+
let(:response) { { assetGuid: 1, sponsoredContent: { startDate: '2015-12-15T00:00:00', enabled: 'true', endDate: '2016-10-28T11:59:59' } } }
|
587
|
+
it 'returns false' do
|
588
|
+
expect(asset.sponsored?).to be_false
|
589
|
+
end
|
590
|
+
end
|
591
|
+
end
|
592
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: actv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.10.
|
4
|
+
version: 2.10.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathaniel Barnes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -407,7 +407,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
407
407
|
version: '0'
|
408
408
|
requirements: []
|
409
409
|
rubyforge_project:
|
410
|
-
rubygems_version: 2.5.
|
410
|
+
rubygems_version: 2.5.2
|
411
411
|
signing_key:
|
412
412
|
specification_version: 4
|
413
413
|
summary: Active API
|