Sha256: cb1af04eb89ee6c36b589e69c14ec5a7a5e27a66979e3909d34b99320a1067ea
Contents?: true
Size: 818 Bytes
Versions: 3
Compression:
Stored size: 818 Bytes
Contents
module ActivityStreams class Base include AttrRequired, AttrOptional, Validator def initialize(attributes = {}) (required_attributes + optional_attributes).each do |_attr_| self.send :"#{_attr_}=", attributes[_attr_] end validate_attributes! end def validate_attributes! attr_missing! end def as_json(options = {}) (required_attributes + optional_attributes).inject({}) do |hash, _attr_| _value_ = self.send _attr_ hash.merge!( _attr_.to_s.camelize(:lower).to_sym => case _value_ when Symbol, Addressable::URI _value_.to_s when Time _value_.iso8601 else _value_ end ) end.delete_if do |k,v| v.blank? end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
activitystreams-0.0.4 | lib/activitystreams/base.rb |
activitystreams-0.0.3 | lib/activitystreams/base.rb |
activitystreams-0.0.2 | lib/activitystreams/base.rb |