Class: AdminModelGenerator
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- AdminModelGenerator
- Defined in:
- lib/generators/admin_model/admin_model_generator.rb
Instance Method Summary collapse
- #crate_rails_admin_concern ⇒ Object
- #generate_model ⇒ Object
- #get_translation_file ⇒ Object
- #include_rails_admin ⇒ Object
- #insert_attributes_errors_translation_keys ⇒ Object
- #insert_attributes_translation_keys ⇒ Object
- #insert_base_errors_translations_if_necessary ⇒ Object
- #insert_deafult_attributes_translations_if_necessary ⇒ Object
- #inssert_model_translation_keys ⇒ Object
Instance Method Details
#crate_rails_admin_concern ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/generators/admin_model/admin_model_generator.rb', line 12 def crate_rails_admin_concern @class_name = class_name @fields_list = '' @attributes.each do |attribute| @fields_list << "\n field :#{attribute.name}" end template 'admin_model.template', "app/models/concerns/rails_admin/#{file_name}.rb" end |
#generate_model ⇒ Object
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_file ⇒ Object
25 26 27 28 |
# File 'lib/generators/admin_model/admin_model_generator.rb', line 25 def get_translation_file ptbr = File.read('config/locales/pt-BR.yml') @ptbr_hash = YAML.load(ptbr) end |
#include_rails_admin ⇒ Object
21 22 23 |
# File 'lib/generators/admin_model/admin_model_generator.rb', line 21 def include_rails_admin inject_into_class "app/models/#{file_name}.rb", class_name, " include RailsAdmin::#{class_name}\n" end |
#insert_attributes_errors_translation_keys ⇒ Object
80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/generators/admin_model/admin_model_generator.rb', line 80 def insert_attributes_errors_translation_keys model_attriutes = @attributes.reduce('') do |acc, attribute| "#{acc}\n #{attribute.name}:\n <<: *base_errors" end ptbr = File.read("config/locales/pt-BR.yml") inject_into_file 'config/locales/pt-BR.yml', after: ptbr[/pt-BR:\n(.*\n)* {2}activerecord:\n(.*\n)* {4}errors:\n(.*\n)* {6}models:\n( {8}.+(\n( {10}.+\n)+))+/] do <<-YML #{name}:\n attributes:#{model_attriutes} YML end end |
#insert_attributes_translation_keys ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/generators/admin_model/admin_model_generator.rb', line 68 def insert_attributes_translation_keys model_attriutes = @attributes.reduce('') do |acc, attribute| "#{acc}\n #{attribute.name}: please fill me" end ptbr = File.read("config/locales/pt-BR.yml") inject_into_file 'config/locales/pt-BR.yml', after: ptbr[/pt-BR:\n(.*\n)* {2}activerecord:\n(.*\n)* {4}attributes:\n( {6}.+(\n( {8}.+\n)+))+/] do <<-YML #{name}:\n <<: *default_attributes#{model_attriutes} YML end end |
#insert_base_errors_translations_if_necessary ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/generators/admin_model/admin_model_generator.rb', line 44 def insert_base_errors_translations_if_necessary if @ptbr_hash["pt-BR"]["activerecord"]["errors"]["models"]["base_errors"].nil? inject_into_file 'config/locales/pt-BR.yml', after: " errors:\n models:\n" do <<-YML base_errors: &base_errors blank: não pode ficar em branco invalid: invalido required: é requirido taken: já existe e deve ser único YML end end end |
#insert_deafult_attributes_translations_if_necessary ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/generators/admin_model/admin_model_generator.rb', line 30 def insert_deafult_attributes_translations_if_necessary if @ptbr_hash["pt-BR"]["activerecord"]["attributes"]["default_attributes"].nil? inject_into_file 'config/locales/pt-BR.yml', after: "\n attributes:\n" do <<-YML default_attributes: &default_attributes id: '#' name: Nome created_at: Data de criação updated_at: Data de atualização YML end end end |
#inssert_model_translation_keys ⇒ Object
58 59 60 61 62 63 64 65 66 |
# File 'lib/generators/admin_model/admin_model_generator.rb', line 58 def inssert_model_translation_keys inject_into_file 'config/locales/pt-BR.yml', after: "\n models:\n" do <<-YML #{name}: one: please fill me other: please fill me YML end end |