Module: Utusemi::Core::Base

Included in:
ActiveRecord::Base::ClassMethods, ActiveRecord::QueryMethods, InstanceMethods
Defined in:
lib/utusemi/core.rb

Overview

用途

モデル向けカラムマッパとインスタンス向けカラムマッパの共通処理

役割

モデル向けカラムマッパ => Utusemi::Core::ActiveRecord
インスタンス向けカラムマッパ => Utusemi::Core::InstanceMethods

備考

utusemiメソッドの第2引数は、任意のオプションをHashで指定する。
ただしoptions[:times]は予約済みで、指定した回数分だけmapメソッドを
繰り返し、options[:index]にイテレート中のカウントを返す。
また、その結果から複数のwhere条件を構築する。

Instance Method Summary collapse

Instance Method Details

#utusemi(obj = nil, options = {}) ⇒ Object



23
24
25
# File 'lib/utusemi/core.rb', line 23

def utusemi(obj = nil, options = {})
  clone.utusemi!(obj, options)
end

#utusemi!(obj = nil, options = {}) ⇒ Object



27
28
29
30
31
32
33
34
35
36
# File 'lib/utusemi/core.rb', line 27

def utusemi!(obj = nil, options = {})
  obj = true if obj.nil?
  @utusemi_values ||= {}
  @utusemi_values[:flag] = obj ? true : false
  @utusemi_values[:type] = obj.to_sym if obj.class.in? [Symbol, String]
  @utusemi_values[:type] ||= default_utusemi_type
  @utusemi_values[:options] = options
  warning_checker unless Rails.env.production?
  self
end

#utusemi_valuesObject



17
18
19
20
21
# File 'lib/utusemi/core.rb', line 17

def utusemi_values
  utusemi_values = @utusemi_values || {}
  utusemi_values = klass_utusemi_values unless utusemi_values[:flag]
  utusemi_values
end