class FixtureOverlord::Hashish

Attributes

yaml_file[RW]

Public Instance Methods

associate(hash) click to toggle source
# File lib/fixture_overlord/hashish.rb, line 36
def associate(hash)
  self.merge!(hash)
  self
end
build() click to toggle source
# File lib/fixture_overlord/hashish.rb, line 32
def build
  Model.init(self, yaml_file)
end
create() click to toggle source
# File lib/fixture_overlord/hashish.rb, line 27
def create
  Model.create(self, yaml_file)
end
Also aliased as: create!
create!()
Alias for: create
mock() click to toggle source
# File lib/fixture_overlord/hashish.rb, line 19
def mock
  Mock.setup(self)
end
model() click to toggle source
# File lib/fixture_overlord/hashish.rb, line 23
def model
  Model.init(self, yaml_file)
end
symbolize_keys(hash = self) click to toggle source
# File lib/fixture_overlord/hashish.rb, line 41
def symbolize_keys(hash = self)
  results = case hash
  when Array
    symbolize_array_keys(hash)
  when Hash
    symbolize_hash_keys(hash)
  else
    hash
  end
  Hashish[results]
end

Private Instance Methods

symbolize_array_keys(array) click to toggle source
# File lib/fixture_overlord/hashish.rb, line 55
def symbolize_array_keys(array)
  array.inject([]) do |result, value|
    result << case value
    when Hash, Array
      symbolize_keys(value)
    else
      value
    end
    result
  end
end
symbolize_hash_keys(hash) click to toggle source
# File lib/fixture_overlord/hashish.rb, line 67
def symbolize_hash_keys(hash)
  hash.inject({}) do |result, (key,value)|
    nval = case value
    when Hash, Array
      symbolize_keys(value)
    else
      value
    end
    result[key.downcase.to_sym] = nval
    result
  end
end