Class: Creators::Base
- Inherits:
-
Object
- Object
- Creators::Base
- Defined in:
- lib/creators/creator.rb
Defined Under Namespace
Classes: ErrorInParams
Class Method Summary collapse
Instance Method Summary collapse
- #error(field, text) ⇒ Object
- #errors ⇒ Object
-
#initialize(raw_params = {}, model = nil) ⇒ Base
constructor
A new instance of Base.
- #model ⇒ Object
- #save ⇒ Object
Constructor Details
#initialize(raw_params = {}, model = nil) ⇒ Base
Returns a new instance of Base.
44 45 46 47 48 |
# File 'lib/creators/creator.rb', line 44 def initialize(raw_params = {}, model = nil) @params = raw_params @model = model @errors = {} end |
Class Method Details
.inherited(child_class) ⇒ Object
27 28 29 30 31 32 |
# File 'lib/creators/creator.rb', line 27 def self.inherited(child_class) child_class.class_eval do class_name = child_class.to_s.gsub('Creator', '') self.model(class_name) end end |
.model(class_name) ⇒ Object
34 35 36 37 38 39 40 41 42 |
# File 'lib/creators/creator.rb', line 34 def self.model(class_name) define_method :klass do class_name.constantize end define_method class_name.underscore do model end end |
Instance Method Details
#error(field, text) ⇒ Object
71 72 73 74 |
# File 'lib/creators/creator.rb', line 71 def error(field, text) @errors[field] = text raise ErrorInParams.new("#{field}: #{text}") end |
#errors ⇒ Object
65 66 67 68 69 |
# File 'lib/creators/creator.rb', line 65 def errors e = @errors return e.merge(@model.errors()) if @model.present? and @model.errors().present? e end |
#model ⇒ Object
61 62 63 |
# File 'lib/creators/creator.rb', line 61 def model @model end |
#save ⇒ Object
50 51 52 53 54 55 56 57 58 59 |
# File 'lib/creators/creator.rb', line 50 def save build before_save return false unless @model.save after_save true rescue ErrorInParams => e Log.error(e) false end |