class TicketSharing::Base
Public Class Methods
field_list()
click to toggle source
# File lib/ticket_sharing/base.rb, line 11 def self.field_list @fields || [] end
fields(*args)
click to toggle source
# File lib/ticket_sharing/base.rb, line 6 def self.fields(*args) @fields = args attr_accessor *args end
first_ancestor()
click to toggle source
# File lib/ticket_sharing/base.rb, line 15 def self.first_ancestor ancestors.detect { |a| a != self } end
new(attrs = {})
click to toggle source
# File lib/ticket_sharing/base.rb, line 27 def initialize(attrs = {}) field_list.each do |attribute| self.send("#{attribute}=", attrs[attribute.to_s]) if attrs.has_key?(attribute.to_s) end end
Public Instance Methods
as_json(_options = {})
click to toggle source
# File lib/ticket_sharing/base.rb, line 33 def as_json(_options = {}) field_list.inject({}) do |attrs, field| attrs[field.to_s] = send(field) attrs end end
field_list()
click to toggle source
# File lib/ticket_sharing/base.rb, line 19 def field_list if self.class.field_list.any? self.class.field_list else self.class.first_ancestor.field_list end end
to_json(_options = {})
click to toggle source
# File lib/ticket_sharing/base.rb, line 40 def to_json(_options = {}) JsonSupport.encode(as_json) end