Sha256: 1442169ff63cc3e7871d752268878a5094f0d250a613e7d58d633c96ba7ffb65
Contents?: true
Size: 1.23 KB
Versions: 1
Compression:
Stored size: 1.23 KB
Contents
class AwesomeTranslations::Group attr_reader :handler, :id, :data def self.find_by_handler_and_id(handler, id) handler.groups.each do |group| return group if group.id == id.to_s end raise ActiveRecord::RecordNotFound, "Group not found by handler and ID: '#{handler.name}', '#{id}'." end def initialize(args) @handler = args.fetch(:handler) @id = args.fetch(:id) @data = args[:data] || {} raise "Invalid ID: #{@id}" unless @id.present? end def translations(args = {}) translations_list = @handler.translations_for_group(self) args.each do |key, value| if key == :finished translations_list = translations_list.select(&:finished?) if value elsif key == :unfinished translations_list = translations_list.select(&:unfinished?) if value else raise "Unknown key: #{key}" end end translations_list end def translations_count(args = {}) count = 0 translations(args).each { count += 1 } count end def to_param id end def param_key id end def name @data[:name].presence || id.presence end def to_s "<AwesomeTranslations::Group id=\"#{@id}\" name=\"#{name}\">" end def inspect to_s end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
awesome_translations-0.0.25 | app/models/awesome_translations/group.rb |