Class: DuperVisor::Formats::Base
- Inherits:
-
Object
- Object
- DuperVisor::Formats::Base
- Defined in:
- lib/dupervisor/formats.rb
Class Attribute Summary collapse
-
.format_aliases ⇒ Object
Returns the value of attribute format_aliases.
-
.formats ⇒ Object
Returns a hash: { format: format_class, format_alias: format_class, …} For example { yaml: YAML, yml: YAML, etc.}.
Class Method Summary collapse
Class Attribute Details
.format_aliases ⇒ Object
Returns the value of attribute format_aliases.
16 17 18 |
# File 'lib/dupervisor/formats.rb', line 16 def format_aliases @format_aliases end |
.formats ⇒ Object
Returns a hash: { format: format_class, format_alias: format_class, …} For example { yaml: YAML, yml: YAML, etc.}
20 21 22 23 24 25 26 27 28 |
# File 'lib/dupervisor/formats.rb', line 20 def formats aliases = {} @formats.values.each do |format_class| if format_class.aliases && !format_class.aliases.empty? format_class.aliases.each { |format_alias| aliases[format_alias] = format_class } end end @formats.merge!(aliases) end |
Class Method Details
.inherited(klass) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/dupervisor/formats.rb', line 31 def self.inherited(klass) klass.instance_eval do class << self %i(aliases from to errors).each do |a| define_method(a) { |*args| arg = args.first %i(aliases errors).each do |array_field| if a == array_field && arg && !arg.is_a?(Array) arg = [arg] end end arg ? instance_variable_set("@#{a}".to_sym, arg) : instance_variable_get("@#{a}".to_sym) } end end def format self.name.split(/::/)[-1].downcase.to_sym end end self.formats[klass.format] = klass end |