Module: CoreDataGridHelper
- Defined in:
- app/helpers/core_data_grid_helper.rb
Instance Method Summary collapse
- #data_grid_field_value(model, field_name) ⇒ Object
- #data_grid_item(title, content) ⇒ Object
- #data_grid_mask(title, secret_content) ⇒ Object
- #data_grid_tag(model, fields: [], except: [], &block) ⇒ Object
- #data_grid_url(title, url) ⇒ Object
Instance Method Details
#data_grid_field_value(model, field_name) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'app/helpers/core_data_grid_helper.rb', line 33 def data_grid_field_value(model, field_name) value = model.respond_to?(field_name) ? model.send(field_name) : nil case value when BSON::ObjectId if field_name.eql?('_id') value.to_s else = (model, field_name.chomp('_id')) .present? ? .name : 'N/A' end when FalseClass 'No' when TrueClass 'Yes' when Mongoid::Boolean value ? 'Yes' : 'No' when Date, DateTime, Time current_member_user&.local_time(value, :medium) || value.to_s when Integer, Array value.to_s when String value else 'N/S' end end |
#data_grid_item(title, content) ⇒ Object
17 18 19 20 21 22 |
# File 'app/helpers/core_data_grid_helper.rb', line 17 def data_grid_item(title, content) content_tag(:div, class: 'datagrid-item') do concat(content_tag(:div, class: 'datagrid-title') { title }) concat(content_tag(:div, class: 'datagrid-content') { content }) end end |
#data_grid_mask(title, secret_content) ⇒ Object
29 30 31 |
# File 'app/helpers/core_data_grid_helper.rb', line 29 def data_grid_mask(title, secret_content) data_grid_item(title, mask_value(secret_content)) end |
#data_grid_tag(model, fields: [], except: [], &block) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'app/helpers/core_data_grid_helper.rb', line 2 def data_grid_tag(model, fields: [], except: [], &block) fields = model.class.allowed_param_names(except) + model.class::STANDARD_FIELDS if fields.blank? content_tag(:div, class: 'datagrid') do fields.sort.each do |field| next if %w[_id _type].include?(field) next unless model.respond_to?(field) next if model.send(field).blank? concat(data_grid_item(field, data_grid_field_value(model, field))) end concat(capture(&block)) if block_given? end end |
#data_grid_url(title, url) ⇒ Object
24 25 26 27 |
# File 'app/helpers/core_data_grid_helper.rb', line 24 def data_grid_url(title, url) url = content_tag(:a, href: url) { url } data_grid_item(title, url) end |