twitter-vine 0.1.6 → 0.1.7
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 +8 -8
- data/Gemfile.lock +13 -12
- data/lib/twitter-vine/client.rb +19 -15
- data/lib/twitter-vine/version.rb +1 -1
- data/spec/spec_helper.rb +13 -7
- data/spec/twitter-vine_spec.rb +4 -2
- data/twitter-vine.gemspec +2 -1
- metadata +20 -6
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NDAwNWM1Yjg4MmRlMzMxMzYwN2FmYjI4ZDlkMjc1ODRiMGY1NzUxMw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NzJiOThlNjNiZWQwYjQxMzFiOTY0ZDFlMDM1ZjQ3YTRmYzVhMWFkMA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OWNmNjZhOTI2ZTMwM2RkMjhkN2MxOTcxYTIyNzg4ODllYTUxMDE2YTViMjI3
|
10
|
+
ZjlhOTBiZTNmZDVjMWE0NWNiOWUwNmIwZDE5ZmIwMTViODBlY2ZmOWI0NjZl
|
11
|
+
NjRhNGRhNjg0ODEzOTU0MDJlNTdmZjExNThhY2VhMDJlM2NhN2M=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MWE4MzI5YjA2NTI0ZTFlYzBiNGVjNDRkM2QxOThlMjYxYjYzNjUyOTNkODkz
|
14
|
+
N2Y4ZjhlMjJiYTk3NmYzYzczYWZlMjM5NmFmNGE2YjU4MjllY2Q2NDk3MDc5
|
15
|
+
ZDRmMjRkNmNkYTJlNGFkY2I3NzYxMzdjZjk2NTc3NDc4NjRiZWM=
|
data/Gemfile.lock
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
twitter-vine (0.1.
|
4
|
+
twitter-vine (0.1.7)
|
5
|
+
faraday (~> 0.8.9)
|
5
6
|
nokogiri (>= 1.6.0)
|
6
|
-
twitter (
|
7
|
+
twitter (~> 5.1.1)
|
7
8
|
|
8
9
|
GEM
|
9
10
|
remote: http://rubygems.org/
|
@@ -14,16 +15,16 @@ GEM
|
|
14
15
|
descendants_tracker (0.0.3)
|
15
16
|
diff-lcs (1.2.5)
|
16
17
|
equalizer (0.0.9)
|
17
|
-
faraday (0.9
|
18
|
-
multipart-post (
|
18
|
+
faraday (0.8.9)
|
19
|
+
multipart-post (~> 1.2.0)
|
19
20
|
http (0.5.0)
|
20
21
|
http_parser.rb
|
21
|
-
http_parser.rb (0.
|
22
|
+
http_parser.rb (0.5.3)
|
22
23
|
json (1.8.1)
|
23
|
-
memoizable (0.
|
24
|
+
memoizable (0.2.0)
|
24
25
|
thread_safe (~> 0.1.3)
|
25
26
|
mini_portile (0.5.2)
|
26
|
-
multipart-post (2.0
|
27
|
+
multipart-post (1.2.0)
|
27
28
|
nokogiri (1.6.1)
|
28
29
|
mini_portile (~> 0.5.0)
|
29
30
|
rake (10.1.1)
|
@@ -38,16 +39,16 @@ GEM
|
|
38
39
|
simple_oauth (0.2.0)
|
39
40
|
thread_safe (0.1.3)
|
40
41
|
atomic
|
41
|
-
twitter (5.
|
42
|
+
twitter (5.1.1)
|
42
43
|
addressable (~> 2.3)
|
43
44
|
buftok (~> 0.2.0)
|
44
|
-
descendants_tracker (~> 0.0.
|
45
|
-
equalizer (~> 0.0.
|
45
|
+
descendants_tracker (~> 0.0.1)
|
46
|
+
equalizer (~> 0.0.7)
|
46
47
|
faraday (>= 0.8, < 0.10)
|
47
48
|
http (~> 0.5.0)
|
48
|
-
http_parser.rb (~> 0.
|
49
|
+
http_parser.rb (~> 0.5.0)
|
49
50
|
json (~> 1.8)
|
50
|
-
memoizable (~> 0.
|
51
|
+
memoizable (~> 0.2.0)
|
51
52
|
simple_oauth (~> 0.2.0)
|
52
53
|
|
53
54
|
PLATFORMS
|
data/lib/twitter-vine/client.rb
CHANGED
@@ -48,26 +48,31 @@ module TwitterVine
|
|
48
48
|
private
|
49
49
|
# Does the processing inplace...
|
50
50
|
def self._normalize(results)
|
51
|
-
results.
|
51
|
+
results.to_h[:statuses].map do |r|
|
52
|
+
puts r
|
52
53
|
vine_map = build_vine_map(r)
|
54
|
+
#puts "...mapping...#{r[:entities][:media]}"
|
53
55
|
{
|
54
|
-
time: r.
|
55
|
-
id: r
|
56
|
-
url: r
|
57
|
-
author_id: r
|
58
|
-
author: r
|
59
|
-
screenname: r
|
60
|
-
author_thumbnail: r
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
56
|
+
time: (Time.parse(r[:created_at]) rescue Time.now),
|
57
|
+
id: r[:id],
|
58
|
+
url: "https://twitter.com/#{r[:user][:screen_name]}/status/#{r[:id]}",
|
59
|
+
author_id: r[:user][:id],
|
60
|
+
author: r[:user][:name],
|
61
|
+
screenname: r[:user][:screen_name],
|
62
|
+
author_thumbnail: r[:user][:profile_image_url].gsub("normal","bigger"),
|
63
|
+
bg_color: r[:user][:profile_background_color],
|
64
|
+
text_color: r[:user][:profile_text_color],
|
65
|
+
text: r[:text],
|
66
|
+
friends_count: r[:user][:friends_count],
|
67
|
+
followers_count: r[:user][:followers_count],
|
68
|
+
#media: r.media.map{|m| m.media_uri.to_s}
|
69
|
+
#media: (r[:entities][:media].map{|m| m[:media_url]} rescue [])
|
65
70
|
}.merge(vine_map)
|
66
|
-
end.compact
|
71
|
+
end.compact
|
67
72
|
end
|
68
73
|
|
69
74
|
def self.build_vine_map(twitter_result)
|
70
|
-
vine_url = twitter_result
|
75
|
+
vine_url = twitter_result[:entities][:urls].map do |u|
|
71
76
|
if u[:display_url] =~ /vine\.co\/v/
|
72
77
|
u[:expanded_url].to_s
|
73
78
|
end
|
@@ -75,7 +80,6 @@ module TwitterVine
|
|
75
80
|
TwitterVine.parse(vine_url)
|
76
81
|
end
|
77
82
|
|
78
|
-
|
79
83
|
end
|
80
84
|
end
|
81
85
|
|
data/lib/twitter-vine/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -22,16 +22,22 @@ TwitterVine::Client.setup do |c|
|
|
22
22
|
end
|
23
23
|
|
24
24
|
class MockTweet
|
25
|
-
def
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
def self.normal
|
26
|
+
{ entities: { url:"https://twitter.com/DesliParra/status/407413145792413696",
|
27
|
+
urls:[{display_url:"vine.co/v/hF7WOEl76T1", expanded_url:"https://vine.co/v/hF7WOEl76T1"}]
|
28
|
+
}
|
29
|
+
}
|
30
|
+
end
|
29
31
|
|
30
|
-
|
31
|
-
|
32
|
-
|
32
|
+
def self.withHttpVineUrl
|
33
|
+
{ entities: { url:"https://twitter.com/DesliParra/status/407413145792413696",
|
34
|
+
urls:[{display_url:"vine.co/v/hF7WOEl76T1", expanded_url:"http://vine.co/v/hF7WOEl76T1"}]
|
35
|
+
}
|
36
|
+
}
|
37
|
+
end
|
33
38
|
end
|
34
39
|
|
40
|
+
|
35
41
|
shared_context "vine results" do
|
36
42
|
|
37
43
|
def expect_results(vine_map)
|
data/spec/twitter-vine_spec.rb
CHANGED
@@ -16,16 +16,18 @@ describe TwitterVine do
|
|
16
16
|
#
|
17
17
|
# it "should return results" do
|
18
18
|
# l = TwitterVine::Client.search("Prank")
|
19
|
+
# puts "-------------------------------------------"
|
19
20
|
# puts l
|
21
|
+
# puts "-------------------------------------------"
|
20
22
|
# expect(l.size).to be > 0
|
21
23
|
# end
|
22
24
|
|
23
25
|
it "should be able to scrape Vine metadata from a Twitter API result" do
|
24
|
-
expect_results(TwitterVine::Client.send :build_vine_map, MockTweet.
|
26
|
+
expect_results(TwitterVine::Client.send :build_vine_map, MockTweet.normal)
|
25
27
|
end
|
26
28
|
|
27
29
|
it "should be able to scrape Vine metadata from a Twitter API result even if expanded_url is http instead of https" do
|
28
|
-
expect_results(TwitterVine::Client.send :build_vine_map,
|
30
|
+
expect_results(TwitterVine::Client.send :build_vine_map, MockTweet.withHttpVineUrl)
|
29
31
|
end
|
30
32
|
|
31
33
|
it "can parse a direct vine url" do
|
data/twitter-vine.gemspec
CHANGED
@@ -20,7 +20,8 @@ Gem::Specification.new do |s|
|
|
20
20
|
|
21
21
|
# Gem dependencies
|
22
22
|
#
|
23
|
-
s.add_runtime_dependency('twitter', '
|
23
|
+
s.add_runtime_dependency('twitter', '~>5.1.1')
|
24
|
+
s.add_runtime_dependency('faraday', '~>0.8.9')
|
24
25
|
s.add_runtime_dependency('nokogiri', '>= 1.6.0')
|
25
26
|
|
26
27
|
# Specs
|
metadata
CHANGED
@@ -1,29 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: twitter-vine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Darren Hicks
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-01
|
11
|
+
date: 2014-02-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: twitter
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 5.
|
19
|
+
version: 5.1.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 5.1.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: faraday
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.8.9
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
25
39
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
40
|
+
version: 0.8.9
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: nokogiri
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|