Class: User

Inherits:
Object
  • Object
show all
Defined in:
lib/resources/user.rb

Instance Method Summary collapse

Constructor Details

#initialize(user) ⇒ User

Returns a new instance of User.



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/resources/user.rb', line 44

def initialize(user)
  @user = user

  # select package manager
  @user_provider = nil
  case inspec.os[:family]
  when 'ubuntu', 'debian', 'redhat', 'fedora', 'centos', 'arch', 'opensuse'
    @user_provider = LinuxUser.new(inspec)
  when 'windows'
    @user_provider = WindowsUser.new(inspec)
  when 'darwin'
    @user_provider = DarwinUser.new(inspec)
  when 'freebsd'
    @user_provider = FreeBSDUser.new(inspec)
  else
    return skip_resource 'The `user` resource is not supported on your OS yet.'
  end
end

Instance Method Details

#deprecated(name, alternative = nil) ⇒ Object



140
141
142
# File 'lib/resources/user.rb', line 140

def deprecated(name, alternative = nil)
  warn "[DEPRECATION] #{name} is deprecated. #{alternative}"
end

#exists?Boolean

Returns:

  • (Boolean)


63
64
65
# File 'lib/resources/user.rb', line 63

def exists?
  !identiy.nil? && !identiy[:user].nil?
end

#gidObject



71
72
73
# File 'lib/resources/user.rb', line 71

def gid
  identiy.nil? ? nil : identiy[:gid]
end

#groupObject



75
76
77
# File 'lib/resources/user.rb', line 75

def group
  identiy.nil? ? nil : identiy[:group]
end

#groupsObject



79
80
81
# File 'lib/resources/user.rb', line 79

def groups
  identiy.nil? ? nil : identiy[:groups]
end

#has_authorized_key?(_compare_key) ⇒ Boolean

Returns:

  • (Boolean)


135
136
137
138
# File 'lib/resources/user.rb', line 135

def has_authorized_key?(_compare_key)
  deprecated('has_authorized_key?')
  fail NotImplementedError
end

#has_home_directory?(compare_home) ⇒ Boolean

Returns:

  • (Boolean)


125
126
127
128
# File 'lib/resources/user.rb', line 125

def has_home_directory?(compare_home)
  deprecated('has_home_directory?', "Please use 'its(:home)'")
  home == compare_home
end

#has_login_shell?(compare_shell) ⇒ Boolean

Returns:

  • (Boolean)


130
131
132
133
# File 'lib/resources/user.rb', line 130

def (compare_shell)
  deprecated('has_login_shell?', "Please use 'its(:shell)'")
  shell == compare_shell
end

#has_uid?(compare_uid) ⇒ Boolean

implements rspec has matcher, to be compatible with serverspec @see: github.com/rspec/rspec-expectations/blob/master/lib/rspec/matchers/built_in/has.rb

Returns:

  • (Boolean)


120
121
122
123
# File 'lib/resources/user.rb', line 120

def has_uid?(compare_uid)
  deprecated('has_uid?')
  uid == compare_uid
end

#homeObject



83
84
85
# File 'lib/resources/user.rb', line 83

def home
  meta_info.nil? ? nil : meta_info[:home]
end

#maxdaysObject

returns the maximum days between password changes



97
98
99
# File 'lib/resources/user.rb', line 97

def maxdays
  credentials.nil? ? nil : credentials[:maxdays]
end

#maximum_days_between_password_changeObject

implement ‘maxdays’ method to be compatible with serverspec



113
114
115
116
# File 'lib/resources/user.rb', line 113

def maximum_days_between_password_change
  deprecated('maximum_days_between_password_change', "Please use 'its(:maxdays)'")
  maxdays
end

#mindaysObject

returns the minimum days between password changes



92
93
94
# File 'lib/resources/user.rb', line 92

def mindays
  credentials.nil? ? nil : credentials[:mindays]
end

#minimum_days_between_password_changeObject

implement ‘mindays’ method to be compatible with serverspec



107
108
109
110
# File 'lib/resources/user.rb', line 107

def minimum_days_between_password_change
  deprecated('minimum_days_between_password_change', "Please use 'its(:mindays)'")
  mindays
end

#shellObject



87
88
89
# File 'lib/resources/user.rb', line 87

def shell
  meta_info.nil? ? nil : meta_info[:shell]
end

#to_sObject



144
145
146
# File 'lib/resources/user.rb', line 144

def to_s
  "User #{@user}"
end

#uidObject



67
68
69
# File 'lib/resources/user.rb', line 67

def uid
  identiy.nil? ? nil : identiy[:uid]
end

#warndaysObject

returns the days for password change warning



102
103
104
# File 'lib/resources/user.rb', line 102

def warndays
  credentials.nil? ? nil : credentials[:warndays]
end