Class: MR::Factory::RecordFactory
- Inherits:
-
Object
- Object
- MR::Factory::RecordFactory
- Defined in:
- lib/mr/factory/record_factory.rb
Defined Under Namespace
Classes: Config
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
-
#record_class ⇒ Object
readonly
Returns the value of attribute record_class.
Instance Method Summary collapse
-
#initialize(record_class, &block) ⇒ RecordFactory
constructor
A new instance of RecordFactory.
- #record(args = nil) ⇒ Object (also: #instance)
- #saved_dependencies_stack(args = nil) ⇒ Object (also: #saved_deps_stack)
- #saved_dependencies_stack_record(args = nil) ⇒ Object (also: #saved_deps_stack_record)
- #saved_record(args = nil) ⇒ Object (also: #saved_instance)
- #saved_stack(args = nil) ⇒ Object
- #saved_stack_record(args = nil) ⇒ Object
- #stack(args = nil) ⇒ Object (also: #instance_stack)
- #stack_record(args = nil) ⇒ Object
Constructor Details
#initialize(record_class, &block) ⇒ RecordFactory
Returns a new instance of RecordFactory.
13 14 15 16 17 |
# File 'lib/mr/factory/record_factory.rb', line 13 def initialize(record_class, &block) @record_class = record_class @config = Config.new(record_class) self.instance_eval(&block) if block end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
11 12 13 |
# File 'lib/mr/factory/record_factory.rb', line 11 def config @config end |
#record_class ⇒ Object (readonly)
Returns the value of attribute record_class.
11 12 13 |
# File 'lib/mr/factory/record_factory.rb', line 11 def record_class @record_class end |
Instance Method Details
#record(args = nil) ⇒ Object Also known as: instance
19 20 21 22 23 |
# File 'lib/mr/factory/record_factory.rb', line 19 def record(args = nil) @record_class.new.tap do |record| self.config.apply_args(record, args || {}) end end |
#saved_dependencies_stack(args = nil) ⇒ Object Also known as: saved_deps_stack
50 51 52 |
# File 'lib/mr/factory/record_factory.rb', line 50 def saved_dependencies_stack(args = nil) self.stack(args).tap(&:create_deps) end |
#saved_dependencies_stack_record(args = nil) ⇒ Object Also known as: saved_deps_stack_record
55 56 57 |
# File 'lib/mr/factory/record_factory.rb', line 55 def saved_dependencies_stack_record(args = nil) self.saved_deps_stack(args).record end |
#saved_record(args = nil) ⇒ Object Also known as: saved_instance
26 27 28 29 30 |
# File 'lib/mr/factory/record_factory.rb', line 26 def saved_record(args = nil) record = self.record(args).tap(&:save!) record.reset_save_called if record.kind_of?(MR::FakeRecord) record end |
#saved_stack(args = nil) ⇒ Object
42 43 44 |
# File 'lib/mr/factory/record_factory.rb', line 42 def saved_stack(args = nil) self.stack(args).tap(&:create) end |
#saved_stack_record(args = nil) ⇒ Object
46 47 48 |
# File 'lib/mr/factory/record_factory.rb', line 46 def saved_stack_record(args = nil) self.saved_stack(args).record end |
#stack(args = nil) ⇒ Object Also known as: instance_stack
33 34 35 |
# File 'lib/mr/factory/record_factory.rb', line 33 def stack(args = nil) MR::Factory::RecordStack.for_record(self.record(args), self.config) end |
#stack_record(args = nil) ⇒ Object
38 39 40 |
# File 'lib/mr/factory/record_factory.rb', line 38 def stack_record(args = nil) self.stack(args).record end |