Sha256: 8940f2beef133c877015b4df987e599670abdc2ef5da2034267aa9f60e59283c
Contents?: true
Size: 1.52 KB
Versions: 1
Compression:
Stored size: 1.52 KB
Contents
# # Copyright 2014 Red Hat, Inc. # # This software is licensed to you under the GNU General Public # License as published by the Free Software Foundation; either version # 2 of the License (GPLv2) or (at your option) any later version. # There is NO WARRANTY for this software, express or implied, # including the implied warranties of MERCHANTABILITY, # NON-INFRINGEMENT, or FITNESS FOR A PARTICULAR PURPOSE. You should # have received a copy of GPLv2 along with this software; if not, see # http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt. module Katello module ContentSearch::Element def self.included(base) base.class_eval do extend ClassMethods end end def initialize(attrs = {}) attrs.each { |key, val| self.send("#{key}=", val) } end def display_attributes self.class.display_attributes end def as_json(_options = {}) json = {} fail "Display attributes not defined for #{self.class.name}" if display_attributes.nil? || display_attributes.empty? display_attributes.each do |attr| json[attr] = self.send(attr) if self.send(attr) end json end def [](key) self.send(key.to_sym) end def []=(key, val) self.send("#{key.to_sym}=", val) end module ClassMethods def display_attributes(*attrs) if attrs.empty? @display_attributes || self.superclass.display_attributes else @display_attributes = attrs attr_accessor(*attrs) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
katello-2.2.2 | app/lib/katello/content_search/element.rb |