social_media_monitoring 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
- # SocialMediaMonitoring
1
+ # Social Media Monitoring ruby gem
2
2
 
3
- SocialMediaMonitoring is a collection of API methods of the Apphera API. At this time it offers sentiment analysis and keyword tracking for Google search rankings.
3
+ SocialMediaMonitoring is a collection of API methods of the Apphera API (Apphera, Inc.). At this time it offers sentiment analysis in 6 languages, keyword tracking (SERP), competitor search and review tracking from social review sites such as Qype, Yelp, Pointoo, kennstdueinen.de, tripadvisor, golocal, hotels.com, meinestadt.de, restaurant-kritik.de, wowarstdu.de etc. including reviewer information.
4
+
5
+
4
6
  The API is currently in BETA. I will add more methods and documentation soon.
5
7
  ## Installation
6
8
 
@@ -18,7 +20,35 @@ Or install it yourself as:
18
20
 
19
21
  ## Basic usage
20
22
 
21
- Sentiment Analysis
23
+ ### Review tracking & Venues/Organizations (In BETA, GERMANY ONLY!)
24
+
25
+ require 'social_media_monitoring'
26
+
27
+ client = SocialMediaMonitoring::Client.new("987634f072b7c51db349bda9fd5cd6da")
28
+
29
+
30
+ To receive reviews pass in the company id (from competitor search or organization search) as parameter and the id of the last review you already have received. Alternatively you can pass in 0 to receive all available reviews.
31
+
32
+ company_id = 1234
33
+ reviews = client.reviews(1234,38644)
34
+
35
+ `=> Returns mash of available social media reviews (Qype, Yelp, Pointoo, kennstdueinen.de, tripadvisor, golocal, hotels.com, meinestadt.de, restaurant-kritik.de, wowarstdu.de etc.)`
36
+
37
+ #### To find organizations:
38
+
39
+ organizations = client.organizations(name, postalcode, country_code)
40
+ `=> Returns mash of organizations`
41
+
42
+ If the search does not return the organization, you can create a new record on the system which will be analyzed and then queued for processing. Germany should have already more than 85% coverage and thousands of venues are added daily.
43
+
44
+ temporary disabled - filter rewrite & improving vetting process of data
45
+ client.create_organization(name, street1,street2, state, postalcode, city, latitude, longitude, phone, url, facebook_page, category_id, twitter)
46
+
47
+ `=> returns confirmation`
48
+
49
+ ****
50
+
51
+ ### Sentiment Analysis
22
52
 
23
53
  require 'social_media_monitoring'
24
54
 
@@ -38,7 +68,7 @@ sentiment.response.polarity
38
68
  sentiment.response.sentiment
39
69
  => 0.325
40
70
 
41
- At this time the API supports the following languages:
71
+ At this time the API supports the following languages:
42
72
  * English (en)
43
73
  * German (de)
44
74
  * Italian (it)
@@ -46,10 +76,12 @@ At this time the API supports the following languages:
46
76
  * French (fr)
47
77
  * Turkish (tr)
48
78
 
49
- Keyword tracking
79
+ ****
50
80
 
51
- require 'social_media_monitoring'
52
- `client = SocialMediaMonitoring::Client.new("987634f072b7c51db349bda9fd5cd6da")`
81
+ ### Keyword tracking
82
+
83
+ require 'social_media_monitoring'
84
+ client = SocialMediaMonitoring::Client.new("987634f072b7c51db349bda9fd5cd6da")
53
85
 
54
86
  `=> #<SocialMediaMonitoring::Client:0x007fa19422d390 @api_key="987634f072b7c51db349bda9fd5cd6da", @api_path="">`
55
87
 
@@ -71,26 +103,36 @@ The search results are paginated
71
103
 
72
104
  You can get a free API key at https://developer.apphera.com
73
105
 
74
- Competitor search (In BETA, GERMANY ONLY!)
106
+ ****
107
+
108
+ ### Competitor search (In BETA, GERMANY ONLY!)
75
109
 
76
110
  To perform a competitor search you need to pass in the category id and the geo location as a string build from latitude and longitude.
77
- You can retrieve a complete list of German category by sending a query to the API.
111
+ You can retrieve a complete list of German category by sending a query to the API.
112
+
78
113
  categories = client.categories("de")
79
114
  `=> Returns a mash of categories`
80
115
 
81
116
  Example:
82
117
  category_id = 135
83
- geo = "53.66,10.1154"
118
+ geo = "53.66,10.1154"
84
119
 
85
120
  response = client.competitors(category_id, geo)
86
121
 
87
- It returns a mash of companies in a radius of up to 20 miles who are competing in the same category of business. The results during the beta are limited to 20 companies per query.
122
+ It returns a mash of companies in a radius of up to 20 miles who are competing in the same category (i.e. "dentist" or "hotel"). The results during the beta are limited to 20 companies per query. All results are ordered by distance from the geo point in miles (km = miles * 1.60934).
123
+
124
+
88
125
 
126
+ ********
89
127
 
90
128
 
91
129
  KNOWN ISSUE:
92
130
  In case you get a `"NoMethodError: undefined method `stringify_keys' for #<HTTParty::Response:0x007fa9231ab1b0>"`
93
- - It's telling you that the api key is invalid and therefore can't handle the server response. Please get a valid api key.
131
+ - It's telling you that the api key is invalid and therefore can't handle the server response. You can get a valid test key at [https://developer.apphera.com](https://developer.apphera.com/) .
132
+ UPDATE: It's "hotfixed" now by wrapping the calls in a rescue block and returning a clear error message.
133
+
134
+
135
+
94
136
 
95
137
  Frequent question
96
138
  What is a Mesh?
@@ -5,7 +5,7 @@ module SocialMediaMonitoring
5
5
  format :json
6
6
 
7
7
  attr_reader :api_key
8
- #curl -G -d "&api_key=638955fa280854f29a8b42b54cb1625e&country=de&cat_id=135&geo=53.66,10.1154" https://api.apphera.com/1/organizations
8
+ #curl -G -d -is "&api_key=ed08eba2bd5ef47bab6cb1944686fed2&country=de&cat_id=135&geo=53.66,10.1154" https://api.apphera.com/1/organizations
9
9
  # Get a free api_key @ https://developer.apphera.com
10
10
  def initialize(api_key=nil)
11
11
  @api_key = api_key
@@ -14,34 +14,70 @@ module SocialMediaMonitoring
14
14
 
15
15
  end
16
16
  def categories(country)
17
+ begin
17
18
  results = Mash.new(self.class.get('/categories', :query => {:country => country}.merge(self.default_options)))
19
+ rescue => e
20
+ key_error e
21
+ end
18
22
  end
19
23
 
20
24
 
21
25
  def keywords
26
+ begin
22
27
  results = Mash.new(self.class.get('/keywords', :query => self.default_options))
28
+ rescue => e
29
+ key_error e
30
+ end
23
31
  end
24
32
 
25
33
  def create_keyword(keyword)
26
34
  options = {:body => {:keyword => keyword}, :query => self.default_options}
35
+ begin
27
36
  results = Mash.new(self.class.post('/keywords/create', options))
37
+ rescue => e
38
+ key_error e
39
+ end
28
40
  end
29
41
 
30
42
  def show_keyword(id)
31
43
  options = {:query => self.default_options}
44
+ begin
32
45
  results = Mash.new(self.class.get("/keywords/#{id}", options))
46
+ rescue => e
47
+ key_error e
48
+ end
33
49
  end
34
50
 
35
51
  def sentiment(body, lang)
36
52
  options = {:body => {:body => body, :lang => lang}, :query => self.default_options}
53
+ begin
37
54
  results = Mash.new(self.class.post('/sentiments', options))
55
+ rescue => e
56
+ key_error e
57
+ end
38
58
  end
39
59
 
40
60
  def competitors(cat_id, geo)
41
61
  options = {:query => {:cat_id => cat_id, :geo => geo}.merge(self.default_options)}
42
- results = Mash.new(self.class.get("/organizations", options))
62
+ begin
63
+ results = Mash.new(self.class.get("/organizations", options))
64
+ rescue => e
65
+ key_error e
66
+
67
+ end
43
68
  end
44
69
 
70
+ def reviews(organization_id, review_id=0)
71
+ options = {:query => {:organization_id => organization_id, :review_id => review_id}.merge(self.default_options)}
72
+ begin
73
+ results = Mash.new(self.class.get("/reviews", options))
74
+ rescue => e
75
+ key_error e
76
+ end
77
+ end
78
+ def key_error(mes)
79
+ "Invalid key or no Internet connection. Please obtain a free API key at https://developer.apphera.com or try one of the public keys from https://github.com/nikoma/social_media_monitoring, the complete error message is: #{mes}"
80
+ end
45
81
 
46
82
 
47
83
  protected
@@ -1,3 +1,3 @@
1
1
  module SocialMediaMonitoring
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -4,8 +4,8 @@ require File.expand_path('../lib/social_media_monitoring/version', __FILE__)
4
4
  Gem::Specification.new do |gem|
5
5
  gem.authors = ["Nikolai Manek"]
6
6
  gem.email = ["niko.manek@gmail.com"]
7
- gem.description = %q{Offers sentiment analysis,keyword tracking and geographic competitor search}
8
- gem.summary = %q{Keyword tracking, sentiment analysis, competitor search}
7
+ gem.description = %q{Offers sentiment analysis,keyword tracking, geographic competitor search and reviews from several review sites}
8
+ gem.summary = %q{Keyword tracking, sentiment analysis, competitor search, reviews}
9
9
  gem.homepage = "https://github.com/nikoma/social_media_monitoring"
10
10
 
11
11
  gem.files = `git ls-files`.split($\)
@@ -60,4 +60,18 @@ class VCRTest < Test::Unit::TestCase
60
60
  assert_equal 282, response.to_i
61
61
  end
62
62
  end
63
+ def test_reviews_de
64
+ VCR.use_cassette('reviews_de') do
65
+ organization_id = 282
66
+ response = $client.reviews(organization_id,0).response.first.id
67
+ assert_equal 5938, response.to_i
68
+ end
69
+ end
70
+ def test_wrong_key
71
+ VCR.use_cassette('wrong_key') do
72
+ client = SocialMediaMonitoring::Client.new("wrong_key_3423423423khkjhk3")
73
+ response = client.reviews(282,0)
74
+ assert_match /Please obtain/, response
75
+ end
76
+ end
63
77
  end
@@ -0,0 +1,279 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.apphera.com/1/reviews?api_key=63ad4581c8746c06b511b3fe50f4ace5&organization_id=282&review_id=0
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 200
13
+ message: OK
14
+ headers:
15
+ Server:
16
+ - nginx/1.2.1
17
+ Date:
18
+ - Fri, 03 Aug 2012 22:46:45 GMT
19
+ Content-Type:
20
+ - application/json; charset=utf-8
21
+ Content-Length:
22
+ - '23527'
23
+ Connection:
24
+ - keep-alive
25
+ Status:
26
+ - 200 OK
27
+ X-Ua-Compatible:
28
+ - IE=Edge,chrome=1
29
+ Etag:
30
+ - ! '"34359fb0bb5339f7f217d331f9a596a1"'
31
+ Cache-Control:
32
+ - max-age=0, private, must-revalidate
33
+ X-Request-Id:
34
+ - 0634c64d3fe7cdfb14ae71c0b98ecf51
35
+ X-Runtime:
36
+ - '0.371968'
37
+ X-Rack-Cache:
38
+ - miss
39
+ body:
40
+ encoding: UTF-8
41
+ string: ! '{"response":[{"id":5938,"organization_id":282,"reviewer":"trishh","reviewer_slug":"http://www.qype.com/people/trishh","reviewer_image":"http://assets2.qypecdn.net/uploads/users/0045/4303/n732605636_9452_original_thumb.jpg","body":"Ein
42
+ klassischer Chinese wie man ihn von fr\u00fcher kennt. Extrem kitschig eingerichtet.
43
+ Sehr lecker!","title":null,"review_date":"2012-04-29","rating":4.0,"content_provider":"Qype
44
+ Germany"},{"id":5939,"organization_id":282,"reviewer":"234NCM","reviewer_slug":"http://www.qype.com/people/234NCM","reviewer_image":"http://assets2.qypecdn.net/images/default_avatar/user_icon_64x64.png","body":"Wie
45
+ viele vor mir schrieben: Ich war im letzten Herbst mit einer Freundin das
46
+ erste Mal nach mindestens 25 Jahren da! K\u00f6nnt Ihr Euch wirklich nicht
47
+ mehr erinnern? Es hat sich NICHTS ver\u00e4ndert. Omi begr\u00fc\u00dft und
48
+ h\u00e4lt die Stammg\u00e4ste bei Laune. Sogar der \u201cLieblings-Drehtisch\u201d
49
+ \u2013 ein Highlight meiner Kindheit \u2013 ist noch da! Das Personal war
50
+ fr\u00fcher nicht anders \u2013 wie oft habe ich meine Gro\u00dfeltern noch
51
+ dar\u00fcber lamentieren h\u00f6ren. \u201cAaaaaber das Essen! Und die Portionen!!!
52
+ Toll!\u201d Dazu muss ich sagen, dass meine Gro\u00dfeltern nie bei einem
53
+ \u201cechten\u201d Chinesen essen waren, das h\u00e4tte ihnen auch niemals
54
+ gemundet. Au\u00dferdem sind sie niemals ins Shin-Shin gefahren, sondern zu
55
+ \u201cHein ten Hoff\u201d. Nach dem Auftakt im Herbst habe ich nun mit meinen
56
+ Kindern zwei Besuche hinter mir: Es war f\u00fcr sie der Hammer! Das Essen
57
+ egal. Die Jungs haben auf einen Action-Auftritt gem\u00e4\u00df \u201cLethal
58
+ Weapon 4\u201d gewartet: Gleich springt ein Mitb\u00fcrger asiatischer Herkunft
59
+ durch\u2019s Fenster und haut in Karate-Manier alles kurz und klein (das darf
60
+ ich schreiben, habe selbst \u2026-Hintergrund). Alles war f\u00fcr die drei
61
+ ein Erlebnis: Die muffigen, hei\u00dfen Waschlappen, die Plastikblumen auf
62
+ dem Essen, Weihnachtsdekoration in schr\u00e4gen Farben noch weit im Januar,
63
+ die Waschr\u00e4ume \u2026 und die Musik in den Waschr\u00e4umen \u2026 (\u00fcbrigens
64
+ waren die Waschr\u00e4ume im Gegensatz zu Tischw\u00e4sche, Besteck und Tellern
65
+ sehr sauber.)!Das Shin-Shin ist Kult, aber chinesisches Essen bekommen wir
66
+ in anderen Restaurants \u2026 Dank Glutamat hatten wir noch Stunden sp\u00e4ter
67
+ mit prallvollen M\u00e4gen Appetit auf Sojasauce!Wer es (wieder) testen m\u00f6chte:
68
+ Geht zum Mittagstisch, da sind die Preise moderat und man muss nicht reservieren.
69
+ Es ist einfach schr\u00e4g! Die Sterne gibt es f\u00fcr den Kult-Faktor!","title":null,"review_date":"2012-03-10","rating":3.0,"content_provider":"Qype
70
+ Germany"},{"id":5940,"organization_id":282,"reviewer":"MizzEllie","reviewer_slug":"http://www.qype.com/people/MizzEllie","reviewer_image":"http://assets2.qypecdn.net/images/default_avatar/user_icon_64x64.png","body":"Besuch
71
+ zu Viert am Freitag, 10.02.2012\u2026 und ich war sehr skeptisch auf Grund
72
+ der hier zu lesenden Bewertungen der letzten Monate. Aber der Reihe nach.Freunde
73
+ hatten den Tisch reserviert, ich war gespannt, denn mein letzter Besuch im
74
+ Shin Shin lag mehr als 20 Jahre zur\u00fcck ;o) Der erste Eindruck beim betreten
75
+ des Restaurants war: hat sich in all den Jahren nicht wirklich ver\u00e4ndert.
76
+ Die Begr\u00fc\u00dfung war sehr nett, wir wurden an einen Tisch im hinteren
77
+ Bereich gef\u00fchrt. Die Chefin ging von Tisch zu Tisch um ihre G\u00e4ste
78
+ zu begr\u00fc\u00dfen, wie seit eh und je.Unsere Bedienung war freundlich,
79
+ aufmerksam und flott! Keine langen Wartezeiten, weder auf die Getr\u00e4nke
80
+ noch auf\u2019s Essen. Das Essen war super! Vorspeisen, Hauptgerichte und
81
+ Dessert tadellos, da gab es wirklich \u00fcberhaupt nix zu kritisieren. Da
82
+ k\u00f6nnen sich andere Chinarestaurants wirklich mal ein Beispiel dran nehmen.Zu
83
+ den Preisen: 4 Vorspeisen, 4 Hauptgerichte, 1 Dessert, 1 gr. Fl. Wasser, 6
84
+ Bier f\u00fcr um die 100 Euro finden wir angemessen. Wir geben lieber n paar
85
+ Euro mehr aus und haben Qualit\u00e4t, aber auch das ist ja immer Ansichtssache.Alles
86
+ in allem hatten wir einen wirklich tollen Abend und kommen bestimmt mal wieder,
87
+ und das nicht erst in 20 Jahren ;o)","title":null,"review_date":"2012-02-13","rating":5.0,"content_provider":"Qype
88
+ Germany"},{"id":5941,"organization_id":282,"reviewer":"steaknfries","reviewer_slug":"http://www.qype.com/people/steaknfries","reviewer_image":"http://assets0.qypecdn.net/uploads/users/0106/6330/steak2_original_thumb.JPG","body":"Neben
89
+ dem guten Essen, wurden wir sehr freundlich und unaufdringlich bedient. Mir
90
+ hat es gefallen, ich habe aber auch den Pseudokult um das Restaurant samt
91
+ Promifotogalerie ignoriert und mich nur dem Essen hingegeben. Lecker, knusprig
92
+ und unerwartet. Gut.","title":null,"review_date":"2012-01-14","rating":5.0,"content_provider":"Qype
93
+ Germany"},{"id":5942,"organization_id":282,"reviewer":"ha_es","reviewer_slug":"http://www.qype.com/people/ha_es","reviewer_image":"http://assets2.qypecdn.net/images/default_avatar/user_icon_64x64.png","body":"Wir
94
+ sind nach l\u00e4ngerer Zeit mal wieder mit einer gr\u00f6\u00dferen Gruppe
95
+ (zu acht) da gewesen. Nach dem Lesen der letzten Bewertungen war ich etwas
96
+ in Sorge, aber zu unrecht.Wir hatten leckere Vorspeisen, insbes. die Dim Sums
97
+ waren prima. Und auch bei den Hauptgerichten gab es keinen richtigen Ausfall.
98
+ Lediglich ein Fischgericht hat nicht so den Geschmack der Bestellerin gefunden,
99
+ und auch die anderen fanden es nicht allzu lecker. Aber die anderen Gerichte
100
+ waren wirklich gut: die Entengerichte waren sch\u00f6n kross gebacken mit
101
+ leckerer Sauce, Huhn s\u00fc\u00df-sauer war gut, Rind mit Zwiebeln und was
102
+ wir noch so hatten war auch alles im oberen Bereich und das Geld wert.Auch
103
+ mit dem Service waren wir zufrieden. Wir sa\u00dfen zwar im hinteren Bereich,
104
+ aber trotzdem kam regelm\u00e4\u00dfig jemand in Sichtweite, um zu gucken,
105
+ ob alles passt. Auch Sonderw\u00fcnsche wurden schnell erf\u00fcllt.Es war
106
+ ein wirklich netter Abend. Trotz der tlw. recht hohen Preise ist mir das Shin
107
+ Shin nach wie vor eine Empfehlung wert.","title":null,"review_date":"2012-01-11","rating":4.0,"content_provider":"Qype
108
+ Germany"},{"id":5943,"organization_id":282,"reviewer":"Tintenfis...","reviewer_slug":"http://www.qype.com/people/Tintenfischchen","reviewer_image":"http://assets0.qypecdn.net/uploads/users/0177/7912/shot_1317904948658_original_thumb.jpg","body":"Ich
109
+ kann den Hype um diesen Chinesen \u00fcberhaupt nicht nachvollziehen. Auf
110
+ Grund der Schw\u00e4rmerei von meinen Kindern habe ich mich \u00fcberreden
111
+ lassen hier ein mal Essen zu gehen. Wir waren gar nicht begeistert!Die Kellner
112
+ waren wirklch \u00fcberfordert (vielleicht zu wenig Personal?) Die ganze Bedienung
113
+ wirkte abgehetzt. Unsere Getr\u00e4nkebestellung wurde dann auch noch glatt
114
+ vergessen. Auch das Essen wirkte leider nicht sehr frisch. Habe die Vermutung
115
+ das hier viel auf Vorrat gekocht wird! Das schmeckt man leider!","title":null,"review_date":"2011-12-29","rating":2.0,"content_provider":"Qype
116
+ Germany"},{"id":5944,"organization_id":282,"reviewer":"blexau","reviewer_slug":"http://www.qype.com/people/blexau","reviewer_image":"http://assets2.qypecdn.net/images/default_avatar/user_icon_64x64.png","body":"Essen
117
+ im Shin-shin \u2014 25.12.11 12:00 Uhr.Ho, Ho, was ist mit Shin-shin los\u2026..??Einmal
118
+ im Jahr zur Weihnachtszeit bin ich mit meiner Familie im Shin-shin und ich
119
+ mu\u00df euch sagen, es wird immer schlechter\u2026.. Die Bedienung unfreundlich
120
+ und \u00fcberfordert! Wir haben lange auf die Getr\u00e4nke gewartet und die
121
+ Vorspeise und dann mu\u00dfte es ganz schnell gehen, weil der Tisch um 14:00
122
+ Uhr reserviert war\u2026Schreckliich Stressig oder\u2026. !!!?Das Essen wurde
123
+ hingefeuert schnell, schnell\u2026.. Meiner Frau aufs Kleid gekleckert, keine
124
+ Reaktion von der Bedienung, noch sonstigen Personal???Ihr wurde ein Lappen
125
+ hingeworfen, das war es dann\u2026!!!Nun zum Essen\u2026. es ist schon der
126
+ Hammer was dort serviert wird, ich hatte Rindfleisch mit Curry, mein Sohn
127
+ Huhn mit Curry, meine Frau \u201cgebratene Garnelen\u201d mit der gleichen
128
+ Currysauce, wie wir alle\u2026\u2026die \u201cGebratenen Garnelen\u201d waren
129
+ auch nicht gebraten,(vielleicht mal viele Stunden vorher) sie wurden in der \u201cCurry
130
+ Einheitssauce\u201d gekocht. Das geht gar nicht und das f\u00fcr den Preis
131
+ \u2026.!!!!!Meine Eltern schw\u00f6ren auf den Laden seit vielen Jahren\u2026\u2026.F\u00fcr
132
+ uns war es der letzte Besuch im Shin-shin und nun m\u00fcssen wir meine Eltern
133
+ \u00fcberreden uns zu folgen. Das wird schwer\u2026..!!!!","title":null,"review_date":"2011-12-26","rating":1.0,"content_provider":"Qype
134
+ Germany"},{"id":5945,"organization_id":282,"reviewer":"alfaromeo166","reviewer_slug":"http://www.qype.com/people/alfaromeo166","reviewer_image":"http://assets2.qypecdn.net/images/default_avatar/user_icon_64x64.png","body":"Ich
135
+ war seit Jahren nicht mehr da,alle meine Freunde gehen immer wieder hin!und
136
+ sagen das es der Hammer ist.Nun war ich auch mal wieder da,und ich muss sagen leider
137
+ leider sehr Entt\u00e4uschend Essen naja Personal Pampig bis Frech und \u00fcber
138
+ die Preise wollen wir erst nicht Reden.F\u00fcr ist oder (war) das Jazmin
139
+ in Volksdorf immer das beste China Restaurant in Hamburg,aber nun ist es leider
140
+ Geschlossen!!!","title":null,"review_date":"2011-11-14","rating":1.0,"content_provider":"Qype
141
+ Germany"},{"id":5946,"organization_id":282,"reviewer":"Flashman4711","reviewer_slug":"http://www.qype.com/people/Flashman4711","reviewer_image":"http://assets2.qypecdn.net/images/default_avatar/user_icon_64x64.png","body":"Ich
142
+ komme seit Jahren immer mal wieder ins Shin Shin und finde es immer sehr angenehm
143
+ dort. Das Essen ist reichhaltig und lecker; der Service sehr zuvorkommend.Das
144
+ Ambiente rundet das ganze ab.\nDaf\u00fcr gebe ich dann gerne auch mal zwei
145
+ Euro mehr aus.","title":null,"review_date":"2011-09-06","rating":5.0,"content_provider":"Qype
146
+ Germany"},{"id":5947,"organization_id":282,"reviewer":"waterman","reviewer_slug":"http://www.qype.com/people/waterman","reviewer_image":"http://assets2.qypecdn.net/images/default_avatar/user_icon_64x64.png","body":"Wir
147
+ waren heute seit langer Zeit mal wieder hier. Sehr lecker, gute Bedienung
148
+ und viele Extras. Verglichen mit vielen anderen China-Restaurants ist das
149
+ Shin Shin eines der Besten.","title":null,"review_date":"2011-08-21","rating":5.0,"content_provider":"Qype
150
+ Germany"},{"id":5948,"organization_id":282,"reviewer":"gwionic","reviewer_slug":"http://www.qype.com/people/gwionic","reviewer_image":"http://assets0.qypecdn.net/uploads/users/0016/9347/thumb_original_thumb.jpg","body":"Das
151
+ Shin Shin muss fr\u00fcher mal ein richtig gutes Restaurant gewesen sein.
152
+ Das zeigen zumindets die Celebritys auf den Fotos. Auch das Interieur ist
153
+ nicht von schlechten Eltern. Hier findet man alles, was man von einem Chinesen
154
+ in Deutschland erwartet, vor allem viele Wassertiere.Leider ist der Besitzer
155
+ schon nicht mehr unter uns, und so hat sich hier klammheimlich das Mittelma\u00df
156
+ eingeschlichen. Die Speisen sind nicht mehr besonders gut. Leider.Aber sie
157
+ bem\u00fcen sich wirklich. Das merkt man, wenn man am Geburtstag Traumschiff-ad\u00e4quat
158
+ seine Wunderkerzen-Cocktails bekommt. Den Pflaumenschnaps gibts auch gratis
159
+ aufs Haus. Irgendwie nett.\n\n\n\tAber f\u00fcr gutes chinesisches Essen leider
160
+ nicht mehr die beste Adresse.","title":null,"review_date":"2011-06-13","rating":3.0,"content_provider":"Qype
161
+ Germany"},{"id":5949,"organization_id":282,"reviewer":"chef31","reviewer_slug":"http://www.qype.com/people/chef31","reviewer_image":"http://assets2.qypecdn.net/images/default_avatar/user_icon_64x64.png","body":"Gro\u00dfe
162
+ Auswahl, nette Bedienung. Bisher jedes mal lecker gewesen. Bester Chinese
163
+ im Norden. Wir kommen oft und gerne. Im Sommer auch draussen. Ente ist top
164
+ knusprig.","title":null,"review_date":"2011-05-11","rating":5.0,"content_provider":"Qype
165
+ Germany"},{"id":5950,"organization_id":282,"reviewer":"hardenthommy","reviewer_slug":"http://www.qype.com/people/hardenthommy","reviewer_image":"http://assets2.qypecdn.net/uploads/users/0077/9875/-319911440_original_thumb.jpg","body":"Gestern
166
+ waren wir seit langem mal wieder hier! Nach wie vor ist die Karte reichhaltig,
167
+ die Portionen gro\u00df und die Qualit\u00e4t \u00fcberw\u00e4ltigend! Ich
168
+ habe noch nie besser chinesisch gegessen als hier. Einzig der Service k\u00f6nnte
169
+ etwas an Freundlichkeit zulegen-das war schon mal besser...","title":null,"review_date":"2011-04-06","rating":4.0,"content_provider":"Qype
170
+ Germany"},{"id":5951,"organization_id":282,"reviewer":"Grashopper89","reviewer_slug":"http://www.qype.com/people/Grashopper89","reviewer_image":"http://assets2.qypecdn.net/images/default_avatar/user_icon_64x64.png","body":"Ich
171
+ war im Sommer mit Begleitung da. Ich wollte die Dame zu einem \"schicken Essen\"
172
+ ausf\u00fchren. Das hatte ich immer dort n\u00e4mlich in den Jahren zuvor
173
+ gehabt. Die Ente war immer 1A und sonst auch passte alles. Die ganzen Promifotos
174
+ bezeugten auch den Level - wie es mal fr\u00fcher war.\n\n\n\tDas Restaurant
175
+ war - in der Woche um 17:30 Uhr - halb fast leer dunkel. Der d\u00fcrre Kelner,
176
+ welcher uns beim reingehen sah, reagierte erst nach seeeehr langem Z\u00f6gern
177
+ und weiste uns mit einer eher unfreundlichen Geste einen Tisch zu.\n\n\n\tAm
178
+ nebentisch konnten wir pl\u00f6tzlich beobachten, wie kleine Fliegen \u00fcber
179
+ die Tischfl\u00e4che kreisten. Auf Anfrage meinte der Kelner, \"es w\u00e4re
180
+ nichts\". Er hat die Fliegen noch nicht einmal verscheucht. Er war pampig
181
+ und herablassend, sein Gesicht war leer - ohne Ausdruck - und in seinen Augen
182
+ konnte man eher unbehagen als Freude wahrnehmen. Das Mobiliar und Ausstattung
183
+ ist inzwischen alt und bedarf gr\u00fcndlicher Renovierung. Von den W\u00e4nden
184
+ f\u00e4llt hier und da Farbe ab.\n\n\n\tWir gingen sofort ohne zu bestellen.\n\n\n\tNIE
185
+ WIEDER. Die besten Tage von Shin Shin sind wohl endg\u00fcltig vorbei, wer
186
+ sich solche Bedienung ins Haus holt, der ist selbst schuld. Der \"Promibonus\"
187
+ wird die Leute inzwischen auch nicht mehr beeindrucken. Schlie\u00dflich stammen
188
+ die Fotos wohl noch aus den fr\u00fchen 90-gern oder sind gar \u00e4lter.\n\n\n\tDas
189
+ heutige Shin Shin verdient keinen einzigen Stern.","title":null,"review_date":"2011-01-06","rating":1.0,"content_provider":"Qype
190
+ Germany"},{"id":5952,"organization_id":282,"reviewer":"Eynsch","reviewer_slug":"http://www.qype.com/people/Eynsch","reviewer_image":"http://assets2.qypecdn.net/images/default_avatar/user_icon_64x64.png","body":"Ich
191
+ habe mich schon \u00f6fter ge\u00e4rgert, bin letzten Samstag zum allerletzen
192
+ Mal dort gewesen. Die Bedienung ist durch die Bank pampig. Das Essen stand
193
+ 10 Minuten nachdem wir uns plaziert hatten auf dem Tisch. Offensichtlich in
194
+ der Mikrowelle erhitzt. Der Fisch schmeckte nach Fisch, war nicht gew\u00fcrzt
195
+ und hat gestunken....und auf dem Teller meines Mannes schwammen dicke Glutamatklumpen.\n\n\n\tAm
196
+ Eingang wird signalisiert: Wir sind Kinderfreundlich. Ein gro\u00dfer Tisch,
197
+ gef\u00fcllt mit S\u00fc\u00dfigkeiten aller Art die Kinderherzen erfreuen.
198
+ Die Angestellten verdrehen allerdings allesamt die Augen, wenn die Kinder
199
+ nur in Erscheinung treten. Das passt meines Erachtens nicht zusammen. F\u00fcr
200
+ mich ist es unverst\u00e4ndlich dass so viele Leute hier viel Geld bezahlen
201
+ m\u00fcssen f\u00fcr unliebsam zubereitetes Essen. Eigentlich hat dieses Restaurant
202
+ keinen Stern verdient!","title":null,"review_date":"2010-11-16","rating":1.0,"content_provider":"Qype
203
+ Germany"},{"id":5953,"organization_id":282,"reviewer":"Hotti20","reviewer_slug":"http://www.qype.com/people/Hotti20","reviewer_image":"http://assets2.qypecdn.net/images/default_avatar/user_icon_64x64.png","body":"Ich
204
+ fands lecker,ich hatte die Ente mit Erdn\u00fcssen auf Zwiebeln und war sehr
205
+ zufrieden.Auch an den Fr\u00fchlingsr\u00f6llchen und dem Schnaps mit \"sch\u00f6ne
206
+ glu\u00df von die Haus\" vorweg gibts nichts zu meckern.Die Bedienung war
207
+ etwas pampig aber daf\u00fcr kommt immernoch Mutti Wong (die mittlerweile
208
+ \u00fcber 90 sein m\u00fcsste) vorbei und w\u00fcnscht einen guten Appetit!Die
209
+ Preise sind nicht ganz so abgehoben und bezahlbar.Auch Parkm\u00f6glichkeiten
210
+ direkt am haus gibt es genug.Immer mal wieder gerne!","title":null,"review_date":"2010-11-14","rating":4.0,"content_provider":"Qype
211
+ Germany"},{"id":5954,"organization_id":282,"reviewer":"taminaruss","reviewer_slug":"http://www.qype.com/people/taminaruss","reviewer_image":"http://assets2.qypecdn.net/images/default_avatar/user_icon_64x64.png","body":"Nicht
212
+ mehr das, was es \u00fcber lange Jahre war. Seit dem der alte Herr Wong verstorben
213
+ ist (2007) geht es nach meinem Empfinden bergab.\n\n\n\tDie einst tadellose
214
+ Ente ist nun eine Fettschicht mit Fleischanteil. Die Saucen kann man auf 2
215
+ Sorten zusammenfassen.\n\n\n\tMauliges Personal teil \u00fcberfordert und
216
+ das Ambieten leidet unter den vielen Jahren ohne Facelift.\n\n\n\tDa nutzen
217
+ auch die zig Promi-Bilder aus dem letzten Jahrtausend nichts - die Betreiber
218
+ tun gut daran, hier das Konzept wieder aufzupeppen.\n\n\n\tDer kleine Schnaps
219
+ und die kl. Fr\u00fchlingsrollen vorweg aufs Haus werden auf den Tisch geknallt
220
+ - macht nix n\u00e4hh?","title":null,"review_date":"2010-10-20","rating":2.0,"content_provider":"Qype
221
+ Germany"},{"id":5955,"organization_id":282,"reviewer":"WolligesH...","reviewer_slug":"http://www.qype.com/people/WolligesHangschaf","reviewer_image":"http://assets2.qypecdn.net/images/default_avatar/user_icon_64x64.png","body":"Ich
222
+ war schon \u00f6fter im ShinShin!Leider ist das Personal nicht sonderlich
223
+ zuvorkommend....Das essen war ja ganz lecker, nur es lag mir wie ein Stein
224
+ im Magen, und ich bekam schreckliches Sodbrennen, da die speisen ser \u00fcberw\u00fcrzt
225
+ waren...Ich war schon in vielen China Restaurants, aber nur im ShinShin vertrage
226
+ ich das essen nicht!\n\n\n\tLos Camareros son muy antipaticos!La Comida me
227
+ sentia como una pierdra en el estomago!Estuve en varios restaurantes Chinos,
228
+ pero solo en este restaurante la comida no me siente bien!","title":null,"review_date":"2010-10-16","rating":3.0,"content_provider":"Qype
229
+ Germany"},{"id":5956,"organization_id":282,"reviewer":"Northwood...","reviewer_slug":"http://www.qype.com/people/Northwood5800","reviewer_image":"http://assets2.qypecdn.net/images/default_avatar/user_icon_64x64.png","body":"Unfreundliches
230
+ Personal und in der Qualit\u00e4t stark schwankendes Essen.","title":null,"review_date":"2010-09-27","rating":2.0,"content_provider":"Qype
231
+ Germany"},{"id":5957,"organization_id":282,"reviewer":"diogenes_3","reviewer_slug":"http://www.qype.com/people/diogenes_3","reviewer_image":"http://assets3.qypecdn.net/uploads/users/0073/7434/thomas_original_thumb.jpg","body":"Lokale,
232
+ die irgendwann von ihrem Ruf leben statt von der Gegenwart, sind immer schwer
233
+ zu bewerten. Wenn ich in Hamburg bin, gehe ich seit vielen Jahren gern mit
234
+ meinen Eltern dorthin, die wiederum seit vielen vielen Jahren gern mit ihrem
235
+ Tanzkreis. Die Folge ist aber nat\u00fcrlich, da\u00df sie dort inzwischen
236
+ absolut bekannt sind und von der Besitzerin (Madame Wu, soviel ich wei\u00df)
237
+ pers\u00f6nlich begr\u00fc\u00dft werden, auch wenn wir keine der im Eingang
238
+ ausgeh\u00e4ngten Prominenten sind. Klar, da\u00df dann der Service erstklassig
239
+ ist...\n\n\n\tAllen anderen sei ein sehr ansprechendes Ambiente und anst\u00e4ndiges,
240
+ vielleicht nicht spezielles, aber sicher mindestens gutes Essen zu allerdings
241
+ beachtlichen, aber gerade noch bezahlenswerten Preisen empfohlen.\n\n\n\tMeine
242
+ Eltern loben das Lokal speziell an Silvester.","title":null,"review_date":"2010-08-15","rating":3.0,"content_provider":"Qype
243
+ Germany"},{"id":5958,"organization_id":282,"reviewer":"wguhl","reviewer_slug":"http://www.tripadvisor.com/members/wguhl","reviewer_image":"http://media-cdn.tripadvisor.com/media/photo-f/02/5b/d0/32/wguhl.jpg","body":"We
244
+ have eaten here before and were not disappointed. The menu was extensive and
245
+ available in English. The food was of high quality and plentiful. To see the
246
+ interior of the restaurant is worth a visit in itself. This is a white table
247
+ cloth restaurant which serves the food in bowls and on large plates. They
248
+ were placed on candle light heaters to keep the food warm. Also the dinner
249
+ plates were preheated. Senior portions were available, otherwise we could
250
+ have taken any uneaten portions with us. Service was good, and the Restaurant
251
+ was very affordable.","title":"There is no better chinese restaurant in Hamburg","review_date":null,"rating":5.0,"content_provider":"Tripadvisor"},{"id":5959,"organization_id":282,"reviewer":"kellerchen","reviewer_slug":"http://www.tripadvisor.com/members/kellerchen","reviewer_image":"http://media-cdn.tripadvisor.com/media/photo-f/01/2e/70/7e/avatar065.jpg","body":"Das
252
+ Shin-Shin Restaurante bietet gutes chinesiches Essen an. Die Portionen sind
253
+ sehr reichhaltig und von guter Qualit\u00e4t. Auf der Speisekarte stehen Gerichte
254
+ mit H\u00fchnchen, Rind, Schwein und Ente. Dazu gibt es verschiedene Beilagen
255
+ wie Reis und Nudeln. Besonders zu empfehlen sind die gebratene Ente, das H\u00e4hnchen
256
+ mit Ananas und die Fr\u00fchlingsrollen. Die Speisen und Getr\u00e4nke stehen
257
+ in einem guten Preis-Leistungsverh\u00e4ltnis. Besonders positiv sind uns
258
+ die Hygienevorrichtungen im Restaurante aufgefallen. Am Eingang, vor und in
259
+ der Toilette gab es Desinfektionsmittelspender. Im Eingagsbereich hingen u.a.
260
+ Fotos von Prominenten die schon da waren, wie z.B. Otto Walkes.","title":"Sehr
261
+ gutes Restaurante","review_date":null,"rating":5.0,"content_provider":"Tripadvisor"},{"id":5960,"organization_id":282,"reviewer":"Traveller_7517","reviewer_slug":"http://www.tripadvisor.com/members/Traveller_7517","reviewer_image":"http://media-cdn.tripadvisor.com/media/photo-f/01/2e/70/66/avatar044.jpg","body":"Das
262
+ Shin Shin im Norden Hamburgs ist recht gro\u00df, was aber nicht st\u00f6rt,
263
+ da es sich in unterschiedliche Bereiche separiert. Das Interieur ist typisch
264
+ chinesisch und gem\u00fctlich. Wenn das Restaurant gut gef\u00fcllt ist, dann
265
+ ist es mir pers\u00f6nlich manchmal etwas zu laut. Im Sommer kann man auch
266
+ gut drau\u00dfen sitzen; von der gut befahrenen Stra\u00dfe haben wir dabei
267
+ nichts mitbekommen. Das Personal ist freundlich, die Qualit\u00e4t das Essens
268
+ gut und die Preise angemessen. Wer Strau\u00df mag, sollte diesen unbedingt
269
+ probieren; dieses Gericht ist unser Favourit.","title":"Guter Chinese im Norden
270
+ Hamburgs","review_date":null,"rating":4.0,"content_provider":"Tripadvisor"},{"id":6403,"organization_id":282,"reviewer":"Stralsunner","reviewer_slug":"http://www.pointoo.de/user/Stralsunner/","reviewer_image":"http://media.pointoo.de/files/assets/profile_images/000/204/196/tiny/Picture0001.jpg?1335871039","body":"Im
271
+ \"Shin\" in Hamburg (Sasel) gibt es die beste Ente der Stadt. Das essen ist
272
+ im allgemeinen sehr lecker. Empfehlen kann ich Ente mit gebratenen Nudeln.
273
+ Die Preise sind hier recht niedrig und auch der Service l\u00e4sst keine W\u00fcnsche
274
+ offen. Die Kellnerinnen k\u00f6nnen alle deutsch sprechen. Die Einrichtung
275
+ ist zwar nicht so besonders, jedoch gibt es ein paar sch\u00f6ne Aquarien.
276
+ Parkm\u00f6glichkeiten gibt es auch genug, super!","title":"Leckere Peking-Ente","review_date":"2012-02-11","rating":5.0,"content_provider":"Pointoo"},{"id":101728,"organization_id":282,"reviewer":"Stralsunner","reviewer_slug":"http://www.pointoo.de/user/Stralsunner/","reviewer_image":"http://media.pointoo.de/files/assets/profile_images/000/204/196/tiny/Picture0001.jpg?1335871039","body":"test","title":"","review_date":"2012-07-05","rating":5.0,"content_provider":"Pointoo"}],"count":25}'
277
+ http_version:
278
+ recorded_at: Fri, 03 Aug 2012 22:46:45 GMT
279
+ recorded_with: VCR 2.2.4
@@ -0,0 +1,42 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.apphera.com/1/reviews?api_key=wrong_key&organization_id=282&review_id=0
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers: {}
10
+ response:
11
+ status:
12
+ code: 401
13
+ message: Unauthorized
14
+ headers:
15
+ Server:
16
+ - nginx/1.2.1
17
+ Date:
18
+ - Fri, 03 Aug 2012 23:05:27 GMT
19
+ Content-Type:
20
+ - text/html; charset=utf-8
21
+ Transfer-Encoding:
22
+ - chunked
23
+ Connection:
24
+ - keep-alive
25
+ Status:
26
+ - 401 Unauthorized
27
+ X-Ua-Compatible:
28
+ - IE=Edge,chrome=1
29
+ Cache-Control:
30
+ - no-cache
31
+ X-Request-Id:
32
+ - 463592036b6e165acf8bc13212f627ea
33
+ X-Runtime:
34
+ - '0.004580'
35
+ X-Rack-Cache:
36
+ - miss
37
+ body:
38
+ encoding: UTF-8
39
+ string: ! ' '
40
+ http_version:
41
+ recorded_at: Fri, 03 Aug 2012 23:05:27 GMT
42
+ recorded_with: VCR 2.2.4
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: social_media_monitoring
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-08-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &70225257780920 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,15 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
24
+ version_requirements: *70225257780920
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: mash
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &70225257780480 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
30
  - - ! '>='
@@ -37,14 +32,9 @@ dependencies:
37
32
  version: '0'
38
33
  type: :runtime
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
- description: Offers sentiment analysis,keyword tracking and geographic competitor
47
- search
35
+ version_requirements: *70225257780480
36
+ description: Offers sentiment analysis,keyword tracking, geographic competitor search
37
+ and reviews from several review sites
48
38
  email:
49
39
  - niko.manek@gmail.com
50
40
  executables: []
@@ -65,8 +55,10 @@ files:
65
55
  - test/fixtures/vcr_cassettes/competitors_de.yml
66
56
  - test/fixtures/vcr_cassettes/create_keyword.yml
67
57
  - test/fixtures/vcr_cassettes/keywords.yml
58
+ - test/fixtures/vcr_cassettes/reviews_de.yml
68
59
  - test/fixtures/vcr_cassettes/sentiment.yml
69
60
  - test/fixtures/vcr_cassettes/show_keyword.yml
61
+ - test/fixtures/vcr_cassettes/wrong_key.yml
70
62
  homepage: https://github.com/nikoma/social_media_monitoring
71
63
  licenses: []
72
64
  post_install_message:
@@ -87,15 +79,18 @@ required_rubygems_version: !ruby/object:Gem::Requirement
87
79
  version: '0'
88
80
  requirements: []
89
81
  rubyforge_project:
90
- rubygems_version: 1.8.24
82
+ rubygems_version: 1.8.10
91
83
  signing_key:
92
84
  specification_version: 3
93
- summary: Keyword tracking, sentiment analysis, competitor search
85
+ summary: Keyword tracking, sentiment analysis, competitor search, reviews
94
86
  test_files:
95
87
  - test/client_test.rb
96
88
  - test/fixtures/vcr_cassettes/categories_de.yml
97
89
  - test/fixtures/vcr_cassettes/competitors_de.yml
98
90
  - test/fixtures/vcr_cassettes/create_keyword.yml
99
91
  - test/fixtures/vcr_cassettes/keywords.yml
92
+ - test/fixtures/vcr_cassettes/reviews_de.yml
100
93
  - test/fixtures/vcr_cassettes/sentiment.yml
101
94
  - test/fixtures/vcr_cassettes/show_keyword.yml
95
+ - test/fixtures/vcr_cassettes/wrong_key.yml
96
+ has_rdoc: