module YaKassa::V3::Concerns::Attributable

Public Instance Methods

attributable(name, params = {}) click to toggle source
# File lib/ya_kassa/v3/concerns/attributable.rb, line 5
def attributable(name, params = {})
  define_attr_method(name, params[:default])
end

Private Instance Methods

define_attr_method(name, default_val = nil) click to toggle source
# File lib/ya_kassa/v3/concerns/attributable.rb, line 11
def define_attr_method(name, default_val = nil)
  define_method(name) do
    if @params[name.to_sym].nil?
      @params[name.to_sym] = default_val
    end
    @params[name.to_sym]
  end

  define_method("#{name}=") do |val|
    @params[name.to_sym] = val
  end
end