traitify 1.8.4 → 2.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.
Files changed (67) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +11 -0
  3. data/CHANGELOG.md +5 -0
  4. data/Gemfile +5 -1
  5. data/Gemfile.lock +109 -42
  6. data/README.md +50 -25
  7. data/lib/traitify/client/connection.rb +22 -0
  8. data/lib/traitify/client/model.rb +45 -0
  9. data/lib/traitify/client/overrides.rb +27 -0
  10. data/lib/traitify/client/request.rb +33 -0
  11. data/lib/traitify/client/setup.rb +25 -0
  12. data/lib/traitify/client.rb +20 -27
  13. data/lib/traitify/configuration.rb +4 -12
  14. data/lib/traitify/data.rb +18 -0
  15. data/lib/traitify/error.rb +18 -16
  16. data/lib/traitify/middleware/formatter.rb +52 -0
  17. data/lib/traitify/middleware/raise_error.rb +38 -0
  18. data/lib/traitify/response.rb +44 -0
  19. data/lib/traitify/version.rb +1 -1
  20. data/lib/traitify.rb +29 -1
  21. data/paths.yml +1352 -0
  22. data/spec/spec_helper.rb +14 -6
  23. data/spec/support/mocks/assessment.json +1 -1
  24. data/spec/support/mocks/assessment_analytics.json +7 -0
  25. data/spec/support/mocks/blank.json +0 -0
  26. data/spec/support/mocks/career.json +1 -2
  27. data/spec/support/mocks/careers.json +2 -3
  28. data/spec/support/mocks/decks.json +1 -4
  29. data/spec/support/mocks/locale.json +10 -0
  30. data/spec/support/mocks/locales.json +12 -0
  31. data/spec/support/mocks/profile.json +5 -0
  32. data/spec/support/mocks/profiles.json +5 -0
  33. data/spec/support/mocks/trait_analytics.json +7 -0
  34. data/spec/support/mocks/type_analytics.json +7 -0
  35. data/spec/traitify/client/examples/analytics_spec.rb +53 -0
  36. data/spec/{traitify-ruby/client → traitify/client/examples}/assessment_spec.rb +19 -14
  37. data/spec/traitify/client/examples/career_spec.rb +52 -0
  38. data/spec/traitify/client/examples/configuration_spec.rb +29 -0
  39. data/spec/traitify/client/examples/deck_spec.rb +29 -0
  40. data/spec/traitify/client/examples/locale_spec.rb +39 -0
  41. data/spec/{traitify-ruby/client → traitify/client/examples}/major_spec.rb +12 -11
  42. data/spec/traitify/client/examples/profiles_spec.rb +66 -0
  43. data/spec/traitify/client/examples/result_spec.rb +130 -0
  44. data/spec/traitify/client/examples/slide_spec.rb +95 -0
  45. data/spec/traitify/client/model_spec.rb +73 -0
  46. data/spec/traitify/client/request_spec.rb +85 -0
  47. data/spec/traitify/client/setup_spec.rb +62 -0
  48. data/spec/traitify/client_spec.rb +52 -0
  49. data/spec/traitify/data_spec.rb +105 -0
  50. data/spec/traitify/error_spec.rb +117 -0
  51. data/spec/traitify/response_spec.rb +82 -0
  52. data/spec/traitify/version_spec.rb +7 -0
  53. data/traitify.gemspec +14 -12
  54. metadata +113 -53
  55. data/lib/traitify/client/assessments.rb +0 -29
  56. data/lib/traitify/client/careers.rb +0 -25
  57. data/lib/traitify/client/decks.rb +0 -16
  58. data/lib/traitify/client/majors.rb +0 -25
  59. data/lib/traitify/client/results.rb +0 -37
  60. data/lib/traitify/client/slides.rb +0 -34
  61. data/lib/traitify/connection.rb +0 -33
  62. data/lib/traitify/request.rb +0 -18
  63. data/spec/traitify-ruby/client/career_spec.rb +0 -51
  64. data/spec/traitify-ruby/client/configuration_spec.rb +0 -51
  65. data/spec/traitify-ruby/client/deck_spec.rb +0 -28
  66. data/spec/traitify-ruby/client/result_spec.rb +0 -93
  67. data/spec/traitify-ruby/client/slide_spec.rb +0 -82
@@ -0,0 +1,117 @@
1
+ require "spec_helper"
2
+
3
+ describe Traitify::Error do
4
+ describe "#from" do
5
+ it "creates error from 400" do
6
+ response = Traitify::Data.new(
7
+ body: "string",
8
+ request: {http_method: "get", url: "http://www.example.com"},
9
+ status: 400
10
+ )
11
+ result = Traitify::Error.from(response)
12
+
13
+ expect(result).to be_an_instance_of(Traitify::BadRequest)
14
+ end
15
+
16
+ it "creates error from 401" do
17
+ response = Traitify::Data.new(
18
+ body: "string",
19
+ request: {http_method: "get", url: "http://www.example.com"},
20
+ status: 401
21
+ )
22
+ result = Traitify::Error.from(response)
23
+
24
+ expect(result).to be_an_instance_of(Traitify::Unauthorized)
25
+ end
26
+
27
+ it "creates error from 404" do
28
+ response = Traitify::Data.new(
29
+ body: "string",
30
+ request: {http_method: "get", url: "http://www.example.com"},
31
+ status: 404
32
+ )
33
+ result = Traitify::Error.from(response)
34
+
35
+ expect(result).to be_an_instance_of(Traitify::NotFound)
36
+ end
37
+
38
+ it "creates error from 422" do
39
+ response = Traitify::Data.new(
40
+ body: "string",
41
+ request: {http_method: "get", url: "http://www.example.com"},
42
+ status: 422
43
+ )
44
+ result = Traitify::Error.from(response)
45
+
46
+ expect(result).to be_an_instance_of(Traitify::UnprocessableEntity)
47
+ end
48
+
49
+ it "creates error from 500" do
50
+ response = Traitify::Data.new(
51
+ body: "string",
52
+ request: {http_method: "get", url: "http://www.example.com"},
53
+ status: 500
54
+ )
55
+ result = Traitify::Error.from(response)
56
+
57
+ expect(result).to be_an_instance_of(Traitify::ServerError)
58
+ end
59
+
60
+ it "creates nothing from 200" do
61
+ response = Traitify::Data.new(
62
+ body: "string",
63
+ request: {http_method: "get", url: "http://www.example.com"},
64
+ status: 200
65
+ )
66
+ result = Traitify::Error.from(response)
67
+
68
+ expect(result).to be_nil
69
+ end
70
+ end
71
+
72
+ describe ".message" do
73
+ it "returns error from array" do
74
+ response = Traitify::Data.new(
75
+ body: ["array with string"],
76
+ request: {http_method: "get", url: "http://www.example.com"},
77
+ status: 500
78
+ )
79
+ result = Traitify::Error.new(response).message
80
+
81
+ expect(result).to eq("GET | http://www.example.com | 500 | array with string")
82
+ end
83
+
84
+ it "returns error from array with object" do
85
+ response = Traitify::Data.new(
86
+ body: [{message: "array with object"}],
87
+ request: {http_method: "get", url: "http://www.example.com"},
88
+ status: 500
89
+ )
90
+ result = Traitify::Error.new(response).message
91
+
92
+ expect(result).to eq("GET | http://www.example.com | 500 | array with object")
93
+ end
94
+
95
+ it "returns error from object" do
96
+ response = Traitify::Data.new(
97
+ body: {message: "object with message"},
98
+ request: {http_method: "get", url: "http://www.example.com"},
99
+ status: 500
100
+ )
101
+ result = Traitify::Error.new(response).message
102
+
103
+ expect(result).to eq("GET | http://www.example.com | 500 | object with message")
104
+ end
105
+
106
+ it "returns error from string" do
107
+ response = Traitify::Data.new(
108
+ body: "string",
109
+ request: {http_method: "get", url: "http://www.example.com"},
110
+ status: 500
111
+ )
112
+ result = Traitify::Error.new(response).message
113
+
114
+ expect(result).to eq("GET | http://www.example.com | 500 | string")
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,82 @@
1
+ require "spec_helper"
2
+
3
+ describe Traitify::Response do
4
+ describe ".data" do
5
+ it "returns array from array" do
6
+ request = OpenStruct.new(body: [{traitify: "result"}])
7
+ result = Traitify::Response.new(request).data
8
+
9
+ expect(result[0]).to be_instance_of(Traitify::Data)
10
+ expect(result[0].traitify).to eq("result")
11
+ end
12
+
13
+ it "returns data from hash" do
14
+ request = OpenStruct.new(body: {traitify: "result"})
15
+ result = Traitify::Response.new(request).data
16
+
17
+ expect(result).to be_instance_of(Traitify::Data)
18
+ expect(result.traitify).to eq("result")
19
+ end
20
+ end
21
+
22
+ describe ".page" do
23
+ it "returns blank pagination" do
24
+ request = Traitify::Data.new(env: {response_headers: {}})
25
+ result = Traitify::Response.new(request).page
26
+
27
+ expect(result.previous).to be_blank
28
+ expect(result.next).to be_blank
29
+ end
30
+
31
+ it "returns both pages" do
32
+ previous_url = "http://www.example.com/previous?page=1"
33
+ next_url = "http://www.example.com/next?page=1"
34
+ link = ["<#{previous_url}>; rel=\"prev\"", "<#{next_url}>; rel=\"next\""].join(", ")
35
+ request = Traitify::Data.new(env: {response_headers: {link: link}})
36
+ result = Traitify::Response.new(request).page
37
+
38
+ expect(result.next.params.page).to eq(["1"])
39
+ expect(result.next.url).to eq(next_url)
40
+ expect(result.previous.params.page).to eq(["1"])
41
+ expect(result.previous.url).to eq(previous_url)
42
+ end
43
+
44
+ it "returns next page" do
45
+ next_url = "http://www.example.com/next?page=1"
46
+ link = ["<#{next_url}>; rel=\"next\""].join(", ")
47
+ request = Traitify::Data.new(env: {response_headers: {link: link}})
48
+ result = Traitify::Response.new(request).page
49
+
50
+ expect(result.next.params.page).to eq(["1"])
51
+ expect(result.next.url).to eq(next_url)
52
+ expect(result.previous).to be_blank
53
+ end
54
+
55
+ it "returns previous page" do
56
+ previous_url = "http://www.example.com/previous?page=1"
57
+ link = ["<#{previous_url}>; rel=\"prev\""].join(", ")
58
+ request = Traitify::Data.new(env: {response_headers: {link: link}})
59
+ result = Traitify::Response.new(request).page
60
+
61
+ expect(result.next).to be_blank
62
+ expect(result.previous.params.page).to eq(["1"])
63
+ expect(result.previous.url).to eq(previous_url)
64
+ end
65
+ end
66
+
67
+ describe ".total" do
68
+ it "returns nothing" do
69
+ request = Traitify::Data.new(env: {response_headers: {}})
70
+ result = Traitify::Response.new(request).total
71
+
72
+ expect(result).to be_blank
73
+ end
74
+
75
+ it "returns total" do
76
+ request = Traitify::Data.new(env: {response_headers: {"x-total-count" => 10}})
77
+ result = Traitify::Response.new(request).total
78
+
79
+ expect(result).to eq(10)
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,7 @@
1
+ require "spec_helper"
2
+
3
+ describe Traitify::VERSION do
4
+ it "returns version" do
5
+ expect(Traitify::VERSION).to be_a_kind_of(String)
6
+ end
7
+ end
data/traitify.gemspec CHANGED
@@ -1,5 +1,6 @@
1
1
  lib = File.expand_path("../lib", __FILE__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require "English"
3
4
  require "traitify/version"
4
5
 
5
6
  Gem::Specification.new do |spec|
@@ -8,23 +9,24 @@ Gem::Specification.new do |spec|
8
9
  spec.licenses = ["MIT"]
9
10
  spec.summary = "Traitify Gem"
10
11
  spec.description = "Traitify is a ruby gem wrapper for the Traitify API"
11
- spec.authors = ["Tom Prats", "Eric Fleming"]
12
+ spec.authors = ["Tom Prats", "Eric Fleming", "Carson Wright"]
12
13
  spec.email = "tom@traitify.com"
13
14
  spec.homepage = "https://www.traitify.com"
14
15
 
15
- spec.files = `git ls-files`.split($/)
16
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
16
+ spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
17
+ spec.executables = spec.files.grep(%r{^bin/}){ |f| File.basename(f) }
17
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
19
  spec.require_paths = ["lib"]
19
20
 
20
- spec.add_dependency "hashie", "~> 3.0"
21
- spec.add_dependency "faraday", "~> 0.9"
22
- spec.add_dependency "faraday_middleware", "~> 0.9"
21
+ spec.add_runtime_dependency "activesupport", ">= 5.1", "< 8.x"
22
+ spec.add_runtime_dependency "faraday", "~> 2.5"
23
+ spec.add_runtime_dependency "faraday-net_http", "~> 3.0"
23
24
 
24
- spec.add_development_dependency "bundler", "~> 1.3"
25
- spec.add_development_dependency "rake", "~> 10.1"
26
- spec.add_development_dependency "rspec", "~> 2.14"
27
- spec.add_development_dependency "pry", "~> 0.10"
28
- spec.add_development_dependency "binding_of_caller", "~> 0.7"
29
- spec.add_development_dependency "webmock", "~> 1.13"
25
+ spec.add_development_dependency "binding_of_caller", "~> 1.0"
26
+ spec.add_development_dependency "bundler", "~> 2.2"
27
+ spec.add_development_dependency "pry", "~> 0.14"
28
+ spec.add_development_dependency "rake", "~> 13.0"
29
+ spec.add_development_dependency "rspec", "~> 3.11"
30
+ spec.add_development_dependency "simplecov", "~> 0.21.2"
31
+ spec.add_development_dependency "webmock", "~> 3.18"
30
32
  end
metadata CHANGED
@@ -1,142 +1,163 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: traitify
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.4
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Prats
8
8
  - Eric Fleming
9
+ - Carson Wright
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2015-05-20 00:00:00.000000000 Z
13
+ date: 2022-09-08 00:00:00.000000000 Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
- name: hashie
16
+ name: activesupport
16
17
  requirement: !ruby/object:Gem::Requirement
17
18
  requirements:
18
- - - "~>"
19
+ - - ">="
19
20
  - !ruby/object:Gem::Version
20
- version: '3.0'
21
+ version: '5.1'
22
+ - - "<"
23
+ - !ruby/object:Gem::Version
24
+ version: 8.x
21
25
  type: :runtime
22
26
  prerelease: false
23
27
  version_requirements: !ruby/object:Gem::Requirement
24
28
  requirements:
25
- - - "~>"
29
+ - - ">="
26
30
  - !ruby/object:Gem::Version
27
- version: '3.0'
31
+ version: '5.1'
32
+ - - "<"
33
+ - !ruby/object:Gem::Version
34
+ version: 8.x
28
35
  - !ruby/object:Gem::Dependency
29
36
  name: faraday
30
37
  requirement: !ruby/object:Gem::Requirement
31
38
  requirements:
32
39
  - - "~>"
33
40
  - !ruby/object:Gem::Version
34
- version: '0.9'
41
+ version: '2.5'
35
42
  type: :runtime
36
43
  prerelease: false
37
44
  version_requirements: !ruby/object:Gem::Requirement
38
45
  requirements:
39
46
  - - "~>"
40
47
  - !ruby/object:Gem::Version
41
- version: '0.9'
48
+ version: '2.5'
42
49
  - !ruby/object:Gem::Dependency
43
- name: faraday_middleware
50
+ name: faraday-net_http
44
51
  requirement: !ruby/object:Gem::Requirement
45
52
  requirements:
46
53
  - - "~>"
47
54
  - !ruby/object:Gem::Version
48
- version: '0.9'
55
+ version: '3.0'
49
56
  type: :runtime
50
57
  prerelease: false
51
58
  version_requirements: !ruby/object:Gem::Requirement
52
59
  requirements:
53
60
  - - "~>"
54
61
  - !ruby/object:Gem::Version
55
- version: '0.9'
62
+ version: '3.0'
63
+ - !ruby/object:Gem::Dependency
64
+ name: binding_of_caller
65
+ requirement: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '1.0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '1.0'
56
77
  - !ruby/object:Gem::Dependency
57
78
  name: bundler
58
79
  requirement: !ruby/object:Gem::Requirement
59
80
  requirements:
60
81
  - - "~>"
61
82
  - !ruby/object:Gem::Version
62
- version: '1.3'
83
+ version: '2.2'
63
84
  type: :development
64
85
  prerelease: false
65
86
  version_requirements: !ruby/object:Gem::Requirement
66
87
  requirements:
67
88
  - - "~>"
68
89
  - !ruby/object:Gem::Version
69
- version: '1.3'
90
+ version: '2.2'
70
91
  - !ruby/object:Gem::Dependency
71
- name: rake
92
+ name: pry
72
93
  requirement: !ruby/object:Gem::Requirement
73
94
  requirements:
74
95
  - - "~>"
75
96
  - !ruby/object:Gem::Version
76
- version: '10.1'
97
+ version: '0.14'
77
98
  type: :development
78
99
  prerelease: false
79
100
  version_requirements: !ruby/object:Gem::Requirement
80
101
  requirements:
81
102
  - - "~>"
82
103
  - !ruby/object:Gem::Version
83
- version: '10.1'
104
+ version: '0.14'
84
105
  - !ruby/object:Gem::Dependency
85
- name: rspec
106
+ name: rake
86
107
  requirement: !ruby/object:Gem::Requirement
87
108
  requirements:
88
109
  - - "~>"
89
110
  - !ruby/object:Gem::Version
90
- version: '2.14'
111
+ version: '13.0'
91
112
  type: :development
92
113
  prerelease: false
93
114
  version_requirements: !ruby/object:Gem::Requirement
94
115
  requirements:
95
116
  - - "~>"
96
117
  - !ruby/object:Gem::Version
97
- version: '2.14'
118
+ version: '13.0'
98
119
  - !ruby/object:Gem::Dependency
99
- name: pry
120
+ name: rspec
100
121
  requirement: !ruby/object:Gem::Requirement
101
122
  requirements:
102
123
  - - "~>"
103
124
  - !ruby/object:Gem::Version
104
- version: '0.10'
125
+ version: '3.11'
105
126
  type: :development
106
127
  prerelease: false
107
128
  version_requirements: !ruby/object:Gem::Requirement
108
129
  requirements:
109
130
  - - "~>"
110
131
  - !ruby/object:Gem::Version
111
- version: '0.10'
132
+ version: '3.11'
112
133
  - !ruby/object:Gem::Dependency
113
- name: binding_of_caller
134
+ name: simplecov
114
135
  requirement: !ruby/object:Gem::Requirement
115
136
  requirements:
116
137
  - - "~>"
117
138
  - !ruby/object:Gem::Version
118
- version: '0.7'
139
+ version: 0.21.2
119
140
  type: :development
120
141
  prerelease: false
121
142
  version_requirements: !ruby/object:Gem::Requirement
122
143
  requirements:
123
144
  - - "~>"
124
145
  - !ruby/object:Gem::Version
125
- version: '0.7'
146
+ version: 0.21.2
126
147
  - !ruby/object:Gem::Dependency
127
148
  name: webmock
128
149
  requirement: !ruby/object:Gem::Requirement
129
150
  requirements:
130
151
  - - "~>"
131
152
  - !ruby/object:Gem::Version
132
- version: '1.13'
153
+ version: '3.18'
133
154
  type: :development
134
155
  prerelease: false
135
156
  version_requirements: !ruby/object:Gem::Requirement
136
157
  requirements:
137
158
  - - "~>"
138
159
  - !ruby/object:Gem::Version
139
- version: '1.13'
160
+ version: '3.18'
140
161
  description: Traitify is a ruby gem wrapper for the Traitify API
141
162
  email: tom@traitify.com
142
163
  executables: []
@@ -144,6 +165,7 @@ extensions: []
144
165
  extra_rdoc_files: []
145
166
  files:
146
167
  - ".gitignore"
168
+ - ".rubocop.yml"
147
169
  - CHANGELOG.md
148
170
  - Gemfile
149
171
  - Gemfile.lock
@@ -151,37 +173,58 @@ files:
151
173
  - README.md
152
174
  - lib/traitify.rb
153
175
  - lib/traitify/client.rb
154
- - lib/traitify/client/assessments.rb
155
- - lib/traitify/client/careers.rb
156
- - lib/traitify/client/decks.rb
157
- - lib/traitify/client/majors.rb
158
- - lib/traitify/client/results.rb
159
- - lib/traitify/client/slides.rb
176
+ - lib/traitify/client/connection.rb
177
+ - lib/traitify/client/model.rb
178
+ - lib/traitify/client/overrides.rb
179
+ - lib/traitify/client/request.rb
180
+ - lib/traitify/client/setup.rb
160
181
  - lib/traitify/configuration.rb
161
- - lib/traitify/connection.rb
182
+ - lib/traitify/data.rb
162
183
  - lib/traitify/error.rb
163
- - lib/traitify/request.rb
184
+ - lib/traitify/middleware/formatter.rb
185
+ - lib/traitify/middleware/raise_error.rb
186
+ - lib/traitify/response.rb
164
187
  - lib/traitify/version.rb
188
+ - paths.yml
165
189
  - spec/spec_helper.rb
166
190
  - spec/support/mocks/assessment.json
191
+ - spec/support/mocks/assessment_analytics.json
167
192
  - spec/support/mocks/assessment_with_results.json
193
+ - spec/support/mocks/blank.json
168
194
  - spec/support/mocks/career.json
169
195
  - spec/support/mocks/careers.json
170
196
  - spec/support/mocks/decks.json
197
+ - spec/support/mocks/locale.json
198
+ - spec/support/mocks/locales.json
171
199
  - spec/support/mocks/major.json
172
200
  - spec/support/mocks/majors.json
173
201
  - spec/support/mocks/personality_traits.json
202
+ - spec/support/mocks/profile.json
203
+ - spec/support/mocks/profiles.json
174
204
  - spec/support/mocks/result.json
175
205
  - spec/support/mocks/slide.json
176
206
  - spec/support/mocks/slides.json
177
207
  - spec/support/mocks/slides_complete.json
178
- - spec/traitify-ruby/client/assessment_spec.rb
179
- - spec/traitify-ruby/client/career_spec.rb
180
- - spec/traitify-ruby/client/configuration_spec.rb
181
- - spec/traitify-ruby/client/deck_spec.rb
182
- - spec/traitify-ruby/client/major_spec.rb
183
- - spec/traitify-ruby/client/result_spec.rb
184
- - spec/traitify-ruby/client/slide_spec.rb
208
+ - spec/support/mocks/trait_analytics.json
209
+ - spec/support/mocks/type_analytics.json
210
+ - spec/traitify/client/examples/analytics_spec.rb
211
+ - spec/traitify/client/examples/assessment_spec.rb
212
+ - spec/traitify/client/examples/career_spec.rb
213
+ - spec/traitify/client/examples/configuration_spec.rb
214
+ - spec/traitify/client/examples/deck_spec.rb
215
+ - spec/traitify/client/examples/locale_spec.rb
216
+ - spec/traitify/client/examples/major_spec.rb
217
+ - spec/traitify/client/examples/profiles_spec.rb
218
+ - spec/traitify/client/examples/result_spec.rb
219
+ - spec/traitify/client/examples/slide_spec.rb
220
+ - spec/traitify/client/model_spec.rb
221
+ - spec/traitify/client/request_spec.rb
222
+ - spec/traitify/client/setup_spec.rb
223
+ - spec/traitify/client_spec.rb
224
+ - spec/traitify/data_spec.rb
225
+ - spec/traitify/error_spec.rb
226
+ - spec/traitify/response_spec.rb
227
+ - spec/traitify/version_spec.rb
185
228
  - traitify.gemspec
186
229
  homepage: https://www.traitify.com
187
230
  licenses:
@@ -202,30 +245,47 @@ required_rubygems_version: !ruby/object:Gem::Requirement
202
245
  - !ruby/object:Gem::Version
203
246
  version: '0'
204
247
  requirements: []
205
- rubyforge_project:
206
- rubygems_version: 2.2.2
248
+ rubygems_version: 3.1.4
207
249
  signing_key:
208
250
  specification_version: 4
209
251
  summary: Traitify Gem
210
252
  test_files:
211
253
  - spec/spec_helper.rb
212
254
  - spec/support/mocks/assessment.json
255
+ - spec/support/mocks/assessment_analytics.json
213
256
  - spec/support/mocks/assessment_with_results.json
257
+ - spec/support/mocks/blank.json
214
258
  - spec/support/mocks/career.json
215
259
  - spec/support/mocks/careers.json
216
260
  - spec/support/mocks/decks.json
261
+ - spec/support/mocks/locale.json
262
+ - spec/support/mocks/locales.json
217
263
  - spec/support/mocks/major.json
218
264
  - spec/support/mocks/majors.json
219
265
  - spec/support/mocks/personality_traits.json
266
+ - spec/support/mocks/profile.json
267
+ - spec/support/mocks/profiles.json
220
268
  - spec/support/mocks/result.json
221
269
  - spec/support/mocks/slide.json
222
270
  - spec/support/mocks/slides.json
223
271
  - spec/support/mocks/slides_complete.json
224
- - spec/traitify-ruby/client/assessment_spec.rb
225
- - spec/traitify-ruby/client/career_spec.rb
226
- - spec/traitify-ruby/client/configuration_spec.rb
227
- - spec/traitify-ruby/client/deck_spec.rb
228
- - spec/traitify-ruby/client/major_spec.rb
229
- - spec/traitify-ruby/client/result_spec.rb
230
- - spec/traitify-ruby/client/slide_spec.rb
231
- has_rdoc:
272
+ - spec/support/mocks/trait_analytics.json
273
+ - spec/support/mocks/type_analytics.json
274
+ - spec/traitify/client/examples/analytics_spec.rb
275
+ - spec/traitify/client/examples/assessment_spec.rb
276
+ - spec/traitify/client/examples/career_spec.rb
277
+ - spec/traitify/client/examples/configuration_spec.rb
278
+ - spec/traitify/client/examples/deck_spec.rb
279
+ - spec/traitify/client/examples/locale_spec.rb
280
+ - spec/traitify/client/examples/major_spec.rb
281
+ - spec/traitify/client/examples/profiles_spec.rb
282
+ - spec/traitify/client/examples/result_spec.rb
283
+ - spec/traitify/client/examples/slide_spec.rb
284
+ - spec/traitify/client/model_spec.rb
285
+ - spec/traitify/client/request_spec.rb
286
+ - spec/traitify/client/setup_spec.rb
287
+ - spec/traitify/client_spec.rb
288
+ - spec/traitify/data_spec.rb
289
+ - spec/traitify/error_spec.rb
290
+ - spec/traitify/response_spec.rb
291
+ - spec/traitify/version_spec.rb
@@ -1,29 +0,0 @@
1
- module Traitify
2
- class Client
3
- module Assessment
4
- def create_assessment(options = {})
5
- Hashie::Mash.new post("/assessments", { deck_id: deck_id_from(options) })
6
- end
7
-
8
- def assessment(assessment_id)
9
- Hashie::Mash.new get("/assessments/#{assessment_id}")
10
- end
11
- alias :find_assessment :assessment
12
-
13
- def assessment_with_results(assessment_id, image_pack = nil, data = [])
14
- image_pack ||= self.image_pack
15
-
16
- response = image_pack ?
17
- get("/assessments/#{assessment_id}?data=#{data.join(",")}&image_pack=#{image_pack}") :
18
- get("/assessments/#{assessment_id}?data=#{data.join(",")}")
19
-
20
- Hashie::Mash.new(response)
21
- end
22
-
23
- private
24
- def deck_id_from(options)
25
- options[:deck_id] || deck_id
26
- end
27
- end
28
- end
29
- end
@@ -1,25 +0,0 @@
1
- module Traitify
2
- class Client
3
- module Career
4
- # Valid options are
5
- # - page
6
- # - careers_per_page
7
- # - experience_levels
8
- def careers(options = {})
9
- response = options.empty? ?
10
- get("/careers") :
11
- get("/careers?" + options.collect{ |k,v| "#{k}=#{v}" }.join("&"))
12
-
13
- response.collect { |career| Hashie::Mash.new(career) }
14
- end
15
- alias_method :find_careers, :careers
16
-
17
- def career(id)
18
- response = get("/careers/#{id}")
19
-
20
- Hashie::Mash.new(response)
21
- end
22
- alias_method :find_career, :career
23
- end
24
- end
25
- end
@@ -1,16 +0,0 @@
1
- module Traitify
2
- class Client
3
- module Deck
4
- def decks(image_pack = nil)
5
- image_pack ||= self.image_pack
6
-
7
- response = image_pack ?
8
- get("/decks?image_pack=#{image_pack}") :
9
- get("/decks")
10
-
11
- response.collect { |deck| Hashie::Mash.new(deck) }
12
- end
13
- alias_method :find_decks, :decks
14
- end
15
- end
16
- end
@@ -1,25 +0,0 @@
1
- module Traitify
2
- class Client
3
- module Major
4
- # Valid options are
5
- # - page
6
- # - majors_per_page
7
- # - experience_levels
8
- def majors(options = {})
9
- response = options.empty? ?
10
- get("/majors") :
11
- get("/majors?" + options.collect{ |k,v| "#{k}=#{v}" }.join("&"))
12
-
13
- response.collect { |major| Hashie::Mash.new(major) }
14
- end
15
- alias_method :find_majors, :majors
16
-
17
- def major(id)
18
- response = get("/majors/#{id}")
19
-
20
- Hashie::Mash.new(response)
21
- end
22
- alias_method :find_major, :major
23
- end
24
- end
25
- end