Module: Ossert::Saveable::ClassMethods

Defined in:
lib/ossert/saveable.rb

Instance Method Summary collapse

Instance Method Details

#cleanup_referencies!Object



117
118
119
# File 'lib/ossert/saveable.rb', line 117

def cleanup_referencies!
  ::Project.dataset.update(reference: UNUSED_REFERENCE)
end

#dumpObject



133
134
135
# File 'lib/ossert/saveable.rb', line 133

def dump
  projects.each(&:dump)
end

#exist?(name) ⇒ Boolean

Returns:

  • (Boolean)


80
81
82
# File 'lib/ossert/saveable.rb', line 80

def exist?(name)
  ::Project.filter(name: name).get(:name).present?
end

#find_by_name(name, reference = Ossert::Saveable::UNUSED_REFERENCE) ⇒ Object



92
93
94
95
96
97
98
# File 'lib/ossert/saveable.rb', line 92

def find_by_name(name, reference = Ossert::Saveable::UNUSED_REFERENCE)
  if (name_exception = ::NameException.find(name: name))
    new(name, name_exception.github_name, name, reference)
  else
    new(name, nil, name, reference)
  end
end

#load_allObject



121
122
123
124
125
# File 'lib/ossert/saveable.rb', line 121

def load_all
  ::Project.paged_each.map do |stored_prj|
    deserialize(stored_prj)
  end
end

#load_by_name(name) ⇒ Object



100
101
102
103
# File 'lib/ossert/saveable.rb', line 100

def load_by_name(name)
  stored_prj = ::Project.find(name: name)
  deserialize(stored_prj) if stored_prj
end

#load_later_than(id) ⇒ Object



111
112
113
114
115
# File 'lib/ossert/saveable.rb', line 111

def load_later_than(id)
  ::Project.later_than(id).map do |stored_prj|
    deserialize(stored_prj)
  end
end

#load_referencedObject



105
106
107
108
109
# File 'lib/ossert/saveable.rb', line 105

def load_referenced
  ::Project.referenced.map do |stored_prj|
    deserialize(stored_prj)
  end
end

#random(count = 10) ⇒ Object



88
89
90
# File 'lib/ossert/saveable.rb', line 88

def random(count = 10)
  ::Project.dataset.random(count)
end

#random_top(count = 10) ⇒ Object



84
85
86
# File 'lib/ossert/saveable.rb', line 84

def random_top(count = 10)
  ::Project.where(reference: %w(ClassA ClassB)).random(count)
end

#yield_allObject



127
128
129
130
131
# File 'lib/ossert/saveable.rb', line 127

def yield_all
  ::Project.paged_each do |stored_prj|
    yield deserialize(stored_prj)
  end
end