Class: ForemanUsers::Syusermodel
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- ForemanUsers::Syusermodel
- Defined in:
- app/models/foreman_users/syusermodel.rb
Instance Method Summary collapse
Instance Method Details
#create_content ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'app/models/foreman_users/syusermodel.rb', line 61 def create_content title_content = "class users {" user_content = "\n" + "\s\s" if self.syusers.size > 0 self.syusers.each do |syuser| user_content += "\n" + "\s\s" + "user { '" + syuser.name + "':" + "\n\s\s\s\s" + "ensure => '" + syuser.ensure + "'," + "\n\s\s\s\s" + "gid => '" + syuser.gid + "'," + "\n\s\s\s\s" + "groups => [" + syuser.groups + "]," + "\n\s\s\s\s" + "home => '" + syuser.home + "'," + "\n\s\s\s\s" + "password => '" + syuser.password + "'," + "\n\s\s\s\s" + "password_max_age => '" + syuser.password_max_age + "'," + "\n\s\s\s\s" + "password_min_age => '" + syuser.password_min_age + "'," + "\n\s\s\s\s" + "shell => '" + syuser.shell + "'," + "\n\s\s\s\s" + "uid => '" + syuser.uid + "'," + "\n\s\s" +"}" + "\n" end end group_content = "\s\s" if self.sygroups.size > 0 self.sygroups.each do |sygroup| group_content += "group {'"+ sygroup.name + "':" + "\n\s\s\s\s" + "ensure => '" + sygroup.ensure + "'," + "\n\s\s\s\s" + "gid => '" + sygroup.gid + "'," + "\n\s\s" +"}" + "\n\s\s" end end title_content = title_content + user_content + group_content rs = title_content + "\n" + "}" return rs end |
#create_dir ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'app/models/foreman_users/syusermodel.rb', line 11 def create_dir #该处需要注意权限问题,当前用户是否具有该目录的操作权限 root_dir_name = "/etc/puppet/environments/production/modules/" + self.name dir_exist_status = File.exist?(root_dir_name) #判断该目录是否存在 self.destory_dir #默认删除该目录,然后重新创建,主要目的防止文件或文件夹被误删除 if !dir_exist_status #创建目录结构 Dir::mkdir(root_dir_name) if !File.exist?(root_dir_name + "/files") Dir::mkdir(root_dir_name + "/files") end if !File.exist?(root_dir_name + "/manifests") Dir::mkdir(root_dir_name + "/manifests") end end if File.exist?(root_dir_name + "/files") if File.exist?(root_dir_name + "/files/welcome.conf") #生成files下welcome.conf文件 files_welcome_File = File.new(root_dir_name + "/files/welcome.conf", "w+") files_welcome_File.close end end if File.exist?(root_dir_name + "/manifests") if File.exist?(root_dir_name + "/manifests/init.pp") FileUtils.rm_r (root_dir_name + "/manifests/init.pp") end #生成manifests下init.pp文件 main_init_File = File.new(root_dir_name +"/manifests/init.pp", "w+") if main_init_File main_init_File.syswrite(self.create_content) else puts "Unable to open file!" end main_init_File.close end end |
#destory_dir ⇒ Object
51 52 53 54 55 56 57 58 59 |
# File 'app/models/foreman_users/syusermodel.rb', line 51 def destory_dir #该处需要注意权限问题,当前用户是否具有该目录的操作权限 root_dir_name = "/etc/puppet/environments/production/modules/" + self.name #判断该目录是否存在 dir_exist_status = File.exist?(root_dir_name ) if dir_exist_status FileUtils.rm_r root_dir_name end end |