Collection of class methods that get defined on an including class via Hoodoo::ActiveRecord::Creator.included.
- N
Create an instance of this model with knowledge of the wider request context. This may lead to important things like support of inbound “dated_from” values, depending upon the Hoodoo mixins included (or not) by this class - see Hoodoo::ActiveRecord::Dated.
You use this exactly as you would for ActiveRecord::Core#new, but an additional, mandatory first parameter providing the request context must be supplied. For example, instead of this:
instance = SomeActiveRecordSubclass.new( attrs )
…do this inside a resource implementation:
instance = SomeActiveRecordSubclass.new_in( context, attrs )
See also:
Parameters:
context
-
Hoodoo::Services::Context instance describing a call context. This is typically a value passed to one of the Hoodoo::Services::Implementation instance methods that a resource subclass implements.
attributes
-
Optional model attributes Hash, passed through to ActiveRecord::Core#new.
- &block
-
Optional block for initialisation, passed through to ActiveRecord::Core#new.
Returns a new model instance which may have context-derived values set for
some attributes, in addition to anything set through the
attributes
or &block
parameters, if present.
Note that context-dependent data is set AFTER attribute or block based values, so takes precedence over anything you might set up using those parameters.
Source: show
# File lib/hoodoo/active/active_record/creator.rb, line 114 def new_in( context, attributes = nil, &block ) instance = self.new( attributes, &block ) # TODO: Refactor this to use the scope chain plugin approach in due # course, but for now, pragmatic implementation does the only # things we currently require - set "created_at"/"updated_at". # unless context.request.dated_from.nil? instance.created_at = instance.updated_at = context.request.dated_from end return instance end