datarank 1.3.0 → 1.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ab1f0abb9f249d20f50fad6be8f4c2cb7ec60d39
4
- data.tar.gz: 4a7a8cfef904a0c662db134946bc5804403fdaa8
3
+ metadata.gz: 33bf78620e65947c753e631edfa8a8a29f47b31c
4
+ data.tar.gz: 191b602cf612213a474815fd20012746bce61d23
5
5
  SHA512:
6
- metadata.gz: 9248245439cc0e1a246a9d2fb084f5ad32913730dc6a3cda7a64596e237adc7ae61f807ce0bc9d69abe1d1cc6e555a166229f4965b51416df915626b1c4b6839
7
- data.tar.gz: 0eebfc8ad51d9b6d2d16c5d77b942eccfeb57e01e33c42122627f18d451c5ce5ccf86d64cb1f36c4d2203b08d2081d3d648f0e0191d40130061298f1aa6fa2fb
6
+ metadata.gz: 57d914a37c6d2f8c6c2be4b9fa105f4991c66af53935ce8f4e491993c725cb337fad04dc938916aad5ac9bbd163347d460f56a9f62eb2ed60e9c994b7aff76c4
7
+ data.tar.gz: 972a41dd93cf315e5927cfbab511c1097f2134fee5dc913c7c205192669150483297d5bb76799b13b560340ae6714c9162b9ea79133205f58fb88e4e3fea6580
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- datarank (1.2.0)
4
+ datarank (1.3.0)
5
5
  hashie (>= 1.2.0)
6
6
  httparty (>= 0.8.3)
7
7
  json (>= 1.8.2)
@@ -39,12 +39,12 @@ GEM
39
39
  guard-yard (2.1.4)
40
40
  guard (>= 1.1.0)
41
41
  yard (>= 0.7.0)
42
- hashie (3.4.0)
42
+ hashie (3.4.2)
43
43
  hitimes (1.2.2)
44
- httparty (0.13.3)
44
+ httparty (0.13.5)
45
45
  json (~> 1.8)
46
46
  multi_xml (>= 0.5.2)
47
- json (1.8.2)
47
+ json (1.8.3)
48
48
  listen (2.9.0)
49
49
  celluloid (>= 0.15.2)
50
50
  rb-fsevent (>= 0.9.3)
@@ -112,3 +112,6 @@ DEPENDENCIES
112
112
  vcr (~> 2.9.0)
113
113
  webmock (>= 1.18.0)
114
114
  yard
115
+
116
+ BUNDLED WITH
117
+ 1.10.5
@@ -6,7 +6,7 @@ require 'datarank/version'
6
6
  Gem::Specification.new do |gem|
7
7
  gem.name = "datarank"
8
8
  gem.version = Datarank::Version.to_s
9
- gem.authors = ["Addam Hardy"]
9
+ gem.authors = ["Addam Hardy","Evan Sitzes"]
10
10
  gem.email = ["addam@datarank.com"]
11
11
  gem.description = "Ruby Wrapper for the DataRank REST API"
12
12
  gem.summary = [""]
@@ -23,4 +23,4 @@ Gem::Specification.new do |gem|
23
23
  gem.add_dependency "multi_json", ">= 1.3.4"
24
24
  gem.add_dependency "hashie", ">= 1.2.0"
25
25
  gem.add_dependency "json", ">= 1.8.2"
26
- end
26
+ end
@@ -7,6 +7,8 @@ require 'securerandom'
7
7
  require "datarank/comments"
8
8
  require "datarank/datasources"
9
9
  require "datarank/fizzle"
10
+ require "datarank/interaction"
11
+ require "datarank/likes"
10
12
  require "datarank/live"
11
13
  require "datarank/locations"
12
14
  require "datarank/reach"
@@ -17,6 +19,8 @@ require "datarank/topics"
17
19
  require "datarank/volume"
18
20
  require "datarank/wordcloud"
19
21
  require "datarank/search"
22
+ require "datarank/social_stats"
23
+
20
24
 
21
25
  module Datarank
22
26
  class Client
@@ -26,6 +30,8 @@ module Datarank
26
30
  include Datarank::Client::Comments
27
31
  include Datarank::Client::Datasources
28
32
  include Datarank::Client::Fizzle
33
+ include Datarank::Client::Interaction
34
+ include Datarank::Client::Likes
29
35
  include Datarank::Client::Live
30
36
  include Datarank::Client::Locations
31
37
  include Datarank::Client::Reach
@@ -35,6 +41,8 @@ module Datarank
35
41
  include Datarank::Client::Volume
36
42
  include Datarank::Client::Wordcloud
37
43
  include Datarank::Client::Search
44
+ include Datarank::Client::SocialStats
45
+
38
46
 
39
47
 
40
48
  BASE_URI = 'https://api.datarank.com'
@@ -13,6 +13,13 @@ module Datarank
13
13
  get "/topics/#{slug}/comments", options
14
14
  end
15
15
 
16
+ # Query interface for top 20 comments correlated to a topic by datarank score
17
+ #
18
+ # @param slug [String] A topic's unique identifier slug
19
+ def comments_top(slug, options={})
20
+ get "/topics/#{slug}/comments/top", options
21
+ end
22
+
16
23
  end
17
24
 
18
25
  end
@@ -0,0 +1,45 @@
1
+ module Datarank
2
+ class Client
3
+
4
+ # Module containing methods for interacting with a topic's interaction data
5
+ module Interaction
6
+
7
+ # Fetch interaction for a topic grouped by a time interval
8
+ #
9
+ # @param slug [String] A topic's unique identifier slug
10
+ def interaction_secondly(slug, options={})
11
+ get "/topics/#{slug}/interaction/secondly", options
12
+ end
13
+
14
+ def interaction_minutely(slug, options={})
15
+ get "/topics/#{slug}/interaction/minutely", options
16
+ end
17
+
18
+ def interaction_hourly(slug, options={})
19
+ get "/topics/#{slug}/interaction/hourly", options
20
+ end
21
+
22
+ def interaction_daily(slug, options={})
23
+ get "/topics/#{slug}/interaction/daily", options
24
+ end
25
+
26
+ def interaction_weekly(slug, options={})
27
+ get "/topics/#{slug}/interaction/weekly", options
28
+ end
29
+
30
+ def interaction_monthly(slug, options={})
31
+ get "/topics/#{slug}/interaction/monthly", options
32
+ end
33
+
34
+ def interaction_quarterly(slug, options={})
35
+ get "/topics/#{slug}/interaction/quarterly", options
36
+ end
37
+
38
+ def interaction_yearly(slug, options={})
39
+ get "/topics/#{slug}/interaction/yearly", options
40
+ end
41
+
42
+ end
43
+
44
+ end
45
+ end
@@ -0,0 +1,45 @@
1
+ module Datarank
2
+ class Client
3
+
4
+ # Module containing methods for interacting with a topic's likes data
5
+ module Likes
6
+
7
+ # Fetch likes for a topic grouped by a time interval
8
+ #
9
+ # @param slug [String] A topic's unique identifier slug
10
+ def likes_secondly(slug, options={})
11
+ get "/topics/#{slug}/likes/secondly", options
12
+ end
13
+
14
+ def likes_minutely(slug, options={})
15
+ get "/topics/#{slug}/likes/minutely", options
16
+ end
17
+
18
+ def likes_hourly(slug, options={})
19
+ get "/topics/#{slug}/likes/hourly", options
20
+ end
21
+
22
+ def likes_daily(slug, options={})
23
+ get "/topics/#{slug}/likes/daily", options
24
+ end
25
+
26
+ def likes_weekly(slug, options={})
27
+ get "/topics/#{slug}/likes/weekly", options
28
+ end
29
+
30
+ def likes_monthly(slug, options={})
31
+ get "/topics/#{slug}/likes/monthly", options
32
+ end
33
+
34
+ def likes_quarterly(slug, options={})
35
+ get "/topics/#{slug}/likes/quarterly", options
36
+ end
37
+
38
+ def likes_yearly(slug, options={})
39
+ get "/topics/#{slug}/likes/yearly", options
40
+ end
41
+
42
+ end
43
+
44
+ end
45
+ end
@@ -4,18 +4,25 @@ module Datarank
4
4
  # Module containing methods for interacting with geocoded data
5
5
  module Locations
6
6
 
7
- # Fetch geocoded comments for a topic
7
+ # Fetch location pins for a topic
8
8
  #
9
9
  # @param slug [String] A topic's unique identifier slug
10
- def locations(slug, options={})
10
+ def location_pins(slug, options={})
11
11
  get "/topics/#{slug}/location/pins", options
12
12
  end
13
13
 
14
- # Fetch average sentiment for topic broken down into provinces with counts
14
+ # Fetch location provinces data for a topic
15
15
  #
16
16
  # @param slug [String] A topic's unique identifier slug
17
- def location_sentiment(slug, options={})
18
- get "/topics/#{slug}/location/sentiment", options
17
+ def location_provinces(slug, options={})
18
+ get "/topics/#{slug}/location/provinces", options
19
+ end
20
+
21
+ # Fetch location heatmap data for a topic
22
+ #
23
+ # @param slug [String] A topic's unique identifier slug
24
+ def location_heatmap(slug, options={})
25
+ get "/topics/#{slug}/location/heatmap", options
19
26
  end
20
27
 
21
28
  end
@@ -4,14 +4,42 @@ module Datarank
4
4
  # Module containing methods for interacting with a topic's reach data
5
5
  module Reach
6
6
 
7
- # Fetch reach counts for topic by day
7
+ # Fetch reach for a topic grouped by a time interval
8
8
  #
9
9
  # @param slug [String] A topic's unique identifier slug
10
+ def reach_secondly(slug, options={})
11
+ get "/topics/#{slug}/reach/secondly", options
12
+ end
13
+
14
+ def reach_minutely(slug, options={})
15
+ get "/topics/#{slug}/reach/minutely", options
16
+ end
17
+
18
+ def reach_hourly(slug, options={})
19
+ get "/topics/#{slug}/reach/hourly", options
20
+ end
21
+
10
22
  def reach_daily(slug, options={})
11
23
  get "/topics/#{slug}/reach/daily", options
12
24
  end
13
25
 
14
- end
26
+ def reach_weekly(slug, options={})
27
+ get "/topics/#{slug}/reach/weekly", options
28
+ end
15
29
 
30
+ def reach_monthly(slug, options={})
31
+ get "/topics/#{slug}/reach/monthly", options
32
+ end
33
+
34
+ def reach_quarterly(slug, options={})
35
+ get "/topics/#{slug}/reach/quarterly", options
36
+ end
37
+
38
+ def reach_yearly(slug, options={})
39
+ get "/topics/#{slug}/reach/yearly", options
40
+ end
41
+
42
+ end
43
+
16
44
  end
17
45
  end
@@ -4,14 +4,42 @@ module Datarank
4
4
  # Module containing methods for interacting with a topic's sentiment data
5
5
  module Sentiment
6
6
 
7
- # Fetch sentiment for a topic grouped by day
7
+ # Fetch sentiment for a topic grouped by a time interval
8
8
  #
9
9
  # @param slug [String] A topic's unique identifier slug
10
+ def sentiment_secondly(slug, options={})
11
+ get "/topics/#{slug}/sentiment/secondly", options
12
+ end
13
+
14
+ def sentiment_minutely(slug, options={})
15
+ get "/topics/#{slug}/sentiment/minutely", options
16
+ end
17
+
18
+ def sentiment_hourly(slug, options={})
19
+ get "/topics/#{slug}/sentiment/hourly", options
20
+ end
21
+
10
22
  def sentiment_daily(slug, options={})
11
23
  get "/topics/#{slug}/sentiment/daily", options
12
24
  end
13
25
 
14
- end
26
+ def sentiment_weekly(slug, options={})
27
+ get "/topics/#{slug}/sentiment/weekly", options
28
+ end
15
29
 
30
+ def sentiment_monthly(slug, options={})
31
+ get "/topics/#{slug}/sentiment/monthly", options
32
+ end
33
+
34
+ def sentiment_quarterly(slug, options={})
35
+ get "/topics/#{slug}/sentiment/quarterly", options
36
+ end
37
+
38
+ def sentiment_yearly(slug, options={})
39
+ get "/topics/#{slug}/sentiment/yearly", options
40
+ end
41
+
42
+ end
43
+
16
44
  end
17
45
  end
@@ -0,0 +1,17 @@
1
+ module Datarank
2
+ class Client
3
+
4
+ # Module containing methods for interacting with a topic's social stats
5
+ module SocialStats
6
+
7
+ # Fetch social stats correlated to a topic
8
+ #
9
+ # @param slug [String] A topic's unique identifier slug
10
+ def social_stats(slug, options={})
11
+ get "/topics/#{slug}/social/stats", options
12
+ end
13
+
14
+ end
15
+
16
+ end
17
+ end
@@ -7,23 +7,23 @@ module Datarank
7
7
  # Return themes assigned to a topic
8
8
  #
9
9
  # @param slug [String] A topic's unique identifier slug
10
- def themes slug
11
- get "/topics/#{slug}/themes"
10
+ def themes(slug, options={})
11
+ get "/topics/#{slug}/themes", options
12
12
  end
13
13
 
14
14
  # Return trend for a specific theme on a topic
15
15
  #
16
16
  # @param slug [String] A topic's unique identifier slug
17
17
  # @param theme_id [Integer] Unique ID of theme
18
- def themes_trend slug, theme_id
19
- get "/topics/#{slug}/themes/trend/#{theme_id}"
18
+ def themes_trend(slug, theme_id, options={})
19
+ get "/topics/#{slug}/themes/trend/#{theme_id}", options
20
20
  end
21
21
 
22
22
  # Return table for correlation between all themes on a topic
23
23
  #
24
24
  # @param slug [String] A topic's unique identifier slug
25
- def themes_correlation slug
26
- get "/topics/#{slug}/themes/correlation"
25
+ def themes_correlation(slug, options={})
26
+ get "/topics/#{slug}/themes/correlation", options
27
27
  end
28
28
 
29
29
  end
@@ -2,7 +2,7 @@ module Datarank
2
2
  # A class for managing Datarank's Version
3
3
  class Version
4
4
  MAJOR = 1
5
- MINOR = 3
5
+ MINOR = 4
6
6
  PATCH = 0
7
7
 
8
8
  class << self
@@ -4,13 +4,62 @@ module Datarank
4
4
  # Module containing methods for interacting with topics
5
5
  module Volume
6
6
 
7
- # Return volume for a topic grouped by day
8
- #
7
+ # Return volume for a topic grouped by a time interval
8
+ #
9
9
  # @param slug [String] A topic's unique identifier slug
10
+ def volume_secondly(slug, options={})
11
+ get "/topics/#{slug}/volume/secondly", options
12
+ end
13
+
14
+ def volume_minutely(slug, options={})
15
+ get "/topics/#{slug}/volume/minutely", options
16
+ end
17
+
18
+ def volume_hourly(slug, options={})
19
+ get "/topics/#{slug}/volume/hourly", options
20
+ end
21
+
10
22
  def volume_daily(slug, options={})
11
23
  get "/topics/#{slug}/volume/daily", options
12
24
  end
13
25
 
26
+ def volume_weekly(slug, options={})
27
+ get "/topics/#{slug}/volume/weekly", options
28
+ end
29
+
30
+ def volume_monthly(slug, options={})
31
+ get "/topics/#{slug}/volume/monthly", options
32
+ end
33
+
34
+ def volume_quarterly(slug, options={})
35
+ get "/topics/#{slug}/volume/quarterly", options
36
+ end
37
+
38
+ def volume_yearly(slug, options={})
39
+ get "/topics/#{slug}/volume/yearly", options
40
+ end
41
+
42
+ # Return hourly average volume for a topic
43
+ #
44
+ # @param slug [String] A topic's unique identifier slug
45
+ def volume_hourly_average(slug, options={})
46
+ get "/topics/#{slug}/volume/hourly/average", options
47
+ end
48
+
49
+ # Return day-of-week volume for a topic
50
+ #
51
+ # @param slug [String] A topic's unique identifier slug
52
+ def volume_weekday(slug, options={})
53
+ get "/topics/#{slug}/volume/weekday", options
54
+ end
55
+
56
+ # Return hourly day-of-week heatmap information for a topic
57
+ #
58
+ # @param slug [String] A topic's unique identifier slug
59
+ def volume_weekday_heatmap_hourly(slug, options={})
60
+ get "/topics/#{slug}/volume/weekday/heatmap/hourly", options
61
+ end
62
+
14
63
  end
15
64
 
16
65
  end
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: datarank
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Addam Hardy
8
+ - Evan Sitzes
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2015-05-22 00:00:00.000000000 Z
12
+ date: 2015-09-08 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: rake
@@ -103,12 +104,15 @@ files:
103
104
  - lib/datarank/comments.rb
104
105
  - lib/datarank/datasources.rb
105
106
  - lib/datarank/fizzle.rb
107
+ - lib/datarank/interaction.rb
108
+ - lib/datarank/likes.rb
106
109
  - lib/datarank/live.rb
107
110
  - lib/datarank/locations.rb
108
111
  - lib/datarank/reach.rb
109
112
  - lib/datarank/retailers.rb
110
113
  - lib/datarank/search.rb
111
114
  - lib/datarank/sentiment.rb
115
+ - lib/datarank/social_stats.rb
112
116
  - lib/datarank/themes.rb
113
117
  - lib/datarank/topics.rb
114
118
  - lib/datarank/version.rb