fb-core 1.0.0.beta3 → 1.0.0.beta4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +1 -1
- data/fb-core.gemspec +2 -2
- data/lib/fb/core/version.rb +1 -1
- data/lib/fb/page.rb +30 -3
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2b9ebc24b6cab3ece4e96f94f96d71642650481b
|
4
|
+
data.tar.gz: '02519ca1e385d8e2ccffbfe362054403c19474ea'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d0ebb9ad99986cc132c771a24372a398564765c5ea06c269ebf18780092ab31c7be2b815f7c9519325d74ce18f35d1fde87289d1decc3eef27a232bba6c9a1ba
|
7
|
+
data.tar.gz: fb888f906838ae8df5880442439d7bb48be88bd6de443632e4aff2cc445d9abee177711443a5a656a441b59f7f704cc0cb8bcf2fface332be59d6d71e27c7f7b
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,10 @@ For more information about changelogs, check
|
|
6
6
|
[Keep a Changelog](http://keepachangelog.com) and
|
7
7
|
[Vandamme](http://tech-angels.github.io/vandamme).
|
8
8
|
|
9
|
+
## 1.0.0.beta4 - 2018/03/27
|
10
|
+
|
11
|
+
* [FEATURE] Add `Fb::Page#insights_with_date_range` and `Fb::Page#posts_with_time_range`.
|
12
|
+
|
9
13
|
## 1.0.0.beta3 - 2018/03/14
|
10
14
|
|
11
15
|
* [FEATURE] Add `video_avg_time_watched` to `Fb::Post` for length of average time watched.
|
data/README.md
CHANGED
@@ -147,7 +147,7 @@ metric, period, and options (since & until). Refer to
|
|
147
147
|
for a list of available metrics and periods.
|
148
148
|
|
149
149
|
**Ensure that the period that you are using is supported by the metric**.
|
150
|
-
For example, `page_views_total` (page views) is available for `
|
150
|
+
For example, `page_views_total` (page views) is available for `day`, `week`, and `days_28`
|
151
151
|
whereas `page_fans` (page likes) is only available as `lifetime`.
|
152
152
|
|
153
153
|
`metric_insights` returns a hash of Dates mapped to values. Passing `since` only return dates ahead
|
data/fb-core.gemspec
CHANGED
@@ -24,10 +24,10 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
25
25
|
spec.require_paths = ['lib']
|
26
26
|
|
27
|
-
spec.add_dependency 'fb-support', '~> 1.0.0.
|
27
|
+
spec.add_dependency 'fb-support', '~> 1.0.0.alpha4'
|
28
28
|
spec.add_development_dependency 'bundler', '~> 1.15'
|
29
29
|
spec.add_development_dependency 'rake', '~> 10.0'
|
30
30
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
31
|
-
spec.add_development_dependency 'yard', '~> 0.9.
|
31
|
+
spec.add_development_dependency 'yard', '~> 0.9.12'
|
32
32
|
spec.add_development_dependency 'coveralls'
|
33
33
|
end
|
data/lib/fb/core/version.rb
CHANGED
data/lib/fb/page.rb
CHANGED
@@ -23,7 +23,7 @@ module Fb
|
|
23
23
|
@access_token = options[:access_token]
|
24
24
|
end
|
25
25
|
|
26
|
-
# @return [Hash<Date, Integer>]
|
26
|
+
# @return [Hash<Date, Integer>] a hash of Dates mapped to their values.
|
27
27
|
# @param [String] :metric the metric to fetch.
|
28
28
|
# @param [<String, Symbol>] :period the aggregate period (day, week, days_28).
|
29
29
|
# @option [Date] :since only return dates ahead to this date (lower bound).
|
@@ -42,8 +42,24 @@ module Fb
|
|
42
42
|
def weekly_insights(metrics, options = {})
|
43
43
|
since_date = options.fetch :until, Date.today - 1
|
44
44
|
params = {period: :week, since: since_date, until: since_date + 2}
|
45
|
-
|
46
|
-
|
45
|
+
insights = page_insights Array(metrics), params
|
46
|
+
insights.map {|m| [m['name'].to_sym, m['values'].last.fetch('value', 0)]}.to_h
|
47
|
+
end
|
48
|
+
|
49
|
+
# @return [Hash] a hash of metrics mapped to their values.
|
50
|
+
# @param [Array<String, Symbol>] :metrics the metrics to fetch.
|
51
|
+
# @option [Time] :since sum the date period after this date.
|
52
|
+
# @option [Time] :until sum the period before this date.
|
53
|
+
def insights_with_date_range(metrics, options = {})
|
54
|
+
date_params = {since: options[:since].to_date - 1, until: options.fetch(:until, Date.today).to_date + 1}
|
55
|
+
params = {period: :day}.merge date_params
|
56
|
+
insights = page_insights Array(metrics), params
|
57
|
+
insights.map do |m|
|
58
|
+
[
|
59
|
+
m['name'].to_sym,
|
60
|
+
m['values'].sum {|value| value.fetch('value', 0)}
|
61
|
+
]
|
62
|
+
end.to_h
|
47
63
|
end
|
48
64
|
|
49
65
|
# @return [Integer] the number of views of the page.
|
@@ -77,6 +93,17 @@ module Fb
|
|
77
93
|
end
|
78
94
|
end
|
79
95
|
|
96
|
+
# @return [Array<Fb::Post>] the posts published on the page.
|
97
|
+
# @option [Time] :since only return posts ahead of this time.
|
98
|
+
# @option [Time] :until only return posts previous to this time.
|
99
|
+
# @option [Boolean] :with_metrics whether to include insights for the posts.
|
100
|
+
def posts_with_time_range(options = {})
|
101
|
+
time_params = {since: options[:since], until: options[:until]}
|
102
|
+
request = PaginatedRequest.new path: "/v2.9/#{@id}/posts", params: posts_params.merge(time_params)
|
103
|
+
data = request.run.body['data']
|
104
|
+
options[:with_metrics] ? posts_with_metrics_from(data) : posts_from(data)
|
105
|
+
end
|
106
|
+
|
80
107
|
# @return [Array<Fb::Video>] the uploaded videos for the page.
|
81
108
|
def videos
|
82
109
|
@videos ||= begin
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fb-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.beta4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Claudio Baccigalupo
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-03-
|
12
|
+
date: 2018-03-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fb-support
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 1.0.0.
|
20
|
+
version: 1.0.0.alpha4
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 1.0.0.
|
27
|
+
version: 1.0.0.alpha4
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: bundler
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,14 +73,14 @@ dependencies:
|
|
73
73
|
requirements:
|
74
74
|
- - "~>"
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version: 0.9.
|
76
|
+
version: 0.9.12
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
81
|
- - "~>"
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version: 0.9.
|
83
|
+
version: 0.9.12
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
85
|
name: coveralls
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|