Class: ActiveAdmin::Favorites::Favorite::MacroBuilder
- Inherits:
-
Object
- Object
- ActiveAdmin::Favorites::Favorite::MacroBuilder
- Defined in:
- app/models/active_admin/favorites/favorite/macro_builder.rb
Class Method Summary collapse
- .from_json(json_string) ⇒ Object
- .from_template_assignments(assignments) ⇒ Object
- .template(attribute, name:) ⇒ Object
Class Method Details
.from_json(json_string) ⇒ Object
23 24 25 26 27 28 |
# File 'app/models/active_admin/favorites/favorite/macro_builder.rb', line 23 def self.from_json(json_string) parsed = JSON.parse(json_string) raise JSON::ParserError unless parsed.is_a?(Array) parsed end |
.from_template_assignments(assignments) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'app/models/active_admin/favorites/favorite/macro_builder.rb', line 7 def self.from_template_assignments(assignments) assignment_rows(assignments).filter_map do |assignment| next unless ActiveModel::Type::Boolean.new.cast(assignment["enabled"]) attribute = assignment["attribute"].to_s template_name = assignment["name"].to_s next if attribute.blank? || template_name.blank? { "type" => "template", "name" => template_name, "attribute" => attribute } end end |
.template(attribute, name:) ⇒ Object
30 31 32 |
# File 'app/models/active_admin/favorites/favorite/macro_builder.rb', line 30 def self.template(attribute, name:) [{"type" => "template", "name" => name.to_s, "attribute" => attribute.to_s}] end |