Module: ModelInfo::ModelsHelper
- Defined in:
- app/helpers/model_info/models_helper.rb
Instance Method Summary collapse
-
#associations_hash ⇒ Object
associations_hash = { [:projects, :has_many]=>“Project”, [:histories, :has_many]=>“History”, [:subordinates, :has_many]=>“Employee” }.
- #model_actions(model_data) ⇒ Object
- #model_column_names ⇒ Object
- #model_column_value(model_data, model_column_name) ⇒ Object
- #model_download_actions ⇒ Object
- #model_reflection_on_associations ⇒ Object
Instance Method Details
#associations_hash ⇒ Object
associations_hash = { [:projects, :has_many]=>“Project”, [:histories, :has_many]=>“History”, [:subordinates, :has_many]=>“Employee” }
45 46 47 48 49 50 51 52 53 54 55 |
# File 'app/helpers/model_info/models_helper.rb', line 45 def associations_hash relationship_hash ={}, active_record_name=[], klass_name=[] model_reflection_on_associations.each do |reflection| if reflection.[:polymorphic] active_record_name.push(reflection.active_record.name) else klass_name.push(reflection.klass.name) end end relationship_hash = model_reflection_on_associations.map { |x| [x.name, x.macro] }.zip(active_record_name+klass_name).inject({}) { |h, e| h[e.first] = e.last; h } end |
#model_actions(model_data) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'app/helpers/model_info/models_helper.rb', line 17 def model_actions(model_data) content_tag :td, class: 'model_action' do capture do concat link_to 'View', model_show_path(model_class: @model_class, model_object_id: model_data.id, page: @page), class: 'btn btn-info' concat link_to 'Edit', model_edit_path(model_class: @model_class, model_object_id: model_data.id), class: 'btn btn-warning' concat link_to 'Delete', model_destroy_path(model_class: @model_class, model_object_id: model_data.id), method: :delete, data: {confirm: 'Are you sure?'}, class: 'btn btn-danger' end end end |
#model_column_names ⇒ Object
4 5 6 |
# File 'app/helpers/model_info/models_helper.rb', line 4 def model_column_names @model_class.constantize.column_names end |
#model_column_value(model_data, model_column_name) ⇒ Object
12 13 14 15 |
# File 'app/helpers/model_info/models_helper.rb', line 12 def model_column_value(model_data, model_column_name) column_value = model_data.send(model_column_name.to_sym) column_value.class =='String' ? column_value.truncate(14) : column_value.to_s.truncate(14) end |
#model_download_actions ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/helpers/model_info/models_helper.rb', line 27 def model_download_actions if @model_class.constantize.any? content_tag :div, class: 'model_downloads' do capture do concat 'Download: ' concat link_to 'CSV', download_csv_path(model_class: @model_class), format: :csv concat ' ' concat link_to 'JSON', download_json_path(model_class: @model_class), format: :json end end end end |
#model_reflection_on_associations ⇒ Object
8 9 10 |
# File 'app/helpers/model_info/models_helper.rb', line 8 def model_reflection_on_associations @model_class.constantize.reflect_on_all_associations end |