openstax_accounts 0.3.0 → 1.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 (49) hide show
  1. checksums.yaml +15 -0
  2. data/README.md +20 -0
  3. data/app/controllers/openstax/accounts/dev/base_controller.rb +19 -0
  4. data/app/controllers/openstax/accounts/dev/users_controller.rb +10 -9
  5. data/app/handlers/openstax/accounts/dev/users_index.rb +39 -0
  6. data/app/handlers/openstax/accounts/sessions_omniauth_authenticated.rb +2 -1
  7. data/app/models/openstax/accounts/application_user.rb +7 -0
  8. data/app/models/openstax/accounts/user.rb +15 -3
  9. data/app/representers/openstax/accounts/api/v1/application_user_representer.rb +5 -1
  10. data/app/representers/openstax/accounts/api/v1/application_user_search_representer.rb +19 -0
  11. data/app/representers/openstax/accounts/api/v1/application_users_representer.rb +16 -0
  12. data/app/representers/openstax/accounts/api/v1/user_representer.rb +2 -6
  13. data/app/routines/openstax/accounts/dev/create_user.rb +4 -4
  14. data/app/routines/openstax/accounts/dev/search_users.rb +27 -0
  15. data/app/routines/openstax/accounts/search_users.rb +174 -32
  16. data/app/routines/openstax/accounts/sync_users.rb +44 -0
  17. data/app/views/openstax/accounts/dev/users/_search_results.html.erb +50 -0
  18. data/app/views/openstax/accounts/dev/users/index.js.erb +3 -0
  19. data/app/views/openstax/accounts/dev/users/login.html.erb +6 -5
  20. data/app/views/openstax/accounts/shared/_attention.html.erb +1 -1
  21. data/app/views/openstax/accounts/shared/users/_index.html.erb +24 -0
  22. data/config/routes.rb +5 -4
  23. data/lib/generators/openstax/accounts/schedule/USAGE +8 -0
  24. data/lib/generators/openstax/accounts/schedule/schedule_generator.rb +18 -0
  25. data/lib/generators/openstax/accounts/schedule/templates/schedule.rb +3 -0
  26. data/lib/omniauth/strategies/openstax.rb +1 -1
  27. data/lib/openstax/accounts/engine.rb +2 -0
  28. data/lib/openstax/accounts/version.rb +1 -1
  29. data/lib/openstax_accounts.rb +69 -26
  30. data/spec/controllers/openstax/accounts/dev/users_controller_spec.rb +4 -3
  31. data/spec/dummy/app/controllers/api/application_users_controller.rb +12 -0
  32. data/spec/dummy/config/application.rb +3 -0
  33. data/spec/dummy/config/initializers/openstax_accounts.rb +1 -0
  34. data/spec/dummy/config/routes.rb +5 -4
  35. data/spec/lib/openstax_accounts_spec.rb +19 -11
  36. data/spec/routines/openstax/accounts/dev/create_user_spec.rb +26 -0
  37. data/spec/routines/openstax/accounts/search_users_spec.rb +129 -0
  38. metadata +47 -68
  39. data/app/controllers/openstax/accounts/dev/dev_controller.rb +0 -13
  40. data/app/handlers/openstax/accounts/dev/users_search.rb +0 -38
  41. data/app/representers/openstax/accounts/api/v1/contact_info_representer.rb +0 -23
  42. data/app/representers/openstax/accounts/api/v1/email_address_representer.rb +0 -9
  43. data/app/views/openstax/accounts/dev/users/search.js.erb +0 -21
  44. data/app/views/openstax/accounts/users/_action_create_form.html.erb +0 -9
  45. data/app/views/openstax/accounts/users/_action_dialog.html.erb +0 -10
  46. data/app/views/openstax/accounts/users/_action_list.html.erb +0 -33
  47. data/app/views/openstax/accounts/users/_action_search.html.erb +0 -25
  48. data/app/views/openstax/accounts/users/action_search.js.erb +0 -8
  49. data/spec/dummy/app/controllers/api/users_controller.rb +0 -7
@@ -48,6 +48,9 @@ module Dummy
48
48
 
49
49
  # Version of your assets, change this if you want to expire all your assets
50
50
  config.assets.version = '1.0'
51
+
52
+ # Suppress warning
53
+ config.i18n.enforce_available_locales = true
51
54
  end
52
55
  end
53
56
 
@@ -8,4 +8,5 @@ OpenStax::Accounts.configure do |config|
8
8
  config.openstax_application_id = 'secret'
9
9
  config.openstax_application_secret = 'secret'
10
10
  config.logout_via = :delete
11
+ config.max_matching_users = 47
11
12
  end
@@ -6,10 +6,11 @@ Rails.application.routes.draw do
6
6
  namespace :api do
7
7
  post 'dummy', :to => 'dummy#dummy'
8
8
 
9
- resource :application_users, :only => :create
10
-
11
- resource :users, :only => [] do
12
- get 'search'
9
+ resources :application_users, :only => [:index, :create] do
10
+ collection do
11
+ get 'updates'
12
+ put 'updated'
13
+ end
13
14
  end
14
15
  end
15
16
 
@@ -12,20 +12,28 @@ module OpenStax
12
12
  expect(Api::DummyController.last_params).to include 'test' => 'true'
13
13
  end
14
14
 
15
- it 'makes api call to create application_user' do
16
- expect(Api::ApplicationUsersController.last_action).to be_nil
17
- expect(Api::ApplicationUsersController.last_params).to be_nil
18
- Accounts.create_application_user(user)
19
- expect(Api::ApplicationUsersController.last_action).to eq :create
15
+ it 'makes api call to application_user index' do
16
+ Api::ApplicationUsersController.last_action = nil
17
+ Api::ApplicationUsersController.last_params = nil
18
+ Accounts.application_users_index('sth')
19
+ expect(Api::ApplicationUsersController.last_action).to eq :index
20
+ expect(Api::ApplicationUsersController.last_params).to include :q => 'sth'
21
+ end
22
+
23
+ it 'makes api call to application_user updates' do
24
+ Api::ApplicationUsersController.last_action = nil
25
+ Api::ApplicationUsersController.last_params = nil
26
+ Accounts.application_users_updates
27
+ expect(Api::ApplicationUsersController.last_action).to eq :updates
20
28
  expect(Api::ApplicationUsersController.last_params).not_to be_nil
21
29
  end
22
30
 
23
- it 'makes api call to user search' do
24
- expect(Api::UsersController.last_action).to be_nil
25
- expect(Api::UsersController.last_params).to be_nil
26
- Accounts.user_search('sth')
27
- expect(Api::UsersController.last_action).to eq :search
28
- expect(Api::UsersController.last_params).to include :q => 'sth'
31
+ it 'makes api call to application_user updated' do
32
+ Api::ApplicationUsersController.last_action = nil
33
+ Api::ApplicationUsersController.last_params = nil
34
+ Accounts.application_users_updated({1 => 1})
35
+ expect(Api::ApplicationUsersController.last_action).to eq :updated
36
+ expect(Api::ApplicationUsersController.last_params[:application_users]).to include '1' => '1'
29
37
  end
30
38
  end
31
39
  end
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ module OpenStax
4
+ module Accounts
5
+ module Dev
6
+
7
+ describe CreateUser do
8
+
9
+ it 'creates users' do
10
+
11
+ expect(User.where(username: 'bob').first).to be_nil
12
+
13
+ outputs = CreateUser.call(username: 'bob', last_name: 'jones').outputs
14
+
15
+ expect(outputs[:user]).not_to be_nil
16
+ expect(outputs[:user].username).to eq 'bob'
17
+ expect(outputs[:user].last_name).to eq 'jones'
18
+ expect(User.where(username: 'bob').first).to eq outputs[:user]
19
+
20
+ end
21
+
22
+ end
23
+
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,129 @@
1
+ require 'spec_helper'
2
+
3
+ module OpenStax
4
+ module Accounts
5
+
6
+ describe SearchUsers do
7
+
8
+ let!(:user_1) { FactoryGirl.create :openstax_accounts_user,
9
+ first_name: 'John',
10
+ last_name: 'Stravinsky',
11
+ username: 'jstrav' }
12
+ let!(:user_2) { FactoryGirl.create :openstax_accounts_user,
13
+ first_name: 'Mary',
14
+ last_name: 'Mighty',
15
+ full_name: 'Mary Mighty',
16
+ username: 'mary' }
17
+ let!(:user_3) { FactoryGirl.create :openstax_accounts_user,
18
+ first_name: 'John',
19
+ last_name: 'Stead',
20
+ username: 'jstead' }
21
+
22
+ let!(:user_4) { FactoryGirl.create :openstax_accounts_user,
23
+ first_name: 'Bob',
24
+ last_name: 'JST',
25
+ username: 'bigbear' }
26
+
27
+ it "should match based on username" do
28
+ outcome = SearchUsers.call('username:jstra').outputs.users.all
29
+ expect(outcome).to eq [user_1]
30
+ end
31
+
32
+ it "should ignore leading wildcards on username searches" do
33
+ outcome = SearchUsers.call('username:%rav').outputs.users.all
34
+ expect(outcome).to eq []
35
+ end
36
+
37
+ it "should match based on one first name" do
38
+ outcome = SearchUsers.call('first_name:"John"').outputs.users.all
39
+ expect(outcome).to eq [user_3, user_1]
40
+ end
41
+
42
+ it "should match based on one full name" do
43
+ outcome = SearchUsers.call('full_name:"Mary Mighty"').outputs.users.all
44
+ expect(outcome).to eq [user_2]
45
+ end
46
+
47
+ it "should return all results if the query is empty" do
48
+ outcome = SearchUsers.call("").outputs.users.all
49
+ expect(outcome).to eq [user_4, user_3, user_1, user_2]
50
+ end
51
+
52
+ it "should match any field when no prefix given" do
53
+ outcome = SearchUsers.call("jst").outputs.users.all
54
+ expect(outcome).to eq [user_4, user_3, user_1]
55
+ end
56
+
57
+ it "should match any field when no prefix given and intersect when prefix given" do
58
+ outcome = SearchUsers.call("jst username:jst").outputs.users.all
59
+ expect(outcome).to eq [user_3, user_1]
60
+ end
61
+
62
+ it "shouldn't allow users to add their own wildcards" do
63
+ outcome = SearchUsers.call("username:'%ar'").outputs.users.all
64
+ expect(outcome).to eq []
65
+ end
66
+
67
+ it "should gather space-separated unprefixed search terms" do
68
+ outcome = SearchUsers.call("john mighty").outputs.users.all
69
+ expect(outcome).to eq [user_3, user_1, user_2]
70
+ end
71
+
72
+ context "pagination and sorting" do
73
+
74
+ let!(:billy_users) {
75
+ (0..45).to_a.collect{|ii|
76
+ FactoryGirl.create :openstax_accounts_user,
77
+ first_name: "Billy#{ii.to_s.rjust(2, '0')}",
78
+ last_name: "Bob_#{(45-ii).to_s.rjust(2,'0')}",
79
+ username: "billy_#{ii.to_s.rjust(2, '0')}"
80
+ }
81
+ }
82
+
83
+ it "should return the first page of values by default in default order" do
84
+ outcome = SearchUsers.call("username:billy").outputs.users.all
85
+ expect(outcome.length).to eq 20
86
+ expect(outcome[0]).to eq User.where{username.eq "billy_00"}.first
87
+ expect(outcome[19]).to eq User.where{username.eq "billy_19"}.first
88
+ end
89
+
90
+ it "should return the 2nd page when requested" do
91
+ outcome = SearchUsers.call("username:billy", page: 1).outputs.users.all
92
+ expect(outcome.length).to eq 20
93
+ expect(outcome[0]).to eq User.where{username.eq "billy_20"}.first
94
+ expect(outcome[19]).to eq User.where{username.eq "billy_39"}.first
95
+ end
96
+
97
+ it "should return the incomplete 3rd page when requested" do
98
+ outcome = SearchUsers.call("username:billy", page: 2).outputs.users.all
99
+ expect(outcome.length).to eq 6
100
+ expect(outcome[5]).to eq User.where{username.eq "billy_45"}.first
101
+ end
102
+
103
+ it "should return no results if the limit is exceeded" do
104
+ outcome = SearchUsers.call("").outputs.users.all
105
+ expect(outcome).to be_empty
106
+ end
107
+
108
+ end
109
+
110
+ context "sorting" do
111
+
112
+ let!(:bob_brown) { FactoryGirl.create :openstax_accounts_user, first_name: "Bob", last_name: "Brown", username: "foo_bb" }
113
+ let!(:bob_jones) { FactoryGirl.create :openstax_accounts_user, first_name: "Bob", last_name: "Jones", username: "foo_bj" }
114
+ let!(:tim_jones) { FactoryGirl.create :openstax_accounts_user, first_name: "Tim", last_name: "Jones", username: "foo_tj" }
115
+
116
+ it "should allow sort by multiple fields in different directions" do
117
+ outcome = SearchUsers.call("username:foo", order_by: "first_name, last_name DESC").outputs.users.all
118
+ expect(outcome).to eq [bob_jones, bob_brown, tim_jones]
119
+
120
+ outcome = SearchUsers.call("username:foo", order_by: "first_name, last_name ASC").outputs.users.all
121
+ expect(outcome).to eq [bob_brown, bob_jones, tim_jones]
122
+ end
123
+
124
+ end
125
+
126
+ end
127
+
128
+ end
129
+ end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openstax_accounts
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
5
- prerelease:
4
+ version: 1.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - JP Slavinsky
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-04-16 00:00:00.000000000 Z
11
+ date: 2014-05-30 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rails
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: omniauth
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ! '>='
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: omniauth-oauth2
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ! '>='
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ! '>='
60
53
  - !ruby/object:Gem::Version
@@ -62,39 +55,34 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: oauth2
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ! '>='
68
60
  - !ruby/object:Gem::Version
69
- version: '0'
61
+ version: 0.5.0
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ! '>='
76
67
  - !ruby/object:Gem::Version
77
- version: '0'
68
+ version: 0.5.0
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: squeel
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ! '>='
84
74
  - !ruby/object:Gem::Version
85
- version: '0'
75
+ version: 0.5.0
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
80
  - - ! '>='
92
81
  - !ruby/object:Gem::Version
93
- version: '0'
82
+ version: 0.5.0
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: roar
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ! '>='
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
94
  - - ! '>='
108
95
  - !ruby/object:Gem::Version
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: lev
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ! '>='
116
102
  - !ruby/object:Gem::Version
@@ -118,7 +104,6 @@ dependencies:
118
104
  type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
108
  - - ! '>='
124
109
  - !ruby/object:Gem::Version
@@ -126,7 +111,6 @@ dependencies:
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: sass-rails
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
115
  - - ! '>='
132
116
  - !ruby/object:Gem::Version
@@ -134,7 +118,6 @@ dependencies:
134
118
  type: :runtime
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
122
  - - ! '>='
140
123
  - !ruby/object:Gem::Version
@@ -142,7 +125,6 @@ dependencies:
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: uglifier
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
129
  - - ! '>='
148
130
  - !ruby/object:Gem::Version
@@ -150,7 +132,6 @@ dependencies:
150
132
  type: :runtime
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
136
  - - ! '>='
156
137
  - !ruby/object:Gem::Version
@@ -158,7 +139,6 @@ dependencies:
158
139
  - !ruby/object:Gem::Dependency
159
140
  name: openstax_utilities
160
141
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
142
  requirements:
163
143
  - - ! '>='
164
144
  - !ruby/object:Gem::Version
@@ -166,15 +146,27 @@ dependencies:
166
146
  type: :runtime
167
147
  prerelease: false
168
148
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
149
  requirements:
171
150
  - - ! '>='
172
151
  - !ruby/object:Gem::Version
173
152
  version: '1.2'
153
+ - !ruby/object:Gem::Dependency
154
+ name: keyword_search
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
159
+ version: 1.0.0
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: 1.0.0
174
167
  - !ruby/object:Gem::Dependency
175
168
  name: sqlite3
176
169
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
170
  requirements:
179
171
  - - ! '>='
180
172
  - !ruby/object:Gem::Version
@@ -182,7 +174,6 @@ dependencies:
182
174
  type: :development
183
175
  prerelease: false
184
176
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
177
  requirements:
187
178
  - - ! '>='
188
179
  - !ruby/object:Gem::Version
@@ -190,7 +181,6 @@ dependencies:
190
181
  - !ruby/object:Gem::Dependency
191
182
  name: rspec-rails
192
183
  requirement: !ruby/object:Gem::Requirement
193
- none: false
194
184
  requirements:
195
185
  - - ! '>='
196
186
  - !ruby/object:Gem::Version
@@ -198,7 +188,6 @@ dependencies:
198
188
  type: :development
199
189
  prerelease: false
200
190
  version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
191
  requirements:
203
192
  - - ! '>='
204
193
  - !ruby/object:Gem::Version
@@ -206,7 +195,6 @@ dependencies:
206
195
  - !ruby/object:Gem::Dependency
207
196
  name: capybara
208
197
  requirement: !ruby/object:Gem::Requirement
209
- none: false
210
198
  requirements:
211
199
  - - ! '>='
212
200
  - !ruby/object:Gem::Version
@@ -214,7 +202,6 @@ dependencies:
214
202
  type: :development
215
203
  prerelease: false
216
204
  version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
205
  requirements:
219
206
  - - ! '>='
220
207
  - !ruby/object:Gem::Version
@@ -222,7 +209,6 @@ dependencies:
222
209
  - !ruby/object:Gem::Dependency
223
210
  name: factory_girl_rails
224
211
  requirement: !ruby/object:Gem::Requirement
225
- none: false
226
212
  requirements:
227
213
  - - ! '>='
228
214
  - !ruby/object:Gem::Version
@@ -230,7 +216,6 @@ dependencies:
230
216
  type: :development
231
217
  prerelease: false
232
218
  version_requirements: !ruby/object:Gem::Requirement
233
- none: false
234
219
  requirements:
235
220
  - - ! '>='
236
221
  - !ruby/object:Gem::Version
@@ -238,7 +223,6 @@ dependencies:
238
223
  - !ruby/object:Gem::Dependency
239
224
  name: quiet_assets
240
225
  requirement: !ruby/object:Gem::Requirement
241
- none: false
242
226
  requirements:
243
227
  - - ! '>='
244
228
  - !ruby/object:Gem::Version
@@ -246,7 +230,6 @@ dependencies:
246
230
  type: :development
247
231
  prerelease: false
248
232
  version_requirements: !ruby/object:Gem::Requirement
249
- none: false
250
233
  requirements:
251
234
  - - ! '>='
252
235
  - !ruby/object:Gem::Version
@@ -254,7 +237,6 @@ dependencies:
254
237
  - !ruby/object:Gem::Dependency
255
238
  name: thin
256
239
  requirement: !ruby/object:Gem::Requirement
257
- none: false
258
240
  requirements:
259
241
  - - ! '>='
260
242
  - !ruby/object:Gem::Version
@@ -262,7 +244,6 @@ dependencies:
262
244
  type: :development
263
245
  prerelease: false
264
246
  version_requirements: !ruby/object:Gem::Requirement
265
- none: false
266
247
  requirements:
267
248
  - - ! '>='
268
249
  - !ruby/object:Gem::Version
@@ -274,36 +255,42 @@ executables: []
274
255
  extensions: []
275
256
  extra_rdoc_files: []
276
257
  files:
258
+ - MIT-LICENSE
259
+ - README.md
260
+ - Rakefile
277
261
  - app/assets/javascripts/openstax/accounts/application.js
278
262
  - app/assets/stylesheets/openstax/accounts/application.css
279
263
  - app/assets/stylesheets/openstax/accounts/dev.css.scss
280
264
  - app/controllers/openstax/accounts/application_controller.rb
281
- - app/controllers/openstax/accounts/dev/dev_controller.rb
265
+ - app/controllers/openstax/accounts/dev/base_controller.rb
282
266
  - app/controllers/openstax/accounts/dev/users_controller.rb
283
267
  - app/controllers/openstax/accounts/sessions_controller.rb
284
- - app/handlers/openstax/accounts/dev/users_search.rb
268
+ - app/handlers/openstax/accounts/dev/users_index.rb
285
269
  - app/handlers/openstax/accounts/sessions_omniauth_authenticated.rb
286
270
  - app/helpers/openstax/accounts/application_helper.rb
271
+ - app/models/openstax/accounts/application_user.rb
287
272
  - app/models/openstax/accounts/user.rb
288
273
  - app/representers/openstax/accounts/api/v1/application_user_representer.rb
289
- - app/representers/openstax/accounts/api/v1/contact_info_representer.rb
290
- - app/representers/openstax/accounts/api/v1/email_address_representer.rb
274
+ - app/representers/openstax/accounts/api/v1/application_user_search_representer.rb
275
+ - app/representers/openstax/accounts/api/v1/application_users_representer.rb
291
276
  - app/representers/openstax/accounts/api/v1/user_representer.rb
292
277
  - app/representers/openstax/accounts/api/v1/user_search_representer.rb
293
278
  - app/routines/openstax/accounts/dev/create_user.rb
279
+ - app/routines/openstax/accounts/dev/search_users.rb
294
280
  - app/routines/openstax/accounts/search_users.rb
281
+ - app/routines/openstax/accounts/sync_users.rb
295
282
  - app/views/layouts/openstax/accounts/application.html.erb
283
+ - app/views/openstax/accounts/dev/users/_search_results.html.erb
284
+ - app/views/openstax/accounts/dev/users/index.js.erb
296
285
  - app/views/openstax/accounts/dev/users/login.html.erb
297
- - app/views/openstax/accounts/dev/users/search.js.erb
298
286
  - app/views/openstax/accounts/shared/_attention.html.erb
299
- - app/views/openstax/accounts/users/_action_create_form.html.erb
300
- - app/views/openstax/accounts/users/_action_dialog.html.erb
301
- - app/views/openstax/accounts/users/_action_list.html.erb
302
- - app/views/openstax/accounts/users/_action_search.html.erb
303
- - app/views/openstax/accounts/users/action_search.js.erb
287
+ - app/views/openstax/accounts/shared/users/_index.html.erb
304
288
  - config/initializers/extend_builtins.rb
305
289
  - config/routes.rb
306
290
  - db/migrate/0_create_openstax_accounts_users.rb
291
+ - lib/generators/openstax/accounts/schedule/USAGE
292
+ - lib/generators/openstax/accounts/schedule/schedule_generator.rb
293
+ - lib/generators/openstax/accounts/schedule/templates/schedule.rb
307
294
  - lib/omniauth/strategies/openstax.rb
308
295
  - lib/openstax/accounts/action_list.rb
309
296
  - lib/openstax/accounts/current_user_manager.rb
@@ -312,20 +299,18 @@ files:
312
299
  - lib/openstax/accounts/user_provider.rb
313
300
  - lib/openstax/accounts/version.rb
314
301
  - lib/openstax_accounts.rb
315
- - spec/factories/openstax_accounts_user.rb
316
- - MIT-LICENSE
317
- - Rakefile
318
- - README.md
319
302
  - spec/controllers/openstax/accounts/dev/users_controller_spec.rb
320
303
  - spec/controllers/openstax/accounts/sessions_controller_spec.rb
304
+ - spec/dummy/README.md
305
+ - spec/dummy/Rakefile
321
306
  - spec/dummy/app/assets/javascripts/application.js
322
307
  - spec/dummy/app/assets/stylesheets/application.css
323
308
  - spec/dummy/app/controllers/api/application_users_controller.rb
324
309
  - spec/dummy/app/controllers/api/dummy_controller.rb
325
- - spec/dummy/app/controllers/api/users_controller.rb
326
310
  - spec/dummy/app/controllers/application_controller.rb
327
311
  - spec/dummy/app/controllers/oauth_controller.rb
328
312
  - spec/dummy/app/helpers/application_helper.rb
313
+ - spec/dummy/config.ru
329
314
  - spec/dummy/config/application.rb
330
315
  - spec/dummy/config/boot.rb
331
316
  - spec/dummy/config/database.yml
@@ -342,47 +327,40 @@ files:
342
327
  - spec/dummy/config/initializers/wrap_parameters.rb
343
328
  - spec/dummy/config/locales/en.yml
344
329
  - spec/dummy/config/routes.rb
345
- - spec/dummy/config.ru
346
330
  - spec/dummy/db/schema.rb
347
331
  - spec/dummy/public/404.html
348
332
  - spec/dummy/public/422.html
349
333
  - spec/dummy/public/500.html
350
334
  - spec/dummy/public/favicon.ico
351
- - spec/dummy/Rakefile
352
- - spec/dummy/README.md
353
335
  - spec/dummy/script/rails
336
+ - spec/factories/openstax_accounts_user.rb
354
337
  - spec/lib/openstax_accounts_spec.rb
355
338
  - spec/models/openstax/accounts/user_spec.rb
339
+ - spec/routines/openstax/accounts/dev/create_user_spec.rb
340
+ - spec/routines/openstax/accounts/search_users_spec.rb
356
341
  - spec/spec_helper.rb
357
342
  homepage: http://github.com/openstax/accounts-rails
358
343
  licenses: []
344
+ metadata: {}
359
345
  post_install_message:
360
346
  rdoc_options: []
361
347
  require_paths:
362
348
  - lib
363
349
  required_ruby_version: !ruby/object:Gem::Requirement
364
- none: false
365
350
  requirements:
366
351
  - - ! '>='
367
352
  - !ruby/object:Gem::Version
368
353
  version: '0'
369
- segments:
370
- - 0
371
- hash: 2332363655345696983
372
354
  required_rubygems_version: !ruby/object:Gem::Requirement
373
- none: false
374
355
  requirements:
375
356
  - - ! '>='
376
357
  - !ruby/object:Gem::Version
377
358
  version: '0'
378
- segments:
379
- - 0
380
- hash: 2332363655345696983
381
359
  requirements: []
382
360
  rubyforge_project:
383
- rubygems_version: 1.8.25
361
+ rubygems_version: 2.2.2
384
362
  signing_key:
385
- specification_version: 3
363
+ specification_version: 4
386
364
  summary: Rails common code and bindings and for 'accounts' API
387
365
  test_files:
388
366
  - spec/controllers/openstax/accounts/dev/users_controller_spec.rb
@@ -391,7 +369,6 @@ test_files:
391
369
  - spec/dummy/app/assets/stylesheets/application.css
392
370
  - spec/dummy/app/controllers/api/application_users_controller.rb
393
371
  - spec/dummy/app/controllers/api/dummy_controller.rb
394
- - spec/dummy/app/controllers/api/users_controller.rb
395
372
  - spec/dummy/app/controllers/application_controller.rb
396
373
  - spec/dummy/app/controllers/oauth_controller.rb
397
374
  - spec/dummy/app/helpers/application_helper.rb
@@ -423,4 +400,6 @@ test_files:
423
400
  - spec/factories/openstax_accounts_user.rb
424
401
  - spec/lib/openstax_accounts_spec.rb
425
402
  - spec/models/openstax/accounts/user_spec.rb
403
+ - spec/routines/openstax/accounts/dev/create_user_spec.rb
404
+ - spec/routines/openstax/accounts/search_users_spec.rb
426
405
  - spec/spec_helper.rb