viner 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: c1fa10a7479359c8d560d03d94ce2656dcf5b70c
4
- data.tar.gz: 6e1a709b4a7bde602f978d82cccb13d7754ccd6f
3
+ metadata.gz: 62d749c5f4286461e080bc01a14e7d2792d00a99
4
+ data.tar.gz: ae0c9aae42d9f4b43f371ea00e8555efe9c2efe6
5
5
  SHA512:
6
- metadata.gz: 694e26cdc5db7ae083554d4a7cdad322a3c5cf290642fea349f2d0f5d11aebe77b44999a980a66c6c137d614544a17f61c00635b830b9a1cc79ab030e1659ab4
7
- data.tar.gz: c19eb24a98e922ae944404ca5acba99151257f63cfffb647c8b0fd84eebaedb10c29a51920239c06eb30dfcc04ef7255e969fcd18164915073ca1d588ff8292f
6
+ metadata.gz: e562fd8cf213a44ccc646b3fb94a989d74edbb0f10594245e15cdd9f49fd959a814356cef868f8adba73a6561f8df9865b1b2514dc897527bf7d3991c46ea8cb
7
+ data.tar.gz: 8d3e8fe5d9830fdd5e570280f4b8d18afff3986364464c5eab048bfa3c8ee46367b3690ab97b316d52e8dab66ce9f5bd2b36766bd0f66fb75e4ca375919522e7
data/README.md CHANGED
@@ -1,2 +1,66 @@
1
- viner
2
- =====
1
+ ## Information
2
+ ![vine_logo](https://vine.co/static/images/vine_glyph_2x.png)
3
+ ### viner
4
+
5
+ Wrapper to access the unofficial Vine API.
6
+
7
+ Vine is currently available for iOS and Android devices. You can download Vine for iOS in the [Apple App Store](https://itunes.apple.com/us/app/vine/id592447445?mt=8), and Vine for Android in the [Google Play Store](https://play.google.com/store/apps/details?id=co.vine.android). After installing Vine on your device, you can sign up using an email address or sign in with your Twitter account.
8
+
9
+ An account is needed for all calls to the API.
10
+
11
+ [https://viner.herokuapp.com/](https://viner.herokuapp.com/)
12
+
13
+ ## Requirements
14
+
15
+ Ruby >= 2.0
16
+
17
+ ## Getting started
18
+
19
+ ```ruby
20
+ gem install viner
21
+ ```
22
+
23
+ ### Start new client
24
+ ```ruby
25
+ @client = Viner::Client.new
26
+ ```
27
+ ### Login
28
+ ```ruby
29
+ @client.login("username", "password")
30
+ ```
31
+ ### Logout
32
+ ```ruby
33
+ @client.logout
34
+ ```
35
+ ### Popular Vines
36
+ ```ruby
37
+ @client.popular
38
+ ```
39
+ ### Vines by any tag
40
+ ```ruby
41
+ @client.tag("cats")
42
+ ```
43
+ ### Profiles
44
+
45
+ Your profile
46
+ ```ruby
47
+ @client.profile
48
+ ```
49
+
50
+ Find profile
51
+ ```ruby
52
+ @client.profile(user_id)
53
+ ```
54
+ ### Posts
55
+ ```ruby
56
+ @client.profile(post_id)
57
+ ```
58
+
59
+ ### Notifications
60
+ ```ruby
61
+ @client.profile(user_id)
62
+ ```
63
+
64
+ ## Running tests
65
+
66
+ To run all the tests you need to enter a valid user account username and password in [spec_helper.rb](https://github.com/ahmetabdi/viner/blob/master/spec/spec_helper.rb#L3)
@@ -30,6 +30,11 @@ module Viner
30
30
  get('timelines/popular', {}, {})
31
31
  end
32
32
 
33
+ def search(username)
34
+ # GET https://api.vineapp.com/users/search/<username>
35
+ get("users/search/#{username}", {}, {}).data.records
36
+ end
37
+
33
38
  # Get Tag
34
39
  def tag(tag)
35
40
  # GET https://api.vineapp.com/timelines/tags/<tag>
@@ -47,6 +52,12 @@ module Viner
47
52
  end
48
53
  end
49
54
 
55
+ def timeline(user_id)
56
+ # GET https://api.vineapp.com/timelines/users/<userid>
57
+ result = get("timelines/users/#{user_id}", {}, {})
58
+ return result.data.records if result.success
59
+ end
60
+
50
61
  # Get Single Post
51
62
  def posts(post)
52
63
  # GET https://api.vineapp.com/timelines/posts/<postid>
@@ -1,6 +1,6 @@
1
1
  module Viner
2
2
  MAJOR = 0
3
3
  MINOR = 0
4
- PATCH = 1
4
+ PATCH = 2
5
5
  VERSION = "#{MAJOR}.#{MINOR}.#{PATCH}"
6
6
  end
@@ -67,6 +67,31 @@ describe Viner::Client do
67
67
  response = @client.notifications
68
68
  response.success.should be_true
69
69
  end
70
+ end
71
+
72
+ describe "When not authenticated" do
73
+ before(:each) do
74
+ @client = Viner::Client.new
75
+ end
76
+
77
+ it "should return an array of users given an existing username" do
78
+ response = @client.search('KingBach')
79
+ response.size.should be > 0
80
+ end
81
+
82
+ it "should return an empty array given an invalid username" do
83
+ response = @client.search('lkjpoqiwekasdmnbzmxnbca')
84
+ response.should be_empty
85
+ end
70
86
 
87
+ it "should return an array of a user's timeline given a valid user id" do
88
+ response = @client.timeline('931427884873170944')
89
+ response.should be_instance_of Array
90
+ end
91
+
92
+ it "should return nil given an invalid user id" do
93
+ response = @client.timeline('936189236128367346123123')
94
+ response.should eq nil
95
+ end
71
96
  end
72
- end
97
+ end
@@ -19,9 +19,6 @@ Gem::Specification.new do |s|
19
19
  s.add_development_dependency "cucumber"
20
20
  s.add_development_dependency "aruba"
21
21
 
22
- s.add_dependency "rspec"
23
- s.add_dependency "cucumber"
24
- s.add_dependency "aruba"
25
22
  s.add_dependency "unirest"
26
23
  s.add_dependency "hashie"
27
24
 
metadata CHANGED
@@ -1,139 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: viner
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
  - Ahmet Abdi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-04 00:00:00.000000000 Z
11
+ date: 2016-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: cucumber
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: aruba
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: rspec
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - '>='
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - '>='
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: cucumber
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - '>='
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :runtime
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - '>='
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: aruba
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - '>='
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :runtime
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - '>='
66
+ - - ">="
109
67
  - !ruby/object:Gem::Version
110
68
  version: '0'
111
69
  - !ruby/object:Gem::Dependency
112
70
  name: unirest
113
71
  requirement: !ruby/object:Gem::Requirement
114
72
  requirements:
115
- - - '>='
73
+ - - ">="
116
74
  - !ruby/object:Gem::Version
117
75
  version: '0'
118
76
  type: :runtime
119
77
  prerelease: false
120
78
  version_requirements: !ruby/object:Gem::Requirement
121
79
  requirements:
122
- - - '>='
80
+ - - ">="
123
81
  - !ruby/object:Gem::Version
124
82
  version: '0'
125
83
  - !ruby/object:Gem::Dependency
126
84
  name: hashie
127
85
  requirement: !ruby/object:Gem::Requirement
128
86
  requirements:
129
- - - '>='
87
+ - - ">="
130
88
  - !ruby/object:Gem::Version
131
89
  version: '0'
132
90
  type: :runtime
133
91
  prerelease: false
134
92
  version_requirements: !ruby/object:Gem::Requirement
135
93
  requirements:
136
- - - '>='
94
+ - - ">="
137
95
  - !ruby/object:Gem::Version
138
96
  version: '0'
139
97
  description: Vine API
@@ -143,8 +101,8 @@ executables: []
143
101
  extensions: []
144
102
  extra_rdoc_files: []
145
103
  files:
146
- - .gitignore
147
- - .rspec
104
+ - ".gitignore"
105
+ - ".rspec"
148
106
  - Gemfile
149
107
  - Gemfile.lock
150
108
  - LICENSE
@@ -166,17 +124,17 @@ require_paths:
166
124
  - lib
167
125
  required_ruby_version: !ruby/object:Gem::Requirement
168
126
  requirements:
169
- - - '>='
127
+ - - ">="
170
128
  - !ruby/object:Gem::Version
171
129
  version: 2.0.0
172
130
  required_rubygems_version: !ruby/object:Gem::Requirement
173
131
  requirements:
174
- - - '>='
132
+ - - ">="
175
133
  - !ruby/object:Gem::Version
176
134
  version: 1.3.6
177
135
  requirements: []
178
136
  rubyforge_project:
179
- rubygems_version: 2.1.11
137
+ rubygems_version: 2.4.5.1
180
138
  signing_key:
181
139
  specification_version: 4
182
140
  summary: Vine API