Class: Rack::Scaffold::Adapters::Sequel

Inherits:
Base
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/rack/scaffold/adapters/sequel.rb

Direct Known Subclasses

CoreData

Instance Attribute Summary

Attributes inherited from Base

#klass

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#[], #all, #count, #create!, #destroy!, #find, inherited, #initialize, #method_missing, #update!, #update_timestamp_field

Constructor Details

This class inherits a constructor from Rack::Scaffold::Adapters::Base

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Rack::Scaffold::Adapters::Base

Class Method Details

.===(model) ⇒ Object



16
17
18
# File 'lib/rack/scaffold/adapters/sequel.rb', line 16

def ===(model)
  ::Sequel::Model === model
end

.resources(model, _options = {}) ⇒ Object



20
21
22
# File 'lib/rack/scaffold/adapters/sequel.rb', line 20

def resources(model, _options = {})
  model
end

Instance Method Details

#one_to_many_associationsObject



37
38
39
# File 'lib/rack/scaffold/adapters/sequel.rb', line 37

def one_to_many_associations
  @klass.all_association_reflections.select { |association| association[:type] == :one_to_many }.collect { |association| association[:name] }
end

#paginate(limit, offset) ⇒ Object



33
34
35
# File 'lib/rack/scaffold/adapters/sequel.rb', line 33

def paginate(limit, offset)
  @klass.limit(limit, offset)
end

#pluralObject



29
30
31
# File 'lib/rack/scaffold/adapters/sequel.rb', line 29

def plural
  @klass.table_name
end

#singularObject



25
26
27
# File 'lib/rack/scaffold/adapters/sequel.rb', line 25

def singular
  @klass.name.demodulize.downcase
end

#timestamps?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/rack/scaffold/adapters/sequel.rb', line 41

def timestamps?
  defined?(::Sequel::Plugins::Timestamps) && @klass.plugins.include?(::Sequel::Plugins::Timestamps)
end