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



14
15
16
# File 'lib/rack/scaffold/adapters/sequel.rb', line 14

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

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



18
19
20
# File 'lib/rack/scaffold/adapters/sequel.rb', line 18

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

Instance Method Details

#one_to_many_associationsObject



35
36
37
# File 'lib/rack/scaffold/adapters/sequel.rb', line 35

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



31
32
33
# File 'lib/rack/scaffold/adapters/sequel.rb', line 31

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

#pluralObject



27
28
29
# File 'lib/rack/scaffold/adapters/sequel.rb', line 27

def plural
  @klass.table_name
end

#singularObject



23
24
25
# File 'lib/rack/scaffold/adapters/sequel.rb', line 23

def singular
  @klass.name.demodulize.downcase
end

#timestamps?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/rack/scaffold/adapters/sequel.rb', line 39

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