Module: QueryInterface::Client::Resource::ClassMethods

Defined in:
lib/query-interface-client/resource.rb

Instance Method Summary collapse

Instance Method Details

#association(name, class_name: nil, dataset: nil) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/query-interface-client/resource.rb', line 21

def association(name, class_name: nil, dataset: nil)
  dataset ||= name
  define_method(name) do
    klass = (class_name || name.to_s.singularize.camelize).constantize
    self.class.query.instance(self.id).context(dataset, klass)
  end
end

#first(*args) ⇒ Object



9
10
11
# File 'lib/query-interface-client/resource.rb', line 9

def first(*args)
  self.query.order('id').first
end

#last(*args) ⇒ Object



13
14
15
# File 'lib/query-interface-client/resource.rb', line 13

def last(*args)
  self.query.order('id').last
end

#queryObject



17
18
19
# File 'lib/query-interface-client/resource.rb', line 17

def query
  LazyQuery.new(self)
end