twitter-vine 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MjU3OWZiM2E1ZWY4YzNkNzFmY2I1YjNkMjEwMTkwNDA4ZDZhZGJiMQ==
4
+ NDAwNWM1Yjg4MmRlMzMxMzYwN2FmYjI4ZDlkMjc1ODRiMGY1NzUxMw==
5
5
  data.tar.gz: !binary |-
6
- N2MzMjFiNTBkMzU1ZDBiZjFlNTQzODhjMTE5MmRjN2E0MzUxZTk3YQ==
6
+ NzJiOThlNjNiZWQwYjQxMzFiOTY0ZDFlMDM1ZjQ3YTRmYzVhMWFkMA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MzI4MjhjZDNhZmJkMzNiNWM5OGRmMmE5NDUzZDEzMzBhMDdmZjMzZWEzOWZk
10
- OTA5M2U4NDZjZmQ5NDQzNTlkZWMwNjA1NzBiNmRlN2Y2YjkxZjkwYWY0M2I1
11
- ZmI2NDVlNDIwNjJjNjg4MmY0ZGNhZDE1NWJhNWQ0YTIxZWZmM2M=
9
+ OWNmNjZhOTI2ZTMwM2RkMjhkN2MxOTcxYTIyNzg4ODllYTUxMDE2YTViMjI3
10
+ ZjlhOTBiZTNmZDVjMWE0NWNiOWUwNmIwZDE5ZmIwMTViODBlY2ZmOWI0NjZl
11
+ NjRhNGRhNjg0ODEzOTU0MDJlNTdmZjExNThhY2VhMDJlM2NhN2M=
12
12
  data.tar.gz: !binary |-
13
- NTA0ZTY2YmZiNzE3NzU0NDczZTMxYzM2YjBiYTc0MmJhZTg2ZDlkY2UyNzY4
14
- OTc2MWFjNzRkYzBmYWQyYjRmYzc3YWE5NWQ2NmMyMGY4MWJiYWZjODgxNTM0
15
- NzM5Y2U5ZjM4NzIwZDIzNzViMzljMWExYTIyMDFmMjFhNTZjYWM=
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.6)
4
+ twitter-vine (0.1.7)
5
+ faraday (~> 0.8.9)
5
6
  nokogiri (>= 1.6.0)
6
- twitter (>= 5.5.1)
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.0)
18
- multipart-post (>= 1.2, < 3)
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.6.0)
22
+ http_parser.rb (0.5.3)
22
23
  json (1.8.1)
23
- memoizable (0.4.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.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.5.1)
42
+ twitter (5.1.1)
42
43
  addressable (~> 2.3)
43
44
  buftok (~> 0.2.0)
44
- descendants_tracker (~> 0.0.3)
45
- equalizer (~> 0.0.9)
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.6.0)
49
+ http_parser.rb (~> 0.5.0)
49
50
  json (~> 1.8)
50
- memoizable (~> 0.4.0)
51
+ memoizable (~> 0.2.0)
51
52
  simple_oauth (~> 0.2.0)
52
53
 
53
54
  PLATFORMS
@@ -48,26 +48,31 @@ module TwitterVine
48
48
  private
49
49
  # Does the processing inplace...
50
50
  def self._normalize(results)
51
- results.entries.map do |r|
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.created_at,
55
- id: r.id,
56
- url: r.url.to_s,
57
- author_id: r.user.id,
58
- author: r.user.name,
59
- screenname: r.user.screen_name,
60
- author_thumbnail: r.user.profile_image_url.to_s.gsub("normal","bigger"),
61
- text: r.text,
62
- friends_count: r.user.friends_count,
63
- followers_count: r.user.followers_count,
64
- # media: r.media.map{|m| m.media_uri.to_s},
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.urls.map do |u|
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
 
@@ -1,3 +1,3 @@
1
1
  module TwitterVine
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
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 url;"https://twitter.com/DesliParra/status/407413145792413696";end
26
- def urls;[{display_url:"vine.co/v/hF7WOEl76T1", expanded_url:"https://vine.co/v/hF7WOEl76T1"}];end
27
- end
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
- class MockTweetWithHttpVineUrl
31
- def url;"https://twitter.com/DesliParra/status/407413145792413696";end
32
- def urls;[{display_url:"vine.co/v/hF7WOEl76T1", expanded_url:"http://vine.co/v/hF7WOEl76T1"}];end
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)
@@ -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.new)
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, MockTweetWithHttpVineUrl.new)
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', '>=5.5.1')
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.6
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-25 00:00:00.000000000 Z
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.5.1
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: 5.5.1
40
+ version: 0.8.9
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: nokogiri
29
43
  requirement: !ruby/object:Gem::Requirement