officevibe 0.1.0 → 0.1.1
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 +4 -4
- data/.gitignore +2 -2
- data/Gemfile +0 -1
- data/Gemfile.lock +22 -1
- data/README.md +51 -6
- data/bin/console +8 -4
- data/lib/officevibe/client.rb +9 -0
- data/lib/officevibe/client_middleware.rb +15 -0
- data/lib/officevibe/version.rb +1 -1
- data/lib/officevibe.rb +0 -5
- data/officevibe.gemspec +4 -1
- metadata +45 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 942d85a5bb8d7d60350a411f852204b13bbddb19eadfd5c13b5340e2a69220e6
|
4
|
+
data.tar.gz: cda5c25f277bb750bb306743f465b1f3977df79f0cbacd3e4202eb4a7729e728
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6e04f8210a018deeb8f7d78362bac5b3901ac1cb00282ed11e6678d92f5f783f37e0582dc4625774d30312e00b7ee5f099bdb917682530caa93fa1bc5796ca47
|
7
|
+
data.tar.gz: 568a7cb177e7e83d3d4cb25133390f5b15ab81c5d081f1ab4f8aa8b041f77752e98a1ec94bc55f01a6d3cec66abe996c36b984743826c9521db9341b3cc82e04
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,20 +1,36 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
officevibe (0.1.
|
4
|
+
officevibe (0.1.1)
|
5
|
+
activesupport (~> 5.2)
|
5
6
|
faraday_middleware (~> 0.13.1)
|
6
7
|
json (~> 2.2.0)
|
7
8
|
|
8
9
|
GEM
|
9
10
|
remote: https://rubygems.org/
|
10
11
|
specs:
|
12
|
+
activesupport (5.2.3)
|
13
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
14
|
+
i18n (>= 0.7, < 2)
|
15
|
+
minitest (~> 5.1)
|
16
|
+
tzinfo (~> 1.1)
|
17
|
+
awesome_print (1.8.0)
|
18
|
+
coderay (1.1.2)
|
19
|
+
concurrent-ruby (1.1.5)
|
11
20
|
diff-lcs (1.3)
|
12
21
|
faraday (0.15.4)
|
13
22
|
multipart-post (>= 1.2, < 3)
|
14
23
|
faraday_middleware (0.13.1)
|
15
24
|
faraday (>= 0.7.4, < 1.0)
|
25
|
+
i18n (1.6.0)
|
26
|
+
concurrent-ruby (~> 1.0)
|
16
27
|
json (2.2.0)
|
28
|
+
method_source (0.9.2)
|
29
|
+
minitest (5.11.3)
|
17
30
|
multipart-post (2.1.1)
|
31
|
+
pry (0.12.2)
|
32
|
+
coderay (~> 1.1.0)
|
33
|
+
method_source (~> 0.9.0)
|
18
34
|
rake (10.5.0)
|
19
35
|
rspec (3.8.0)
|
20
36
|
rspec-core (~> 3.8.0)
|
@@ -29,13 +45,18 @@ GEM
|
|
29
45
|
diff-lcs (>= 1.2.0, < 2.0)
|
30
46
|
rspec-support (~> 3.8.0)
|
31
47
|
rspec-support (3.8.0)
|
48
|
+
thread_safe (0.3.6)
|
49
|
+
tzinfo (1.2.5)
|
50
|
+
thread_safe (~> 0.1)
|
32
51
|
|
33
52
|
PLATFORMS
|
34
53
|
ruby
|
35
54
|
|
36
55
|
DEPENDENCIES
|
56
|
+
awesome_print (~> 1.8.0)
|
37
57
|
bundler (~> 2.0)
|
38
58
|
officevibe!
|
59
|
+
pry (~> 0.12.2)
|
39
60
|
rake (~> 10.0)
|
40
61
|
rspec (~> 3.0)
|
41
62
|
|
data/README.md
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
# Officevibe
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
TODO: Delete this and the text above, and describe your gem
|
3
|
+
An early-stage Ruby client for Officevibe.
|
6
4
|
|
7
5
|
## Installation
|
8
6
|
|
@@ -20,9 +18,56 @@ Or install it yourself as:
|
|
20
18
|
|
21
19
|
$ gem install officevibe
|
22
20
|
|
21
|
+
## Configuration
|
22
|
+
|
23
|
+
To get your auth token log in to the Officevibe app and copy the value of the officevibe.auth cookie; this can be done through the Developer Tools of your browser or any number of browser extensions (like EditThisCookie for Chrome).
|
24
|
+
|
25
|
+
```ruby
|
26
|
+
client = Officevibe::Client.new("<your auth token here>")
|
27
|
+
```
|
28
|
+
|
23
29
|
## Usage
|
24
30
|
|
25
|
-
|
31
|
+
### Get Manageable Groups
|
32
|
+
|
33
|
+
```ruby
|
34
|
+
client.get_groups
|
35
|
+
# => [
|
36
|
+
# {
|
37
|
+
# "id" => "12345678-1234-5678-9012-12345678901",
|
38
|
+
# "display_name" => "Accounting Department"
|
39
|
+
# }
|
40
|
+
# ]
|
41
|
+
```
|
42
|
+
|
43
|
+
### Get Engagement Report
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
client.get_engagement_report("12345678-1234-5678-9012-12345678901")
|
47
|
+
# => {"metric_groups"=>
|
48
|
+
# [{"id"=>"MG-4",
|
49
|
+
# "description"=>"The \"Relationship with Manager\" metric represents trust, communication and collaboration between employees and their direct manager.",
|
50
|
+
# "title"=>"Relationship with Manager",
|
51
|
+
# "is_effective"=>true,
|
52
|
+
# "value"=>9.9,
|
53
|
+
# "graph"=>
|
54
|
+
# {"scale_min"=>8.1,
|
55
|
+
# "scale_max"=>9.7,
|
56
|
+
# "zoom"=>6.25,
|
57
|
+
# "offset"=>0.39,
|
58
|
+
# "min_value"=>0.0,
|
59
|
+
# "max_value"=>10.0,
|
60
|
+
# "interval_type"=>3,
|
61
|
+
# "values"=>
|
62
|
+
# [{"date"=>"2019-04-14T00:00:00Z", "value"=>9.9},
|
63
|
+
# {"date"=>"2019-04-21T00:00:00Z", "value"=>9.9},
|
64
|
+
# {"date"=>"2019-04-28T00:00:00Z", "value"=>9.9},
|
65
|
+
# {"date"=>"2019-05-05T00:00:00Z", "value"=>9.9},
|
66
|
+
# {"date"=>"2019-05-12T00:00:00Z", "value"=>9.9},
|
67
|
+
# {"date"=>"2019-05-19T00:00:00Z", "value"=>9.9},
|
68
|
+
# {"date"=>"2019-05-26T00:00:00Z", "value"=>9.9},
|
69
|
+
# {"date"=>"2019-06-02T00:00:00Z", "value"=>9.9},
|
70
|
+
```
|
26
71
|
|
27
72
|
## Development
|
28
73
|
|
@@ -32,7 +77,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
32
77
|
|
33
78
|
## Contributing
|
34
79
|
|
35
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
80
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/chrisb/officevibe. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
36
81
|
|
37
82
|
## License
|
38
83
|
|
@@ -40,4 +85,4 @@ The gem is available as open source under the terms of the [MIT License](https:/
|
|
40
85
|
|
41
86
|
## Code of Conduct
|
42
87
|
|
43
|
-
Everyone interacting in the Officevibe project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/
|
88
|
+
Everyone interacting in the Officevibe project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/chrisb/officevibe/blob/master/CODE_OF_CONDUCT.md).
|
data/bin/console
CHANGED
@@ -2,13 +2,17 @@
|
|
2
2
|
|
3
3
|
require "bundler/setup"
|
4
4
|
require "officevibe"
|
5
|
+
require "awesome_print"
|
5
6
|
|
6
7
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
8
|
# with your gem easier. You can also use a different console, if you like.
|
8
9
|
|
10
|
+
auth_token = File.read("./.auth_token").strip
|
11
|
+
@client = Officevibe::Client.new(auth_token)
|
12
|
+
|
9
13
|
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
-
|
11
|
-
|
14
|
+
require "pry"
|
15
|
+
Pry.start
|
12
16
|
|
13
|
-
require "irb"
|
14
|
-
IRB.start(__FILE__)
|
17
|
+
# require "irb"
|
18
|
+
# IRB.start(__FILE__)
|
data/lib/officevibe/client.rb
CHANGED
@@ -1,4 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
require "faraday_middleware"
|
3
|
+
require "date"
|
4
|
+
require "officevibe/client_middleware"
|
5
|
+
require "active_support/core_ext/module/delegation"
|
6
|
+
require "active_support/core_ext/string/inflections"
|
7
|
+
require "active_support/core_ext/hash/indifferent_access"
|
8
|
+
require "active_support/core_ext/object/to_query"
|
2
9
|
|
3
10
|
module Officevibe
|
4
11
|
class Client
|
@@ -15,6 +22,8 @@ module Officevibe
|
|
15
22
|
@auth_token = auth_token
|
16
23
|
@connection = Faraday.new url: OFFICEVIBE_URL, headers: headers do |conn|
|
17
24
|
conn.response :json, :content_type => /\bjson$/
|
25
|
+
conn.response :raise_error
|
26
|
+
conn.use Officevibe::ClientMiddleware
|
18
27
|
conn.adapter Faraday.default_adapter
|
19
28
|
end
|
20
29
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Officevibe
|
4
|
+
Error = Class.new(StandardError)
|
5
|
+
InvalidAuthToken = Class.new(Officevibe::Error)
|
6
|
+
|
7
|
+
class ClientMiddleware < Faraday::Response::Middleware
|
8
|
+
def on_complete(env)
|
9
|
+
case env[:status]
|
10
|
+
when 302
|
11
|
+
raise Officevibe::InvalidAuthToken, JSON.parse(env.body)["message"]
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/lib/officevibe/version.rb
CHANGED
data/lib/officevibe.rb
CHANGED
data/officevibe.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["chrisb@users.noreply.github.com"]
|
11
11
|
|
12
12
|
spec.summary = "An Officevibe client for Ruby"
|
13
|
-
spec.description = "An Officevibe client for Ruby"
|
13
|
+
spec.description = "An Officevibe client for Ruby. Currently supports only a few things."
|
14
14
|
spec.homepage = "https://github.com/chrisb/officevibe-ruby"
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
@@ -25,8 +25,11 @@ Gem::Specification.new do |spec|
|
|
25
25
|
|
26
26
|
spec.add_dependency "faraday_middleware", "~> 0.13.1"
|
27
27
|
spec.add_dependency "json", "~> 2.2.0"
|
28
|
+
spec.add_dependency "activesupport", "~> 5.2"
|
28
29
|
|
29
30
|
spec.add_development_dependency "bundler", "~> 2.0"
|
30
31
|
spec.add_development_dependency "rake", "~> 10.0"
|
31
32
|
spec.add_development_dependency "rspec", "~> 3.0"
|
33
|
+
spec.add_development_dependency "pry", "~> 0.12.2"
|
34
|
+
spec.add_development_dependency "awesome_print", "~> 1.8.0"
|
32
35
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: officevibe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Bielinski
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 2.2.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: activesupport
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '5.2'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '5.2'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: bundler
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,7 +94,35 @@ dependencies:
|
|
80
94
|
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '3.0'
|
83
|
-
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: pry
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.12.2
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.12.2
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: awesome_print
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 1.8.0
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 1.8.0
|
125
|
+
description: An Officevibe client for Ruby. Currently supports only a few things.
|
84
126
|
email:
|
85
127
|
- chrisb@users.noreply.github.com
|
86
128
|
executables: []
|
@@ -100,6 +142,7 @@ files:
|
|
100
142
|
- bin/setup
|
101
143
|
- lib/officevibe.rb
|
102
144
|
- lib/officevibe/client.rb
|
145
|
+
- lib/officevibe/client_middleware.rb
|
103
146
|
- lib/officevibe/version.rb
|
104
147
|
- officevibe.gemspec
|
105
148
|
homepage: https://github.com/chrisb/officevibe-ruby
|