introspective_admin 0.0.2 → 0.0.3

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: 31c04925094186ee8656917b8d3a0072df365a4d
4
- data.tar.gz: f2e55a36107edededc44be81a4589d3f383bcbca
3
+ metadata.gz: a04b4686389f2d6b41c43b26709343eccfa8a8e6
4
+ data.tar.gz: 76df689a036b43fe9f68358ca2ed1e0d19f31a33
5
5
  SHA512:
6
- metadata.gz: 00d867fe289e8029f9364bcfcab98b7eca31154b06b4b2711c28e0e1b21dea49cd162acee0f82348b3320d5391bbe31e255bdb6b99cd29bacd3b74dcf13e2825
7
- data.tar.gz: 321c9ba8b69d8abce6c719a8d73fcc8197491d46bb59974bf5c2c3f82338fc9b1f267a8c59fcff19906f03a00f57a61dabd8d54bd32828cf427231f7a2002414
6
+ metadata.gz: 974022287ba462dbbb425d70271db61a18d7cbe19ff3f2e32951db2078d4809ef630af64eba3426cc5d50defe0f2b5de14a79e79097d309924deb71505022824
7
+ data.tar.gz: 7135f978bfe933d6111bff64520ccf1e773ddb7a955c2aadc280e6dc1827e24cc92cdc0a5da99bd914317834e12c836be4820a57fe92f9f290aa670c8f1dae77
data/.travis.yml CHANGED
@@ -3,10 +3,23 @@ install: bundle install --jobs=1 --retry=1
3
3
  script:
4
4
  - bundle install
5
5
  - bundle exec rspec
6
+
6
7
  rvm:
7
8
  - 1.9
8
- - 2.2.3
9
- # - jruby-9.0.0.0
9
+ - 2.0.0
10
+ - 2.1
11
+ - 2.2
12
+ - rbx-2.5.8
13
+ - jruby-19mode
14
+ - jruby-9.0.4.0
15
+ - ruby-head
16
+ - jruby-head
17
+
18
+ matrix:
19
+ allow_failures:
20
+ - rvm: ruby-head
21
+ - rvm: jruby-head
22
+
10
23
  env:
11
24
  matrix:
12
25
  - RAILS=3.2.22
@@ -15,17 +28,7 @@ env:
15
28
  - RAILS=master
16
29
  global:
17
30
  - JRUBY_OPTS="-J-Xmx1024m --debug"
18
- matrix:
19
- fast_finish: true
20
- exclude:
21
- - rvm: 2.2.3
22
- env: RAILS=3.2.22
23
- - rvm: jruby-9.0.0.0
24
- env: RAILS=3.2.22
25
- - rvm: 1.9
26
- env: RAILS=master
27
- allow_failures:
28
- - env: RAILS=master
31
+
29
32
  notifications:
30
33
  email:
31
34
  recipients:
data/Gemfile CHANGED
@@ -3,3 +3,4 @@ source "https://rubygems.org"
3
3
 
4
4
  gemspec
5
5
  gem 'activeadmin', github: 'activeadmin'
6
+ gem 'devise'
data/Gemfile.lock CHANGED
@@ -68,7 +68,6 @@ GEM
68
68
  sass (~> 3.4)
69
69
  thor (~> 0.19)
70
70
  builder (3.2.2)
71
- byebug (6.0.2)
72
71
  coffee-rails (4.1.0)
73
72
  coffee-script (>= 2.2.0)
74
73
  railties (>= 4.0.0, < 5.0)
@@ -212,7 +211,6 @@ PLATFORMS
212
211
 
213
212
  DEPENDENCIES
214
213
  activeadmin!
215
- byebug
216
214
  devise
217
215
  devise-async
218
216
  introspective_admin!
data/README.md CHANGED
@@ -32,6 +32,10 @@ And bundle install. In app/admin/my_admin.rb:
32
32
 
33
33
  ```
34
34
  class MyAdmin < IntrospectiveAdmin::Base
35
+ def self.include_virtual_attributes
36
+ %w(password)
37
+ end
38
+
35
39
  def self.exclude_params
36
40
  %w(fields to exclude from the admin screen)
37
41
  end
@@ -44,7 +48,7 @@ class MyAdmin < IntrospectiveAdmin::Base
44
48
  end
45
49
  ```
46
50
 
47
- Registering MyModel will set up the index, show, and form configurations for every attribute and nested association on the model excluding those in MyAdmin.exclude_params, with links to associated records (if they have ActiveAdmin screens) and permitting every attribute on the model.
51
+ Registering MyModel will set up the index, show, and form configurations for every attribute, virtual attribute listed in MyAdmin.include_virtual_attributes (e.g. a password field for a Devise model), and nested association on the model excluding those in MyAdmin.exclude_params. It will link to associated records (if they have ActiveAdmin screens), perform eager loading of nested associations, and permit parameters for every non-excluded attribute on the model.
48
52
 
49
53
  Customizing select box options for associations is done by adding an
50
54
  "options_for_X" class method on the administrated model:
@@ -23,11 +23,11 @@ Gem::Specification.new do |s|
23
23
  s.add_dependency 'sass-rails'
24
24
 
25
25
  if RUBY_PLATFORM == 'java'
26
- s.add_development_dependency "jdbc-sqlite3"
26
+ s.add_development_dependency "activerecord-jdbcsqlite3-adapter"
27
27
  else
28
28
  s.add_development_dependency "sqlite3"
29
29
  if RUBY_VERSION > '2.0.0'
30
- s.add_development_dependency 'byebug'
30
+ #s.add_development_dependency 'byebug'
31
31
  end
32
32
  end
33
33
  s.add_development_dependency "rspec-rails", '>= 3.0'
@@ -24,6 +24,10 @@ module IntrospectiveAdmin
24
24
  [] # do not display the field in the index page and forms.
25
25
  end
26
26
 
27
+ def include_virtual_attributes
28
+ [] #
29
+ end
30
+
27
31
  def polymorphic?(model,column)
28
32
  (model.reflections[column.sub(/_id$/,'')].try(:options)||{})[:polymorphic]
29
33
  end
@@ -31,13 +35,13 @@ module IntrospectiveAdmin
31
35
  def column_list(model)
32
36
  model.columns.map {|c|
33
37
  c.name.sub(/(_type|_id)$/,'')
34
- }.uniq-['created_at','updated_at']-exclude_params
38
+ }.uniq-['created_at','updated_at']-exclude_params+include_virtual_attributes
35
39
  end
36
40
 
37
41
  def params_list(model)
38
42
  model.columns.map {|c|
39
43
  polymorphic?(model,c.name) ? c.name.sub(/_id$/,'')+"_assign" : c.name
40
- }
44
+ }+include_virtual_attributes
41
45
  end
42
46
 
43
47
  def link_record(record)
@@ -58,7 +62,9 @@ module IntrospectiveAdmin
58
62
 
59
63
  klass = self
60
64
  model_name = model.to_s.underscore
61
- nested_config = Hash[model.nested_attributes_options.map {|assoc,options|
65
+ nested_config = Hash[model.nested_attributes_options.reject {|name,o|
66
+ klass.exclude_params.include?("#{name}_attributes")
67
+ }.map {|assoc,options|
62
68
  reflection = model.reflections[assoc.to_s]
63
69
  reflection_class = reflection.class_name.constantize
64
70
  # merge the options of the nested attribute and relationship declarations
@@ -71,7 +77,6 @@ module IntrospectiveAdmin
71
77
  [assoc, options]
72
78
  }]
73
79
 
74
-
75
80
  ActiveAdmin.register model do
76
81
  controller do
77
82
  def scoped_collection
@@ -1,3 +1,3 @@
1
1
  module IntrospectiveAdmin
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -0,0 +1,64 @@
1
+ require 'rails_helper'
2
+
3
+ RSpec.describe Admin::UsersController, :type => :controller do
4
+ render_views
5
+
6
+ before :each do
7
+ user = double('user')
8
+ allow(request.env['warden']).to receive(:authenticate!) { user }
9
+ allow(controller).to receive(:current_user) { user }
10
+ end
11
+
12
+ describe "GET index" do
13
+ it "finds all users" do
14
+ u = User.make!
15
+ get :index
16
+ response.status.should == 200
17
+ assigns(:users).include?(u).should == true
18
+ end
19
+ end
20
+
21
+ describe "SHOW record" do
22
+ it "finds the record" do
23
+ u = User.make!
24
+ get :show, id: u.id
25
+ response.status.should == 200
26
+ end
27
+ end
28
+
29
+ describe "NEW record" do
30
+ it "renders the form for a new record" do
31
+ get :new
32
+ response.status.should == 200
33
+ end
34
+ end
35
+
36
+ describe "CREATE record" do
37
+ it "creates the record" do
38
+ post :create, user: { first_name: 'first', last_name: 'last', email: 'test@blah.com', password: "abcd1234" }
39
+ response.should redirect_to action: :show, id: User.last.id
40
+ u = User.last
41
+ u.first_name.should == 'first'
42
+ u.last_name.should == 'last'
43
+ u.email.should == 'test@blah.com'
44
+ end
45
+
46
+ end
47
+
48
+ describe "EDIT record" do
49
+ it "renders the edit form for an existing record" do
50
+ r = User.make!
51
+ get :edit, id: r.id
52
+ response.status.should == 200
53
+ end
54
+ end
55
+
56
+ describe "UPDATE record" do
57
+ it "updates the record" do
58
+ u = User.make!
59
+ put :update, id: u.id, user: { first_name: "New Name" }
60
+ response.should redirect_to action: :show, id: u.id
61
+ User.find(u.id).first_name.should == "New Name"
62
+ end
63
+ end
64
+ end
@@ -1,4 +1,8 @@
1
1
  class UserAdmin < IntrospectiveAdmin::Base
2
+ def self.include_virtual_attributes
3
+ %w(password)
4
+ end
5
+
2
6
  def self.exclude_params
3
7
  %w(reset_password_at current_sign_in_at current_sign_in_ip remember_created_at sign_in_count encrypted_password reset_password_sent_at reset_password_token password authentication_token unlock_token failed_attempts last_sign_in_at locked_at last_sign_in_ip)
4
8
  end
@@ -5,13 +5,15 @@ Devise.setup do |config|
5
5
  # The secret key used by Devise. Devise uses this key to generate
6
6
  # random tokens. Changing this key will render invalid all existing
7
7
  # confirmation, reset password and unlock tokens in the database.
8
- config.secret_key = '111ac0356c712deb49e3153ab04eda25c4aa36c837765e8f34f7737110e092adc94280f5071f1a6900132cfb3996676965425fc9a32cc0ec20c7c6fc63969d51'
8
+ # Devise will use the `secret_key_base` on Rails 4+ applications as its `secret_key`
9
+ # by default. You can change it below and use your own secret key.
10
+ config.secret_key = '16f3eba693fcd1a875d60e96961501c7e78eb7167a68bdff3bb0fa14b66f985f0e07cccbb2c38ca105b71a4ab051adf35d5f7b368172e02a138d1cc8966fe530'
9
11
 
10
12
  # ==> Mailer Configuration
11
13
  # Configure the e-mail address which will be shown in Devise::Mailer,
12
14
  # note that it will be overwritten if you use your own mailer class
13
15
  # with default "from" parameter.
14
- config.mailer_sender = 'dummy@test.com'
16
+ config.mailer_sender = 'please-change-me-at-config-initializers-devise@example.com'
15
17
 
16
18
  # Configure the class responsible to send e-mails.
17
19
  # config.mailer = 'Devise::Mailer'
@@ -30,7 +32,7 @@ Devise.setup do |config|
30
32
  # session. If you need permissions, you should implement that in a before filter.
31
33
  # You can also supply a hash where the value is a boolean determining whether
32
34
  # or not authentication should be aborted when the value is not present.
33
- # config.authentication_keys = [ :email ]
35
+ # config.authentication_keys = [:email]
34
36
 
35
37
  # Configure parameters from the request object used for authentication. Each entry
36
38
  # given should be a request method and it will automatically be passed to the
@@ -42,12 +44,12 @@ Devise.setup do |config|
42
44
  # Configure which authentication keys should be case-insensitive.
43
45
  # These keys will be downcased upon creating or modifying a user and when used
44
46
  # to authenticate or find a user. Default is :email.
45
- config.case_insensitive_keys = [ :email ]
47
+ config.case_insensitive_keys = [:email]
46
48
 
47
49
  # Configure which authentication keys should have whitespace stripped.
48
50
  # These keys will have whitespace before and after removed upon creating or
49
51
  # modifying a user and when used to authenticate or find a user. Default is :email.
50
- config.strip_whitespace_keys = [ :email ]
52
+ config.strip_whitespace_keys = [:email]
51
53
 
52
54
  # Tell if authentication through request.params is enabled. True by default.
53
55
  # It can be set to an array that will enable params authentication only for the
@@ -62,7 +64,7 @@ Devise.setup do |config|
62
64
  # :database = Support basic authentication with authentication key + password
63
65
  # config.http_authenticatable = false
64
66
 
65
- # If http headers should be returned for AJAX requests. True by default.
67
+ # If 401 status code should be returned for AJAX requests. True by default.
66
68
  # config.http_authenticatable_on_xhr = true
67
69
 
68
70
  # The realm used in Http Basic Authentication. 'Application' by default.
@@ -98,7 +100,7 @@ Devise.setup do |config|
98
100
  config.stretches = Rails.env.test? ? 1 : 10
99
101
 
100
102
  # Setup a pepper to generate the encrypted password.
101
- # config.pepper = 'ddbaee3a470626533816cc347decce699130ee5eb72ef545cb12f2c6c1f2e75b6b7c6e2cc98bcdf7e2675acacc6b1874c1cbe21e5a3b3927e85551c987a96650'
103
+ # config.pepper = '7d483ef48a0c859652bd623cba800fd76a8a45662f246b2dd2602b02635dbdf935ce0384f1c3bf13fdbe23880eab9f5fdf87fa46f92a1f36098f6051313383fe'
102
104
 
103
105
  # ==> Configuration for :confirmable
104
106
  # A period that the user is allowed to access the website even without
@@ -123,7 +125,7 @@ Devise.setup do |config|
123
125
  config.reconfirmable = true
124
126
 
125
127
  # Defines which key will be used when confirming an account
126
- # config.confirmation_keys = [ :email ]
128
+ # config.confirmation_keys = [:email]
127
129
 
128
130
  # ==> Configuration for :rememberable
129
131
  # The time the user will be remembered without asking for credentials again.
@@ -141,7 +143,7 @@ Devise.setup do |config|
141
143
 
142
144
  # ==> Configuration for :validatable
143
145
  # Range for password length.
144
- config.password_length = 6..64
146
+ config.password_length = 8..72
145
147
 
146
148
  # Email regex used to validate email formats. It simply asserts that
147
149
  # one (and only one) @ exists in the given string. This is mainly
@@ -153,9 +155,6 @@ Devise.setup do |config|
153
155
  # time the user will be asked for credentials again. Default is 30 minutes.
154
156
  # config.timeout_in = 30.minutes
155
157
 
156
- # If true, expires auth token on session timeout.
157
- # config.expire_auth_token_on_timeout = false
158
-
159
158
  # ==> Configuration for :lockable
160
159
  # Defines which strategy will be used to lock an account.
161
160
  # :failed_attempts = Locks an account after a number of failed attempts to sign in.
@@ -163,7 +162,7 @@ Devise.setup do |config|
163
162
  # config.lock_strategy = :failed_attempts
164
163
 
165
164
  # Defines which key will be used when locking and unlocking an account
166
- # config.unlock_keys = [ :email ]
165
+ # config.unlock_keys = [:email]
167
166
 
168
167
  # Defines which strategy will be used to unlock an account.
169
168
  # :email = Sends an unlock link to the user email
@@ -180,18 +179,22 @@ Devise.setup do |config|
180
179
  # config.unlock_in = 1.hour
181
180
 
182
181
  # Warn on the last attempt before the account is locked.
183
- # config.last_attempt_warning = false
182
+ # config.last_attempt_warning = true
184
183
 
185
184
  # ==> Configuration for :recoverable
186
185
  #
187
186
  # Defines which key will be used when recovering the password for an account
188
- # config.reset_password_keys = [ :email ]
187
+ # config.reset_password_keys = [:email]
189
188
 
190
189
  # Time interval you can reset your password with a reset password key.
191
190
  # Don't put a too small interval or your users won't have the time to
192
191
  # change their passwords.
193
192
  config.reset_password_within = 6.hours
194
193
 
194
+ # When set to false, does not sign a user in automatically after their password is
195
+ # reset. Defaults to true, so a user is signed in automatically after a reset.
196
+ # config.sign_in_after_reset_password = true
197
+
195
198
  # ==> Configuration for :encryptable
196
199
  # Allow you to use another encryption algorithm besides bcrypt (default). You can use
197
200
  # :sha1, :sha512 or encryptors from others authentication tools as :clearance_sha1,
@@ -254,7 +257,7 @@ Devise.setup do |config|
254
257
  # The router that invoked `devise_for`, in the example above, would be:
255
258
  # config.router_name = :my_engine
256
259
  #
257
- # When using omniauth, Devise cannot automatically set Omniauth path,
260
+ # When using OmniAuth, Devise cannot automatically set OmniAuth path,
258
261
  # so you need to do it manually. For the users scope, it would be:
259
262
  # config.omniauth_path_prefix = '/my_engine/users/auth'
260
263
  end
@@ -0,0 +1,60 @@
1
+ # Additional translations at https://github.com/plataformatec/devise/wiki/I18n
2
+
3
+ en:
4
+ devise:
5
+ confirmations:
6
+ confirmed: "Your email address has been successfully confirmed."
7
+ send_instructions: "You will receive an email with instructions for how to confirm your email address in a few minutes."
8
+ send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes."
9
+ failure:
10
+ already_authenticated: "You are already signed in."
11
+ inactive: "Your account is not activated yet."
12
+ invalid: "Invalid %{authentication_keys} or password."
13
+ locked: "Your account is locked."
14
+ last_attempt: "You have one more attempt before your account is locked."
15
+ not_found_in_database: "Invalid %{authentication_keys} or password."
16
+ timeout: "Your session expired. Please sign in again to continue."
17
+ unauthenticated: "You need to sign in or sign up before continuing."
18
+ unconfirmed: "You have to confirm your email address before continuing."
19
+ mailer:
20
+ confirmation_instructions:
21
+ subject: "Confirmation instructions"
22
+ reset_password_instructions:
23
+ subject: "Reset password instructions"
24
+ unlock_instructions:
25
+ subject: "Unlock instructions"
26
+ omniauth_callbacks:
27
+ failure: "Could not authenticate you from %{kind} because \"%{reason}\"."
28
+ success: "Successfully authenticated from %{kind} account."
29
+ passwords:
30
+ no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided."
31
+ send_instructions: "You will receive an email with instructions on how to reset your password in a few minutes."
32
+ send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes."
33
+ updated: "Your password has been changed successfully. You are now signed in."
34
+ updated_not_active: "Your password has been changed successfully."
35
+ registrations:
36
+ destroyed: "Bye! Your account has been successfully cancelled. We hope to see you again soon."
37
+ signed_up: "Welcome! You have signed up successfully."
38
+ signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated."
39
+ signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked."
40
+ signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account."
41
+ update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address."
42
+ updated: "Your account has been updated successfully."
43
+ sessions:
44
+ signed_in: "Signed in successfully."
45
+ signed_out: "Signed out successfully."
46
+ already_signed_out: "Signed out successfully."
47
+ unlocks:
48
+ send_instructions: "You will receive an email with instructions for how to unlock your account in a few minutes."
49
+ send_paranoid_instructions: "If your account exists, you will receive an email with instructions for how to unlock it in a few minutes."
50
+ unlocked: "Your account has been unlocked successfully. Please sign in to continue."
51
+ errors:
52
+ messages:
53
+ already_confirmed: "was already confirmed, please try signing in"
54
+ confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one"
55
+ expired: "has expired, please request a new one"
56
+ not_found: "not found"
57
+ not_locked: "was not locked"
58
+ not_saved:
59
+ one: "1 error prohibited this %{resource} from being saved:"
60
+ other: "%{count} errors prohibited this %{resource} from being saved:"
@@ -1,6 +1,6 @@
1
1
  Rails.application.routes.draw do
2
2
  #devise_for :admin_users, ActiveAdmin::Devise.config
3
- #devise_for :users
3
+ devise_for :users
4
4
  ActiveAdmin.routes(self)
5
5
 
6
6
  # You can have the root of your site routed with "root"
@@ -16,7 +16,5 @@ development:
16
16
  test:
17
17
  secret_key_base: ca9d4587a556cfc28464dcf7f9d73b396e53b814cd339a469bc817011485510d3a9d1d6a7fa08f65cce65bcd55727a7110de0077a952f50ce58a956b255c6903
18
18
 
19
- # Do not keep production secrets in the repository,
20
- # instead read values from the environment.
21
19
  production:
22
- secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
20
+ secret_key_base: 993285c8b7c44547fa1cf053bf88fa75d6f8fdf33d8e033b8915e025b252c620ef102e9c16a463c3a60b356cf5b57f27ebb35eb90f4f2674bda82c69cac4142d
Binary file
data/spec/rails_helper.rb CHANGED
@@ -3,9 +3,20 @@ require File.expand_path("../dummy/config/environment", __FILE__)
3
3
  require 'rspec/rails'
4
4
  Dir[Rails.root.join("../support/**/*.rb")].each { |f| require f }
5
5
 
6
+
6
7
  RSpec.configure do |config|
7
8
  config.include Devise::TestHelpers, type: :controller
8
9
  config.use_transactional_fixtures = true
9
10
  config.infer_spec_type_from_file_location!
10
11
  config.expect_with(:rspec) { |c| c.syntax = :should }
11
12
  end
13
+
14
+ # Devise isn't initializing properly in the dummy app, stub it out for now.
15
+ Devise.token_generator ||= Devise::TokenGenerator.new(Devise::CachingKeyGenerator.new(Devise::KeyGenerator.new(Devise.secret_key)))
16
+ class Devise::Mailer
17
+ def self.confirmation_instructions(a,b,c)
18
+ Devise::Mailer.new
19
+ end
20
+ def deliver
21
+ end
22
+ end
@@ -32,7 +32,7 @@ User.blueprint do
32
32
  email { "test-"+syllable+'@springshot.com' }
33
33
  first_name { word(4) }
34
34
  last_name { word(5) }
35
- password { 'abc123' }
35
+ password { 'abcd1234' }
36
36
  confirmed_at { Time.now }
37
37
  end
38
38
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: introspective_admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Buermann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-12 00:00:00.000000000 Z
11
+ date: 2016-03-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sass-rails
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: byebug
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: rspec-rails
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -161,6 +147,7 @@ files:
161
147
  - spec/admin/job_admin_spec.rb
162
148
  - spec/admin/location_admin_spec.rb
163
149
  - spec/admin/project__admin_spec.rb
150
+ - spec/admin/user_admin_spec.rb
164
151
  - spec/dummy/README.rdoc
165
152
  - spec/dummy/Rakefile
166
153
  - spec/dummy/app/admin/company_admin.rb
@@ -217,6 +204,7 @@ files:
217
204
  - spec/dummy/config/initializers/mime_types.rb
218
205
  - spec/dummy/config/initializers/session_store.rb
219
206
  - spec/dummy/config/initializers/wrap_parameters.rb
207
+ - spec/dummy/config/locales/devise.en.yml
220
208
  - spec/dummy/config/locales/en.yml
221
209
  - spec/dummy/config/routes.rb
222
210
  - spec/dummy/config/secrets.yml
@@ -285,6 +273,7 @@ test_files:
285
273
  - spec/admin/job_admin_spec.rb
286
274
  - spec/admin/location_admin_spec.rb
287
275
  - spec/admin/project__admin_spec.rb
276
+ - spec/admin/user_admin_spec.rb
288
277
  - spec/dummy/README.rdoc
289
278
  - spec/dummy/Rakefile
290
279
  - spec/dummy/app/admin/company_admin.rb
@@ -341,6 +330,7 @@ test_files:
341
330
  - spec/dummy/config/initializers/mime_types.rb
342
331
  - spec/dummy/config/initializers/session_store.rb
343
332
  - spec/dummy/config/initializers/wrap_parameters.rb
333
+ - spec/dummy/config/locales/devise.en.yml
344
334
  - spec/dummy/config/locales/en.yml
345
335
  - spec/dummy/config/routes.rb
346
336
  - spec/dummy/config/secrets.yml