Module: Venomi::RailsAdmin

Defined in:
lib/venomi/rails_admin.rb

Class Method Summary collapse

Class Method Details

.configureObject



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/venomi/rails_admin.rb', line 17

def self.configure
  unless file_include?(@rails_admin_root, "config.model Translation do")
    replace(@rails_admin_root, "RailsAdmin.config do |config|", ("RailsAdmin.config do |config|\n" + @translation))
  end

  unless file_include?(@rails_admin_root, " new do")
    replace(@rails_admin_root, " new", @new)
  end

  unless file_include?(@rails_admin_root, " delete do")
    replace(@rails_admin_root, " delete", @delete)
  end
end

.file_include?(path, include) ⇒ Boolean



50
51
52
53
54
55
56
57
# File 'lib/venomi/rails_admin.rb', line 50

def self.file_include?(path, include)
  File.open(path, 'r') do |f|
   f.each_line do |line|
     return true if line.include? include
    end
  end
  false
end

.replace(path, pattern, new_line) ⇒ Object



39
40
41
42
43
44
45
46
47
48
# File 'lib/venomi/rails_admin.rb', line 39

def self.replace(path, pattern, new_line)
  t_file = Tempfile.new('temp.rb')
  File.open(path, 'r') do |f|
    f.each_line do |line|
      t_file.puts (line.include? pattern)? new_line : line
    end
  end
  t_file.close
  FileUtils.mv(t_file.path, path)
end

.rollbackObject



31
32
33
34
35
36
37
# File 'lib/venomi/rails_admin.rb', line 31

def self.rollback
    text = File.read(@rails_admin_root)
    text.gsub!(@delete, "    delete\n")
    text.gsub!(@new, "    new\n")
    text.gsub!(@translation, "")
    File.open(@rails_admin_root, "w") {|file| file.puts text }
end