Sha256: 266cfc3a61ba4c51a71b10847d21ca502d75f079981ee5713615adf33ec38f01
Contents?: true
Size: 1.15 KB
Versions: 2
Compression:
Stored size: 1.15 KB
Contents
Dir[File.dirname(__FILE__) + '/concerns/record/*.rb'].each { |file| require file } class LHS::Record include All include Batch include Create include Endpoints include Find include FindBy include First include Mapping include Model include Includes include Request include Where delegate :_proxy, to: :_data def initialize(data = nil) data = LHS::Data.new({}, nil, self.class) unless data data = LHS::Data.new(data, nil, self.class) unless data.is_a?(LHS::Data) define_singleton_method(:_data) { data } instance_data = if data._proxy.is_a?(LHS::Item) && data._raw.is_a?(Hash) data._raw elsif data._proxy.is_a?(LHS::Collection) && data._raw.is_a?(Hash) data._raw.fetch(:items, []) else data._raw end instance_variable_set('@data', instance_data) end def as_json(options = nil) _data.as_json(options) end def self.build(data = nil) new(data) end protected def method_missing(name, *args, &block) _data._proxy.send(name, *args, &block) end def respond_to_missing?(name, include_all = false) _data.respond_to_missing?(name, include_all) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lhs-3.0.5 | lib/lhs/record.rb |
lhs-3.0.4 | lib/lhs/record.rb |