class DataDepo::ArrayData

Public Class Methods

gen(name, array) click to toggle source
# File lib/data_depo/array_data.rb, line 6
def gen(name, array)
  a = self[*array]
  nm = name.to_s.split('/').first
  a.instance_variable_set(:@name, nm)
  mod = action_module(nm)
  (class << a; self; end).__send__(:include, mod) if mod
  a
end

Private Class Methods

action_module(name) click to toggle source
# File lib/data_depo/array_data.rb, line 16
def action_module(name)
  nm = if name.respond_to?(:camelize)
         name.camelize
       else
         name.split('_').map {|s| s.capitalize }.join
       end
  nm << 'Action'
  DataDepo.const_defined?(nm) ? DataDepo.const_get(nm) : nil
end