Sha256: 00f60918039bb0749a3fc00da1680a2d14435218cd4c311477bf6817f96f8323
Contents?: true
Size: 552 Bytes
Versions: 1
Compression:
Stored size: 552 Bytes
Contents
require 'crystal_ext/gems' Crystal::AbstractController::ClassMethods.class_eval do def prepare_model aclass, opt = {} id = opt.delete(:id) || :id # variable = opt.delete(:variable) || aclass.model_name.underscore opt.must.include :variable variable = opt.delete(:variable) finder = opt.delete(:finder) || :find! method = "prepare_#{variable}" define_method method do model = aclass.send finder, params[id] instance_variable_set "@#{variable}", model end before method, opt end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
crystal_ext-0.0.7 | lib/crystal_ext/prepare_model.rb |