Sha256: 8f3888c33521eb1a7038e15ceb62158b7b4afdabc2a7923e86a01c0f6160c79c

Contents?: true

Size: 465 Bytes

Versions: 63

Compression:

Stored size: 465 Bytes

Contents

require 'json'

module JSONable
  module ClassMethods
    attr_accessor :attributes

    def attr_accessor(*attrs)
      self.attributes = Array attrs
      super
    end
  end

  def self.included(base)
    base.extend(ClassMethods)
  end

  def as_json
    serialized = Hash.new
    self.class.attributes.each do |attribute|
      serialized[attribute] = self.public_send attribute
    end
    serialized
  end

  def to_json(*a)
    as_json.to_json(*a)
  end
end

Version data entries

63 entries across 63 versions & 1 rubygems

Version Path
ebsco-eds-0.3.14.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.13.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.12.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.11.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.10.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.9.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.8.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.7.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.5.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.6.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.4.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.3.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.2.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.1.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.0.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.2.9.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.2.8.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.2.7.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.2.5.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.2.6.pre lib/ebsco/eds/jsonable.rb