class Locca::Collection

Attributes

lang[RW]
name[RW]

Public Class Methods

new(name = nil, lang = nil) click to toggle source
# File lib/locca/collection.rb, line 30
def initialize(name = nil, lang = nil)
    @name = name 
    @lang = lang
    @items = {}
end

Public Instance Methods

add_item(item) click to toggle source
# File lib/locca/collection.rb, line 36
def add_item(item)
    if !item || !item.key
        raise ArgumentError, 'item or item.key is nil'
    end
    @items[item.key] = item
end
all_keys() click to toggle source
# File lib/locca/collection.rb, line 55
def all_keys
    return @items.keys
end
count() click to toggle source
# File lib/locca/collection.rb, line 79
def count
    return @items.count
end
each() { |item| ... } click to toggle source
# File lib/locca/collection.rb, line 83
def each
    @items.each do |key, item|
        yield(item)
    end
end
has_key?(key) click to toggle source
# File lib/locca/collection.rb, line 51
def has_key?(key)
    return @items.has_key?(key)
end
item_for_key(key) click to toggle source
# File lib/locca/collection.rb, line 47
def item_for_key(key)
    return @items[key]
end
keys_without_comments() click to toggle source
# File lib/locca/collection.rb, line 59
def keys_without_comments
    result = []
    @items.each do |key, item|
        if item.comment == nil || item.comment.strip.length == 0
            result.push(key)
        end
    end
    return result
end
remove_item_for_key(key) click to toggle source
# File lib/locca/collection.rb, line 43
def remove_item_for_key(key)
    return @items.delete(key)
end
sorted_each() { |items| ... } click to toggle source
# File lib/locca/collection.rb, line 89
def sorted_each
    sorted_keys = all_keys.sort(&:casecmp)
    sorted_keys.each do |key|
        yield(@items[key])
    end
end
to_s() click to toggle source
# File lib/locca/collection.rb, line 96
def to_s ; "<#{self.class}: lang = #{lang}, name = #{name}>" ; end
translated?() click to toggle source
# File lib/locca/collection.rb, line 69
def translated?
    @items.each do |key, item|
        if !item.translated?
            return false
        end
    end

    return true
end