Module: Coradoc::Html::Drop::DropFactory
- Defined in:
- lib/coradoc/html/drop/drop_factory.rb
Class Method Summary collapse
- .create(obj) ⇒ Object
- .drop_class_for(model) ⇒ Object
- .register(model_class, drop_class) ⇒ Object
- .template_type_for(model) ⇒ Object
Class Method Details
.create(obj) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/coradoc/html/drop/drop_factory.rb', line 16 def self.create(obj) return nil if obj.nil? return obj.map { |o| create(o) } if obj.is_a?(Array) return Escape.escape_html(obj) if obj.is_a?(String) return obj.to_s if obj.is_a?(Numeric) || obj.is_a?(TrueClass) || obj.is_a?(FalseClass) pair = lookup_pair(obj) return pair.last.new(obj) if pair Escape.escape_html(obj.to_s) end |
.drop_class_for(model) ⇒ Object
28 29 30 31 |
# File 'lib/coradoc/html/drop/drop_factory.rb', line 28 def self.drop_class_for(model) pair = lookup_pair(model) pair&.last end |
.register(model_class, drop_class) ⇒ Object
11 12 13 14 |
# File 'lib/coradoc/html/drop/drop_factory.rb', line 11 def self.register(model_class, drop_class) @registry << [model_class, drop_class] sort_registry! end |
.template_type_for(model) ⇒ Object
33 34 35 36 |
# File 'lib/coradoc/html/drop/drop_factory.rb', line 33 def self.template_type_for(model) drop = drop_class_for(model) drop&.new(model)&.template_type end |