Module: Sublayer::Components::OutputAdapters

Defined in:
lib/sublayer/components/output_adapters.rb,
lib/sublayer/components/output_adapters/formattable.rb,
lib/sublayer/components/output_adapters/named_strings.rb,
lib/sublayer/components/output_adapters/single_string.rb,
lib/sublayer/components/output_adapters/single_integer.rb,
lib/sublayer/components/output_adapters/list_of_strings.rb,
lib/sublayer/components/output_adapters/list_of_named_strings.rb,
lib/sublayer/components/output_adapters/string_selection_from_list.rb

Defined Under Namespace

Modules: Formattable Classes: ListOfNamedStrings, ListOfStrings, NamedStrings, SingleInteger, SingleString, StringSelectionFromList

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



4
5
6
# File 'lib/sublayer/components/output_adapters.rb', line 4

def name
  @name
end

Class Method Details

.create(options) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/sublayer/components/output_adapters.rb', line 6

def self.create(options)
  klass = if options.has_key?(:class)
    klass = options[:class]
    if klass.is_a?(String)
      klass.constantize
    elsif klass.is_a?(Class)
      klass
    else
      raise "Invalid :class option"
    end
  elsif (type = options[:type])
    "Sublayer::Components::OutputAdapters::#{type.to_s.camelize}".constantize
  else
    raise "Output adapter must be specified with :class or :type"
  end

  options[:name] = options[:name].to_s if options[:name].is_a?(Symbol)

  klass.new(options)
end