team_viewer 0.0.0 → 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 49c50c092ee533707e4a6ca65ad70c2d4bf0317a
4
- data.tar.gz: a8fa7a5da1c5d123d8a1d94ecf3a4872846b5bc0
3
+ metadata.gz: db8bb68205af21a1a2eb23841205af50fe1f8bb0
4
+ data.tar.gz: 0586305e58cccd16c580c34eb1d71b3ca5dd480c
5
5
  SHA512:
6
- metadata.gz: 5a72e44f584f8f66cec5388dc4590d14451492a7df44bd235b7e158c358c7c477b6d92de6b0a11743ac99253c43b8894904a8080a32df3e97dc216e9edac9b81
7
- data.tar.gz: 4b04d30175b2c923f9af3f5b85a0e3afaaf52c32776b3af5171ab9f9c798b4a669ed351e017d72eabb4dd05dc1f89f6f01bca871649ded49e4264d53295a9d12
6
+ metadata.gz: 8143e98184efc503a22b0c390209befa9a49acca92c85586b167a0bfd1b407041768cae96b044ad594b14f50e2e462307f3f11e1f615fc5dc31b8555ca9f38e2
7
+ data.tar.gz: cb173aa3737bdbbd7db70f03b2622dd437e7208f98d7c7c961d7ab0250efa9d07eb749f8ba68cc20d6bb014460524e350545898247b89b2c4941dc1ff6b2a991
data/Gemfile CHANGED
@@ -4,6 +4,7 @@ source "http://rubygems.org"
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
 
6
6
  gem "oauth2"
7
+ gem "codeclimate-test-reporter", group: :test, require: nil
7
8
 
8
9
  # Add dependencies to develop your gem here.
9
10
  # Include everything needed to run rake, tests, features, etc.
@@ -3,6 +3,8 @@ GEM
3
3
  specs:
4
4
  addressable (2.3.6)
5
5
  builder (3.2.2)
6
+ codeclimate-test-reporter (0.4.1)
7
+ simplecov (>= 0.7.1, < 1.0.0)
6
8
  descendants_tracker (0.0.4)
7
9
  thread_safe (~> 0.3, >= 0.3.1)
8
10
  diff-lcs (1.1.3)
@@ -67,6 +69,7 @@ PLATFORMS
67
69
 
68
70
  DEPENDENCIES
69
71
  bundler (~> 1.0)
72
+ codeclimate-test-reporter
70
73
  jeweler (~> 2.0.1)
71
74
  oauth2
72
75
  rdoc (~> 3.12)
@@ -0,0 +1,71 @@
1
+ [![Code Climate](https://codeclimate.com/github/kaspernj/team_viewer/badges/gpa.svg)](https://codeclimate.com/github/kaspernj/team_viewer)
2
+ [![Test Coverage](https://codeclimate.com/github/kaspernj/team_viewer/badges/coverage.svg)](https://codeclimate.com/github/kaspernj/team_viewer)
3
+ [![Gem Version](https://badge.fury.io/rb/team_viewer.svg)](http://badge.fury.io/rb/team_viewer)
4
+
5
+ # TeamViewer
6
+
7
+ TeamViewer API for Ruby.
8
+
9
+ Original code found here:
10
+ https://gist.github.com/theinventor/9918950
11
+
12
+ ## Install
13
+
14
+ Enter this in your Gemfile and bundle:
15
+ ```ruby
16
+ gem 'team_viewer'
17
+ ```
18
+
19
+ ## Usage
20
+
21
+ ```ruby
22
+ conn = ::TeamViewer::Connector.new(client_id: "client_id", client_secret: "client_secret")
23
+ client = conn.client
24
+ team_viewer = ::TeamViewer::Client.new(client, "access_token")
25
+ ```
26
+
27
+ ### Add a session
28
+
29
+ ```ruby
30
+ response = team_viewer.session_add(
31
+ groupname: "Test",
32
+ end_customer: {
33
+ name: "Some name",
34
+ email: "customer@email.com"
35
+ }
36
+ )
37
+ ```
38
+
39
+ ### Ping
40
+
41
+ ```ruby
42
+ team_viewer.ping
43
+ ```
44
+
45
+ ### Get list of users
46
+
47
+ ```ruby
48
+ team_viewer.users
49
+ ```
50
+
51
+ ### Add user
52
+
53
+ ```ruby
54
+ team_viewer.user_add(data)
55
+ ```
56
+
57
+ ## Contributing to TeamViewer
58
+
59
+ * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
60
+ * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
61
+ * Fork the project.
62
+ * Start a feature/bugfix branch.
63
+ * Commit and push until you are happy with your contribution.
64
+ * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
65
+ * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
66
+
67
+ ## Copyright
68
+
69
+ Copyright (c) 2014 kaspernj. See LICENSE.txt for
70
+ further details.
71
+
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.0
1
+ 0.0.1
@@ -1,164 +1,4 @@
1
- module TeamViewer
2
- class Connector
3
- attr_reader :client
4
-
5
- def initialize
6
- @client = connection(credentials)
7
- end
8
-
9
- def credentials
10
- # should be loaded from yml or something else
11
- hash = {}
12
- hash[:base_url] = 'https://webapi.teamviewer.com'
13
- hash[:client_id] = '16787-ea8X6tmNYc8HxP0FMsni'
14
- hash[:client_secret] = 'RqlaiDkVNoZR6vJuTDnB'
15
- hash
16
- end
17
-
18
- def connection(credentials)
19
- OAuth2::Client.new(
20
- credentials[:client_id],
21
- credentials[:client_secret],
22
- :site => credentials[:base_url],
23
- :authorize_url => '/api/v1/oauth2/authorize',
24
- :token_url => '/api/v1/oauth2/token'
25
- )
26
- end
27
- end
28
-
29
- class Client
30
- attr_reader :access_token
31
-
32
- def initialize(client, token_str)
33
- @client = client
34
- @access_token = token(token_str)
35
- end
36
-
37
- def token(str)
38
- OAuth2::AccessToken.new(@client, str)
39
- end
40
-
41
-
42
- #------------#
43
- #--- Ping ---#
44
- #------------#
45
-
46
- def ping
47
- get 'ping'
48
- end
49
-
50
-
51
- #-------------#
52
- #--- Users ---#
53
- #-------------#
54
-
55
- def users(params = nil)
56
- get 'users', params
57
- end
58
-
59
- def user_add(data)
60
- post 'users', data
61
- end
62
-
63
- def user_get(id)
64
- get "users/#{id}"
65
- end
66
-
67
- def user_update(id, data)
68
- put "users/#{id}", data
69
- end
70
-
71
-
72
- #----------------#
73
- #--- Sessions ---#
74
- #----------------#
75
-
76
- def sessions(params = nil)
77
- get 'sessions', params
78
- end
79
-
80
- def session_add(data)
81
- post 'sessions', data
82
- end
83
-
84
- def session_get(code)
85
- get "sessions/#{code}"
86
- end
87
-
88
- def session_update(code)
89
- put "sessions/#{code}", data
90
- end
91
-
92
-
93
- #--------------------------#
94
- #--- Connection Reports ---#
95
- #--------------------------#
96
-
97
- def reports(params = nil)
98
- get 'reports/connections', params
99
- end
100
-
101
- def report_update(id, data)
102
- put "reports/connections/#{id}", data
103
- end
104
-
105
- def report_delete(id)
106
- delete "reports/connections/#{id}"
107
- end
108
-
109
-
110
- #----------------#
111
- #--- Meetings ---#
112
- #----------------#
113
-
114
- def meetings(params = nil)
115
- get 'meetings', params
116
- end
117
-
118
- def meeting_get(id)
119
- get "meetings/#{id}"
120
- end
121
-
122
- def meeting_invitation(id, params)
123
- get "meetings/#{id}/invitation", params
124
- end
125
-
126
- def meeting_add(data)
127
- post 'meetings', data
128
- end
129
-
130
- def meeting_update(id, data)
131
- put "meetings/#{id}", data
132
- end
133
-
134
- def meeting_delete(id)
135
- delete "meetings/#{id}"
136
- end
137
-
138
- private
139
-
140
- def full_path(resource)
141
- "api/v1/#{resource}"
142
- end
143
-
144
- def get(resource, params = nil)
145
- response = @access_token.get( full_path(resource), :params => params )
146
- response.parsed
147
- end
148
-
149
- def post(resource, data)
150
- response = @access_token.post( full_path(resource), { body: data } )
151
- response.status == 200 ? response.parsed : response.status
152
- end
153
-
154
- def put(resource, data)
155
- response = @access_token.put( full_path(resource), { body: data } )
156
- response.status
157
- end
158
-
159
- def delete(resource)
160
- response = @access_token.delete( full_path(resource) )
161
- response.status
162
- end
163
- end
1
+ class TeamViewer
2
+ autoload :Client, "#{File.dirname(__FILE__)}/team_viewer/client"
3
+ autoload :Connector, "#{File.dirname(__FILE__)}/team_viewer/connector"
164
4
  end
@@ -0,0 +1,135 @@
1
+ class TeamViewer::Client
2
+ attr_reader :access_token
3
+
4
+ def initialize(client, token_str)
5
+ @client = client
6
+ @access_token = token(token_str)
7
+ end
8
+
9
+ def token(str)
10
+ OAuth2::AccessToken.new(@client, str)
11
+ end
12
+
13
+
14
+ #------------#
15
+ #--- Ping ---#
16
+ #------------#
17
+
18
+ def ping
19
+ get 'ping'
20
+ end
21
+
22
+
23
+ #-------------#
24
+ #--- Users ---#
25
+ #-------------#
26
+
27
+ def users(params = nil)
28
+ get 'users', params
29
+ end
30
+
31
+ def user_add(data)
32
+ post 'users', data
33
+ end
34
+
35
+ def user_get(id)
36
+ get "users/#{id}"
37
+ end
38
+
39
+ def user_update(id, data)
40
+ put "users/#{id}", data
41
+ end
42
+
43
+
44
+ #----------------#
45
+ #--- Sessions ---#
46
+ #----------------#
47
+
48
+ def sessions(params = nil)
49
+ get 'sessions', params
50
+ end
51
+
52
+ def session_add(data)
53
+ post 'sessions', data
54
+ end
55
+
56
+ def session_get(code)
57
+ get "sessions/#{code}"
58
+ end
59
+
60
+ def session_update(code, data)
61
+ put "sessions/#{code}", data
62
+ end
63
+
64
+
65
+ #--------------------------#
66
+ #--- Connection Reports ---#
67
+ #--------------------------#
68
+
69
+ def reports(params = nil)
70
+ get 'reports/connections', params
71
+ end
72
+
73
+ def report_update(id, data)
74
+ put "reports/connections/#{id}", data
75
+ end
76
+
77
+ def report_delete(id)
78
+ delete "reports/connections/#{id}"
79
+ end
80
+
81
+
82
+ #----------------#
83
+ #--- Meetings ---#
84
+ #----------------#
85
+
86
+ def meetings(params = nil)
87
+ get 'meetings', params
88
+ end
89
+
90
+ def meeting_get(id)
91
+ get "meetings/#{id}"
92
+ end
93
+
94
+ def meeting_invitation(id, params)
95
+ get "meetings/#{id}/invitation", params
96
+ end
97
+
98
+ def meeting_add(data)
99
+ post 'meetings', data
100
+ end
101
+
102
+ def meeting_update(id, data)
103
+ put "meetings/#{id}", data
104
+ end
105
+
106
+ def meeting_delete(id)
107
+ delete "meetings/#{id}"
108
+ end
109
+
110
+ private
111
+
112
+ def full_path(resource)
113
+ "api/v1/#{resource}"
114
+ end
115
+
116
+ def get(resource, params = nil)
117
+ response = @access_token.get(full_path(resource), params: params)
118
+ response.parsed
119
+ end
120
+
121
+ def post(resource, data)
122
+ response = @access_token.post(full_path(resource), body: data)
123
+ response.status == 200 ? response.parsed : response.status
124
+ end
125
+
126
+ def put(resource, data)
127
+ response = @access_token.put(full_path(resource), body: data)
128
+ response.status
129
+ end
130
+
131
+ def delete(resource)
132
+ response = @access_token.delete( full_path(resource) )
133
+ response.status
134
+ end
135
+ end
@@ -0,0 +1,24 @@
1
+ class TeamViewer::Connector
2
+ attr_reader :client
3
+
4
+ def initialize(args)
5
+ @args = args
6
+ @client = connection(credentials)
7
+ end
8
+
9
+ def credentials
10
+ {
11
+ base_url: 'https://webapi.teamviewer.com',
12
+ client_id: @args[:client_id],
13
+ client_secret: @args[:client_secret]
14
+ }
15
+ end
16
+
17
+ def connection(credentials)
18
+ OAuth2::Client.new(credentials[:client_id], credentials[:client_secret],
19
+ site: credentials[:base_url],
20
+ authorize_url: '/api/v1/oauth2/authorize',
21
+ token_url: '/api/v1/oauth2/token'
22
+ )
23
+ end
24
+ end
@@ -0,0 +1,9 @@
1
+ language: ruby
2
+ cache: bundler
3
+ archive: true
4
+ rvm:
5
+ - 2.1.2
6
+ script:
7
+ - CODECLIMATE_REPO_TOKEN=b7a54ae867b9494d5a1bfe21edd914e7b304390a41be22cb225ef49e445688f0 bundle exec rspec
8
+ notifications:
9
+ email: false
@@ -1,3 +1,6 @@
1
+ require "codeclimate-test-reporter"
2
+ CodeClimate::TestReporter.start
3
+
1
4
  require 'simplecov'
2
5
 
3
6
  module SimpleCov::Configuration
@@ -25,5 +28,4 @@ require 'team_viewer'
25
28
  Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
26
29
 
27
30
  RSpec.configure do |config|
28
-
29
31
  end
@@ -1,7 +1,8 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  describe "TeamViewer" do
4
- it "fails" do
5
- fail "hey buddy, you should probably rename this file and start specing for real"
4
+ it "should autoload" do
5
+ TeamViewer::Client
6
+ TeamViewer::Connector
6
7
  end
7
8
  end
@@ -2,21 +2,21 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: team_viewer 0.0.0 ruby lib
5
+ # stub: team_viewer 0.0.1 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "team_viewer"
9
- s.version = "0.0.0"
9
+ s.version = "0.0.1"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["kaspernj"]
14
- s.date = "2014-11-12"
14
+ s.date = "2014-12-04"
15
15
  s.description = "TeamViewer API for Ruby"
16
16
  s.email = "k@spernj.org"
17
17
  s.extra_rdoc_files = [
18
18
  "LICENSE.txt",
19
- "README.rdoc"
19
+ "README.md"
20
20
  ]
21
21
  s.files = [
22
22
  ".document",
@@ -24,10 +24,13 @@ Gem::Specification.new do |s|
24
24
  "Gemfile",
25
25
  "Gemfile.lock",
26
26
  "LICENSE.txt",
27
- "README.rdoc",
27
+ "README.md",
28
28
  "Rakefile",
29
29
  "VERSION",
30
30
  "lib/team_viewer.rb",
31
+ "lib/team_viewer/client.rb",
32
+ "lib/team_viewer/connector.rb",
33
+ "shippable.yml",
31
34
  "spec/spec_helper.rb",
32
35
  "spec/team_viewer_spec.rb",
33
36
  "team_viewer.gemspec"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: team_viewer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - kaspernj
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-12 00:00:00.000000000 Z
11
+ date: 2014-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oauth2
@@ -100,17 +100,20 @@ executables: []
100
100
  extensions: []
101
101
  extra_rdoc_files:
102
102
  - LICENSE.txt
103
- - README.rdoc
103
+ - README.md
104
104
  files:
105
105
  - ".document"
106
106
  - ".rspec"
107
107
  - Gemfile
108
108
  - Gemfile.lock
109
109
  - LICENSE.txt
110
- - README.rdoc
110
+ - README.md
111
111
  - Rakefile
112
112
  - VERSION
113
113
  - lib/team_viewer.rb
114
+ - lib/team_viewer/client.rb
115
+ - lib/team_viewer/connector.rb
116
+ - shippable.yml
114
117
  - spec/spec_helper.rb
115
118
  - spec/team_viewer_spec.rb
116
119
  - team_viewer.gemspec
@@ -1,19 +0,0 @@
1
- = team_viewer
2
-
3
- Description goes here.
4
-
5
- == Contributing to team_viewer
6
-
7
- * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
8
- * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
9
- * Fork the project.
10
- * Start a feature/bugfix branch.
11
- * Commit and push until you are happy with your contribution.
12
- * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
13
- * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
14
-
15
- == Copyright
16
-
17
- Copyright (c) 2014 kaspernj. See LICENSE.txt for
18
- further details.
19
-