Module: Venomi::RailsAdmin

Extended by:
Generators::Utils::InstanceMethods
Defined in:
lib/venomi/rails_admin.rb

Class Method Summary collapse

Methods included from Generators::Utils::InstanceMethods

file?, file_include?, install_gem, libraries_available?, library_available?, replace, yes_no

Class Method Details

.configure(table = "Translation") ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/venomi/rails_admin.rb', line 22

def configure(table = "Translation")
  init_parts_for(table)
  if file?(@rails_admin_root)
    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
end

.init_parts_for(table_name) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/venomi/rails_admin.rb', line 50

def init_parts_for(table_name)
  @table = table_name
  @new = <<-MSG
    new do
except [:#{@table}]
    end
    MSG

  @delete = <<-MSG
    delete do
except [:#{@table}]
    end
    MSG

  @translation = <<-MSG
config.model #{@table} do
  list do
    field :key
    field :value
  end
  edit do
    field :key do
      read_only true
    end
    field :value
  end
end
MSG
end

.rollback(table = "Translation") ⇒ Object



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

def rollback(table = "Translation")
  init_parts_for(table)
  if file? @rails_admin_root
    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
end