Module: ChoronSupport::Props::Attributes

Extended by:
ActiveSupport::Concern
Included in:
Base
Defined in:
lib/choron_support/props/attributes.rb

Instance Method Summary collapse

Instance Method Details

#as_propsHash

Returns props.

Returns:



88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# File 'lib/choron_support/props/attributes.rb', line 88

def as_props
  _props = {}
  only_params = params[:only].to_a.map(&:to_sym)
  except_params = params[:except].to_a.map(&:to_sym)

  # DSLの設定を設定する
  self.class.settings.to_a.each do |setting|
    # 除外設定がある場合はスキップ
    next if except_params.include?(setting.method.to_sym)
    # only設定がある場合はそれ以外をスキップ
    next if only_params.present? && only_params.exclude?(setting.method.to_sym)

    _props.merge!(__build_props_attribute__(setting))
  end

  # Classのマークをつける(テスト用)
  _props.merge!(__build_props_class_mark__)
  # Modelのマークをつける
  _props.merge!(__build_props_meta_mark__)

  _props
end