neo4apis-twitter 0.0.1 → 0.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f9ac29686dd644899a2f184a99f653f1b15d1b78
4
- data.tar.gz: cb662fae49dd85790bdd8af896f87ea3f3ebe7a0
3
+ metadata.gz: 43816b4c7d84582347f3d469727ff75ab9219cad
4
+ data.tar.gz: b7fb544aa5507bec0c2094723479baa4078a39f7
5
5
  SHA512:
6
- metadata.gz: 33f5489c963868868b654557145dfa2858d6419977a42031a04ced7e93a2286ddf600d0552ee98629c2a9f5e9fde2a36f8ad914a7b1b52ddf8e9c4c09f5eb2f5
7
- data.tar.gz: c9eca1f76eaf51cabec63e3c87ee15418ae134a189e2c6cc6a75227e4a3a86273cce39c5931460efafad402f590b76f4e3c1cad4882349b3a27dd520b820529f
6
+ metadata.gz: fec12fd33e54c2601938c8b5e816ca99a26f8e359027aa8dcc1153d7b51b01fcb306024a8628b3c0d6f9e852fa53528a18fb19e85f43503903c01559e1a322a3
7
+ data.tar.gz: e00ac6020eed2fdc76fd9fe02303c2f66fe43c7870ce61b52aee6a9b8112ec78a04f4f26a844578ba298c8dbac267e7912ed4a5f7d2ef17c6ae0bbb284dea18f
data/README.md CHANGED
@@ -1,16 +1,23 @@
1
1
 
2
2
  neo4apis-twitter is a ruby gem for making importing data from twitter to neo4j easy
3
3
 
4
- The `twitter` gem is used and thus the methods in this API try to match that API as closely as possible
4
+ This adapter supports objects created from the `twitter` gem.
5
5
 
6
6
  ```ruby
7
7
 
8
8
  twitter_client = Twitter::REST::Client.new ...
9
9
 
10
- neo4japis_twitter = Neo4Apis::Twitter.new(Neo4j::Session.open, twitter_client: twitter_client)
11
-
12
- neo4japis_twitter.batch do
13
- neo4japis_twitter.import_search("ebola", :result_type => "recent")
10
+ neo4japis_twitter = Neo4Apis::Twitter.new(Neo4j::Session.open, import_retweets: true)
11
+
12
+ neo4japis_twitter.batch do
13
+ twitter_client.search("ebola", :result_type => "recent").take(100).each do |tweet|
14
+ # Imports:
15
+ # * The tweet
16
+ # * The tweeter,
17
+ # * The original tweet if a retweet
18
+ # * The user for the original tweet
19
+ import :Tweet, tweet
20
+ end
14
21
  end
15
22
 
16
23
  ```
@@ -2,32 +2,13 @@ require 'neo4apis'
2
2
 
3
3
  module Neo4Apis
4
4
  class Twitter < Base
5
- PREFIX = 'twitter'
5
+ uuid :Tweet, :id
6
+ uuid :User, :id
6
7
 
7
- def initialize(neo4j_client, options = {})
8
- @client = options[:twitter_client]
8
+ importer :Tweet do |tweet|
9
+ user_node = import :User, tweet.user
9
10
 
10
- raise ArgumentError, "Invalid client: #{@client.inspect}" if not @client.is_a?(::Twitter::REST::Client)
11
-
12
- options[:uuids] = (options[:uuids] || {}).merge({
13
- Tweet: :id,
14
- User: :id
15
- })
16
-
17
- super(neo4j_client, options)
18
- end
19
-
20
- def import_search(*args)
21
- @client.search(*args).take(100).each do |tweet|
22
- add_tweet(tweet)
23
- end
24
- end
25
-
26
- private
27
-
28
- def add_tweet(tweet)
29
- user_node = add_user(tweet.user)
30
- retweeted_tweet_node = add_tweet(tweet.retweeted_tweet) if tweet.retweeted_tweet?
11
+ retweeted_tweet_node = import :Tweet, tweet.retweeted_tweet if options[:import_retweets] && tweet.retweeted_tweet?
31
12
 
32
13
  node = add_node :Tweet, {
33
14
  id: tweet.id,
@@ -35,12 +16,12 @@ module Neo4Apis
35
16
  }
36
17
 
37
18
  add_relationship(:tweeted, user_node, node)
38
- add_relationship(:retweets, node, retweeted_tweet_node) if tweet.retweeted_tweet?
19
+ add_relationship(:retweets, node, retweeted_tweet_node) if options[:import_retweets] && tweet.retweeted_tweet?
39
20
 
40
21
  node
41
22
  end
42
23
 
43
- def add_user(user)
24
+ importer :User do |user|
44
25
  add_node :User, {
45
26
  id: user.id,
46
27
  screen_name: user.screen_name,
@@ -1,6 +1,8 @@
1
+ require 'neo4apis'
2
+
1
3
  module Neo4Apis
2
- class Twitter
3
- VERSION = '0.0.1'
4
+ class Twitter < Base
5
+ VERSION = '0.0.2'
4
6
  end
5
7
  end
6
8
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: neo4apis-twitter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Underwood
@@ -62,4 +62,3 @@ signing_key:
62
62
  specification_version: 4
63
63
  summary: An ruby gem to import twitter data to neo4j
64
64
  test_files: []
65
- has_rdoc: