Module: RailsViewAdapters::Adapter

Defined in:
lib/rails_view_adapters/adapter.rb

Overview

Top level namespace for defining the adapters.

Constant Summary collapse

FIELDS =
[
  :model_fields, :public_fields,
  :to_maps, :from_maps, :simple_maps
].freeze

Class Method Summary collapse

Class Method Details

.adapter_from_map(map) ⇒ Object



22
23
24
25
26
27
28
29
30
# File 'lib/rails_view_adapters/adapter.rb', line 22

def self.adapter_from_map(map)
  Class.new(AdapterBase) do
    FIELDS.each do |method|
      define_singleton_method method do
        map.send(method)
      end
    end
  end
end

.define(name, &block) ⇒ Object



16
17
18
19
20
# File 'lib/rails_view_adapters/adapter.rb', line 16

def self.define(name, &block)
  proxy = DefinitionProxy.new(Map.new)
  proxy.instance_eval(&block)
  Object.const_set(name.to_s.classify, adapter_from_map(proxy.map))
end