Sha256: 9db644225e631d6e39c5c54646f72f17bdc301c393e86aa9144df1fdc4d13ebe
Contents?: true
Size: 819 Bytes
Versions: 49
Compression:
Stored size: 819 Bytes
Contents
module Gitea module Common module Struct class Base module AttrHelper def attrs(*s) define_method(:attrs) {s} attr_accessor(*s) end end extend AttrHelper def initialize(opts = {}) extra_keys = opts.keys - attrs unless extra_keys.empty? fail Common::Exception, "Unexpected extra keys: #{extra_keys.join(', ')}" end attrs.each do |attr| instance_variable_set("@#{attr}", opts[attr]) end end def to_s attrs.map do |attr| v = instance_variable_get("@#{attr}") "#{attr.to_s}: #{v}" end.join(", ") end end # Base end # Struct end # Common end # Gitea
Version data entries
49 entries across 49 versions & 1 rubygems