Sha256: ea5c60fa91c60a7853810cdfd4f82e655b8dddf5be2e5460d28ec90e848417bb
Contents?: true
Size: 1.02 KB
Versions: 2
Compression:
Stored size: 1.02 KB
Contents
module JsonApiClient module Helpers module Queryable extend ActiveSupport::Concern included do class << self extend Forwardable def_delegators :new_scope, :where, :order, :includes, :select, :all, :paginate, :page, :first, :find end class_attribute :connection_class, :connection_object, :connection_options, :query_builder, instance_accessor: false self.connection_class = Connection self.connection_options = {} self.query_builder = Query::Builder end module ClassMethods def new_scope query_builder.new(self) end def connection(&block) build_connection(&block) connection_object end def build_connection return connection_object unless connection_object.nil? self.connection_object = connection_class.new(connection_options.merge(site: site)).tap do |conn| yield(conn) if block_given? end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
json_api_client-1.0.0.beta5 | lib/json_api_client/helpers/queryable.rb |
json_api_client-1.0.0.beta4 | lib/json_api_client/helpers/queryable.rb |