class ActiveFixtures::State

Attributes

name[RW]

Public Class Methods

new(_name) click to toggle source
# File lib/active-fixtures/state.rb, line 5
def initialize(_name)
  self.name = _name
end

Public Instance Methods

entities() click to toggle source
# File lib/active-fixtures/state.rb, line 32
def entities
  ActiveFixtures.thread_storage[:entities] ||= {}
end
prepare!(state_builder) click to toggle source
# File lib/active-fixtures/state.rb, line 9
def prepare!(state_builder)
  entities.clear

  if StateDumper.exists?(name)
    entities.merge!(StateDumper.load(name))
  else
    StateDumper.load_clean!

    clean_session = Session.new
    write_entity(clean_session.name, clean_session)

    state_builder.prepare_each do |name, resource|
      write_entity(name, resource)
    end

    StateDumper.dump(self)
  end
end
read_entity(name, resource_class) click to toggle source
# File lib/active-fixtures/state.rb, line 28
def read_entity(name, resource_class)
  entities[normalize_name(name, resource_class)]
end

Private Instance Methods

normalize_name(name, resource_class) click to toggle source
# File lib/active-fixtures/state.rb, line 42
def normalize_name(name, resource_class)
  "#{resource_class.name}::#{name}"
end
write_entity(name, resource) click to toggle source
# File lib/active-fixtures/state.rb, line 38
def write_entity(name, resource)
  entities[normalize_name(name, resource.class)] = resource
end