datarank 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
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