Class: AdminModelGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/admin_model/admin_model_generator.rb

Instance Method Summary collapse

Instance Method Details

#crate_rails_admin_concernObject



12
13
14
15
16
17
18
19
20
# File 'lib/generators/admin_model/admin_model_generator.rb', line 12

def crate_rails_admin_concern
  @pascal_name = class_name.singularize
  @snake_name = file_name.singularize
  @fields_list = ''
  @attributes.each do |attribute|
    @fields_list << "\n        field :#{attribute.name}"
  end
  template 'admin_model.template', "app/models/concerns/rails_admin/#{@snake_name}.rb"
end

#generate_modelObject



8
9
10
# File 'lib/generators/admin_model/admin_model_generator.rb', line 8

def generate_model
  generate('model', @_initializer[0].join(' '))
end

#get_translation_fileObject



26
27
28
29
30
# File 'lib/generators/admin_model/admin_model_generator.rb', line 26

def get_translation_file
  @ptbr_path = 'config/locales/pt-BR.yml'
  ptbr = File.read(@ptbr_path)
  @ptbr_hash = YAML.load(ptbr)
end

#include_rails_adminObject



22
23
24
# File 'lib/generators/admin_model/admin_model_generator.rb', line 22

def include_rails_admin
  inject_into_class "app/models/#{@snake_name}.rb", @pascal_name, "  include RailsAdmin::#{@pascal_name}\n"
end

#insert_attributes_errors_translation_keysObject



54
55
56
57
58
59
60
61
62
63
64
# File 'lib/generators/admin_model/admin_model_generator.rb', line 54

def insert_attributes_errors_translation_keys
  model_attriutes = @attributes.reduce('') do |acc, attribute|
    "#{acc}\n            #{attribute.name}:"
  end
  ptbr = File.read(@ptbr_path)
  inject_into_file @ptbr_path, after: ptbr[/pt-BR:\n(.*\n)* {2}activerecord:\n(.*\n)* {4}errors:\n(.*\n)* {6}models:\n( {8}.+(\n( {10}.+\n)+))+/] do
    <<-YML
      #{@snake_name}:\n          attributes:#{model_attriutes}
    YML
  end
end

#insert_attributes_translation_keysObject



42
43
44
45
46
47
48
49
50
51
52
# File 'lib/generators/admin_model/admin_model_generator.rb', line 42

def insert_attributes_translation_keys
  model_attriutes = @attributes.reduce('') do |acc, attribute|
    "#{acc}\n        #{attribute.name}: please fill me"
  end
  ptbr = File.read(@ptbr_path)
  inject_into_file @ptbr_path, after: ptbr[/pt-BR:\n(.*\n)* {2}activerecord:\n(.*\n)* {4}attributes:\n( {6}.+(\n( {8}.+\n)+))+/] do
    <<-YML
    #{@snake_name}:#{model_attriutes}
    YML
  end
end

#inssert_model_translation_keysObject



31
32
33
34
35
36
37
38
39
40
# File 'lib/generators/admin_model/admin_model_generator.rb', line 31

def inssert_model_translation_keys
  ptbr = File.read(@ptbr_path)
  inject_into_file @ptbr_path, after: ptbr[/pt-BR:\n(.*\n)* {2}activerecord:\n(.*\n)* {4}models:\n( {6}.+(\n( {8}.+\n)+))+/] do
    <<-YML
    #{@snake_name}:
      one: please fill me
      other: please fill me
    YML
  end
end