class SocialSnippet::Repository::Models::Repository

Public Class Methods

core() click to toggle source
# File lib/social_snippet/repository/models/repository.rb, line 101
def self.core
  @@core
end
core=(new_core) click to toggle source
# File lib/social_snippet/repository/models/repository.rb, line 105
def self.core=(new_core)
  @@core = new_core
end

Public Instance Methods

add_package(new_ref) click to toggle source
# File lib/social_snippet/repository/models/repository.rb, line 30
def add_package(new_ref)
  add_to_set :package_refs_array => {
    :ref => new_ref,
    :rev_hash => rev_hash[new_ref],
  }
  @package_refs_cache = nil
end
add_ref(new_ref, new_rev_hash) click to toggle source
# File lib/social_snippet/repository/models/repository.rb, line 38
def add_ref(new_ref, new_rev_hash)
  add_to_set :refs => new_ref
  add_to_set :rev_hash_array => {
    :ref => new_ref,
    :rev_hash => new_rev_hash,
  }
  @rev_hash_cache = nil
end
core() click to toggle source
# File lib/social_snippet/repository/models/repository.rb, line 97
def core
  @@core
end
find_latest_version(versions, pattern = "") click to toggle source
# File lib/social_snippet/repository/models/repository.rb, line 79
def find_latest_version(versions, pattern = "")
  matches = versions.select {|ref| ::SocialSnippet::Version.is_matched_version_pattern(pattern, ref)}
  ::VersionSorter.rsort(matches).first
end
has_package_versions?() click to toggle source
# File lib/social_snippet/repository/models/repository.rb, line 88
def has_package_versions?
  not package_versions.empty?
end
has_ref?(ref) click to toggle source
# File lib/social_snippet/repository/models/repository.rb, line 47
def has_ref?(ref)
  refs.include? ref
end
has_versions?() click to toggle source

Check repository has version ref

# File lib/social_snippet/repository/models/repository.rb, line 93
def has_versions?
  not versions.empty?
end
latest_package_version(pattern = "") click to toggle source
# File lib/social_snippet/repository/models/repository.rb, line 61
def latest_package_version(pattern = "")
  find_latest_version package_versions, pattern
end
latest_version(pattern = "") click to toggle source

Returns latest version

# File lib/social_snippet/repository/models/repository.rb, line 70
def latest_version(pattern = "")
  find_latest_version versions, pattern
end
package_minor_versions() click to toggle source
# File lib/social_snippet/repository/models/repository.rb, line 55
def package_minor_versions
  package_versions.map do |v|
    ::SocialSnippet::Version.minor v
  end.uniq
end
package_ref_keys() click to toggle source
# File lib/social_snippet/repository/models/repository.rb, line 51
def package_ref_keys
  package_refs.map {|k, _| k }
end
package_refs() click to toggle source
# File lib/social_snippet/repository/models/repository.rb, line 23
def package_refs
  @package_refs_cache ||= package_refs_array.inject(::Hash.new) do |package_refs, info|
    package_refs[info[:ref]] = info[:rev_hash]
    package_refs
  end
end
package_versions() click to toggle source
# File lib/social_snippet/repository/models/repository.rb, line 65
def package_versions
  select_versions package_ref_keys
end
rev_hash() click to toggle source
# File lib/social_snippet/repository/models/repository.rb, line 16
def rev_hash
  @rev_hash_cache ||= rev_hash_array.inject(::Hash.new) do |rev_hash, info|
    rev_hash[info[:ref]] = info[:rev_hash]
    rev_hash
  end
end
select_versions(refs) click to toggle source
# File lib/social_snippet/repository/models/repository.rb, line 84
def select_versions(refs)
  refs.select {|ref| ::SocialSnippet::Version.is_version(ref) }
end
versions() click to toggle source

Returns all versions

# File lib/social_snippet/repository/models/repository.rb, line 75
def versions
  select_versions refs
end