fb-auth 0.1.1 → 0.1.2
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/CHANGELOG.md +5 -1
- data/README.md +18 -7
- data/lib/fb/auth/version.rb +1 -1
- data/lib/fb/page.rb +20 -18
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e1c65df145f6718c64b0a56c90644ad84e9b7680
|
4
|
+
data.tar.gz: c74b56bfa92064a6104cfb0313a66bf4bb8ba8de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e7582dccb5248c30929e76314c3a0dd0331ab1ade55cf5245fbb6a2f4f5d610d54d3931db8d0a2f1d4e8435228e097cdfd0a3fb373ec25f90ab9695c5e93c5ee
|
7
|
+
data.tar.gz: '09e4778d8511b2f12ae52343fcb9d0c26f261979764f6c007d6040b3b1e3f9e55dd74be47cc559b6e8157eee8cf7826c165f8ca1548d32655346a93fa6732bb1'
|
data/CHANGELOG.md
CHANGED
@@ -6,7 +6,11 @@ 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
|
-
## 0.1.
|
9
|
+
## 0.1.2 - 2017/07/11
|
10
|
+
|
11
|
+
* [ENHANCEMENT] `Fb::Page#insights` now takes a hash of options on method call.
|
12
|
+
|
13
|
+
## 0.1.1 - 2017/07/06
|
10
14
|
|
11
15
|
* [FEATURE] Add `Fb::Page#insights`
|
12
16
|
|
data/README.md
CHANGED
@@ -83,18 +83,29 @@ Fb::User.new(access_token).email
|
|
83
83
|
Fb::Page#insights
|
84
84
|
---------------------
|
85
85
|
|
86
|
-
For each page object
|
86
|
+
For each page object, you can fetch page insights for these [available metrics](https://developers.facebook.com/docs/graph-api/reference/v2.9/insights#availmetrics). The insights method takes a hash of three options:
|
87
|
+
|
88
|
+
[String] :since The lower bound of the time range to consider.
|
89
|
+
[String] :period The aggregation period (must be available to all
|
90
|
+
given metrics).
|
91
|
+
[Array] :metric A list of metrics.
|
92
|
+
|
93
|
+
Insights will return a hash with the name of each metric as the key and the metric object as the value.
|
87
94
|
|
88
95
|
```ruby
|
89
|
-
|
96
|
+
options = {
|
97
|
+
metric: %i(page_fan_adds_unique page_engaged_users page_views_total),
|
98
|
+
period: :week,
|
99
|
+
since: '2017-06-09' # sample date format
|
100
|
+
}
|
101
|
+
page = Fb::User.new('token').pages.first
|
102
|
+
page.insights(options)
|
90
103
|
# => {"page_fan_adds_unique"=>#<Fb::Metric:0x123abc
|
91
|
-
@name="
|
92
|
-
number of new people who have liked your Page (Unique Users)",
|
93
|
-
@value=123>,..}
|
104
|
+
# @name="page_fan_adds_unique", @description="Weekly: The
|
105
|
+
# number of new people who have liked your Page (Unique Users)",
|
106
|
+
# @value=123>,..}
|
94
107
|
```
|
95
108
|
|
96
|
-
A full list of page/insights metrics are available at [metrics](https://developers.facebook.com/docs/graph-api/reference/v2.9/insights#availmetrics).
|
97
|
-
|
98
109
|
Fb::Error
|
99
110
|
-------------
|
100
111
|
|
data/lib/fb/auth/version.rb
CHANGED
data/lib/fb/page.rb
CHANGED
@@ -22,23 +22,24 @@ module Fb
|
|
22
22
|
@user = options["user"]
|
23
23
|
end
|
24
24
|
|
25
|
+
# @param [Hash] options to customize the insights returned from the API.
|
26
|
+
# @option [String] :since The lower bound of the time range to consider.
|
27
|
+
# @option [String] :period The aggregation period (must be available to all
|
28
|
+
# given metrics).
|
29
|
+
# @option [Array<String, Symbol>] :metric A list of metrics.
|
25
30
|
# @return [Hash] a collection of metrics with metric name as key
|
26
31
|
# and metric object as value.
|
27
32
|
# @example
|
28
|
-
# Fb::User.new('token').pages.
|
33
|
+
# page = Fb::User.new('token').pages.first
|
34
|
+
# page.insights(options)
|
29
35
|
# => {"page_fan_adds_unique"=>#<Fb::Metric:0x123abc
|
30
36
|
# @name="page_fans", @description="Weekly: The
|
31
37
|
# number of new people who have liked your Page (Unique Users)",
|
32
38
|
# @value=123>,..}
|
33
|
-
def insights
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
params: insights_params).run
|
38
|
-
response_body["data"].map do |metric_data|
|
39
|
-
[metric_data["name"], Fb::Metric.new(metric_data)]
|
40
|
-
end.to_h
|
41
|
-
end
|
39
|
+
def insights(options = {})
|
40
|
+
fetch_insights(options)["data"].map do |metric_data|
|
41
|
+
[metric_data["name"], Fb::Metric.new(metric_data)]
|
42
|
+
end.to_h
|
42
43
|
end
|
43
44
|
|
44
45
|
# @return [String] the representation of the page.
|
@@ -48,15 +49,16 @@ module Fb
|
|
48
49
|
|
49
50
|
private
|
50
51
|
|
51
|
-
def
|
52
|
-
|
53
|
-
|
54
|
-
params[:until] = Date.parse(params[:since]) + 1
|
55
|
-
params[:period] = :week
|
56
|
-
params[:metric] = 'page_views_total,page_fan_adds_unique,
|
57
|
-
page_engaged_users,page_video_views'
|
58
|
-
params[:access_token] = @user.send(:access_token)
|
52
|
+
def fetch_insights(options)
|
53
|
+
unless options[:metric]
|
54
|
+
raise Fb::Error, 'Missing required parameter: metric'
|
59
55
|
end
|
56
|
+
insights_params = options.merge(metric: options[:metric].join(","),
|
57
|
+
access_token: @user.send(:access_token))
|
58
|
+
Fb::Request.new(
|
59
|
+
path: "/v2.9/#{@id}/insights",
|
60
|
+
params: insights_params
|
61
|
+
).run
|
60
62
|
end
|
61
63
|
end
|
62
64
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fb-auth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Dao
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-07-
|
12
|
+
date: 2017-07-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|