vine_client 0.0.0

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.
data/.gitignore ADDED
@@ -0,0 +1,18 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ coverage
6
+ InstalledFiles
7
+ lib/bundler/man
8
+ pkg
9
+ rdoc
10
+ spec/reports
11
+ test/tmp
12
+ test/version_tmp
13
+ tmp
14
+
15
+ # YARD artifacts
16
+ .yardoc
17
+ _yardoc
18
+ doc/
data/README.md ADDED
@@ -0,0 +1,4 @@
1
+ vine_client
2
+ ===========
3
+
4
+ vine_client
@@ -0,0 +1,38 @@
1
+ module Vine
2
+ class Client
3
+ include Request
4
+ def initialize(name, pass)
5
+ result=login(name,pass)
6
+ @key=result['key']
7
+ @userId=result['userId']
8
+ end
9
+
10
+ def login(name, pass)
11
+ post('/users/authenticate',{:username =>name, :password=>pass})
12
+ end
13
+
14
+ def logout
15
+ delete('/users/authenticate')
16
+ end
17
+
18
+ def get_popular
19
+ get('/timelines/popular')
20
+ end
21
+
22
+ def user_info(user_id=@userId)
23
+ get("/users/profiles/#{user_id}")
24
+ end
25
+
26
+ def timelines(user_id=@userId)
27
+ get("/timelines/users/#{user_id}")
28
+ end
29
+
30
+ def tag(tag=nil)
31
+ get('/timelines/tags/#{tag}') if tag
32
+ end
33
+
34
+ def notifications(user_id=@userId)
35
+ get("/users/#{user_id}/pendingNotificationsCount")
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,36 @@
1
+ module Vine
2
+ module Request
3
+
4
+ [:get,:put,:post,:delete].each{|verb|define_method(verb){|*arg| call(verb, arg[0],arg[1])}}
5
+
6
+ def call(http_verb, path, params)
7
+ result = connection.send(http_verb, path, params){|req| req[:vine_session_id]=@key if @key}
8
+ result.body['data']
9
+ end
10
+
11
+ def connection
12
+ options = {
13
+ :url => 'https://api.vineapp.com/',
14
+ :headers => {
15
+ :accept => 'application/json',
16
+ :user_agent => "com.vine.iphone/1.0.3 (unknown, iPhone OS 6.1.0, iPhone, Scale/2.000000)",
17
+ },
18
+ :request => {
19
+ :open_timeout => 5,
20
+ :timeout => 10,
21
+ },
22
+ :ssl => {
23
+ :verify => true
24
+ },
25
+ }
26
+
27
+ Faraday.new(options) do |builder|
28
+ builder.response :raise_error
29
+ builder.response :mashify
30
+ builder.response :json
31
+ builder.request :url_encoded
32
+ builder.adapter :net_http
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,9 @@
1
+ require 'faraday'
2
+ require 'faraday_middleware'
3
+ require 'vine_client/request'
4
+ require 'vine_client/client'
5
+
6
+
7
+ module Vine
8
+
9
+ end
@@ -0,0 +1,15 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = 'vine_client'
3
+ s.version = '0.0.0'
4
+ s.date = '2013-07-14'
5
+ s.summary = "vine_client"
6
+ s.description = "ruby wraper for vine.co api"
7
+ s.author = "Roman Lozhkin"
8
+ s.email = "obrigan228@gmail.com"
9
+ s.files = `git ls-files`.split("\n")
10
+ s.required_ruby_version = '>= 1.9.2'
11
+ s.add_runtime_dependency 'faraday', '~> 0.8'
12
+ s.add_runtime_dependency 'faraday_middleware', '~> 0.8'
13
+ s.require_paths = ['lib']
14
+ s.homepage = 'https://github.com/obrigan228/vine_client'
15
+ end
metadata ADDED
@@ -0,0 +1,82 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: vine_client
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Roman Lozhkin
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-07-14 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: faraday
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '0.8'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '0.8'
30
+ - !ruby/object:Gem::Dependency
31
+ name: faraday_middleware
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '0.8'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '0.8'
46
+ description: ruby wraper for vine.co api
47
+ email: obrigan228@gmail.com
48
+ executables: []
49
+ extensions: []
50
+ extra_rdoc_files: []
51
+ files:
52
+ - .gitignore
53
+ - README.md
54
+ - lib/vine_client.rb
55
+ - lib/vine_client/client.rb
56
+ - lib/vine_client/request.rb
57
+ - vine_client.gemspec
58
+ homepage: https://github.com/obrigan228/vine_client
59
+ licenses: []
60
+ post_install_message:
61
+ rdoc_options: []
62
+ require_paths:
63
+ - lib
64
+ required_ruby_version: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - '>='
68
+ - !ruby/object:Gem::Version
69
+ version: 1.9.2
70
+ required_rubygems_version: !ruby/object:Gem::Requirement
71
+ none: false
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ requirements: []
77
+ rubyforge_project:
78
+ rubygems_version: 1.8.25
79
+ signing_key:
80
+ specification_version: 3
81
+ summary: vine_client
82
+ test_files: []