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-1.1.5 lib/ebsco/eds/jsonable.rb
ebsco-eds-1.1.4 lib/ebsco/eds/jsonable.rb
ebsco-eds-1.1.3 lib/ebsco/eds/jsonable.rb
ebsco-eds-1.1.1 lib/ebsco/eds/jsonable.rb
ebsco-eds-1.1.0 lib/ebsco/eds/jsonable.rb
ebsco-eds-1.0.9 lib/ebsco/eds/jsonable.rb
ebsco-eds-1.0.8 lib/ebsco/eds/jsonable.rb
ebsco-eds-1.0.7 lib/ebsco/eds/jsonable.rb
ebsco-eds-1.0.6 lib/ebsco/eds/jsonable.rb
ebsco-eds-1.0.5 lib/ebsco/eds/jsonable.rb
ebsco-eds-1.0.4 lib/ebsco/eds/jsonable.rb
ebsco-eds-1.0.3 lib/ebsco/eds/jsonable.rb
ebsco-eds-1.0.2 lib/ebsco/eds/jsonable.rb
ebsco-eds-1.0.1 lib/ebsco/eds/jsonable.rb
ebsco-eds-1.0.0 lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.19.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.18.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.17.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.16.pre lib/ebsco/eds/jsonable.rb
ebsco-eds-0.3.15.pre lib/ebsco/eds/jsonable.rb