Module: Croods::Resource::Model
- Defined in:
- lib/croods/resource/model.rb
Instance Method Summary collapse
- #configure_search ⇒ Object
- #create_model! ⇒ Object
- #extend_model(&block) ⇒ Object
- #model ⇒ Object
- #model_blocks ⇒ Object
- #table_exists? ⇒ Boolean
Instance Method Details
#configure_search ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/croods/resource/model.rb', line 20 def configure_search return unless table_exists? model.send(:include, PgSearch::Model) model.send(:pg_search_scope, search_method_name, ) end |
#create_model! ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/croods/resource/model.rb', line 29 def create_model! Object.const_set(model_name, Class.new(Croods::Model)) configure_search unless model.resource.skip_search? model_blocks.each do |block| model.instance_eval(&block) end end |
#extend_model(&block) ⇒ Object
6 7 8 9 10 |
# File 'lib/croods/resource/model.rb', line 6 def extend_model(&block) return unless block model_blocks << block end |
#model ⇒ Object
16 17 18 |
# File 'lib/croods/resource/model.rb', line 16 def model model_name.constantize end |
#model_blocks ⇒ Object
12 13 14 |
# File 'lib/croods/resource/model.rb', line 12 def model_blocks @model_blocks ||= [] end |
#table_exists? ⇒ Boolean
39 40 41 42 43 |
# File 'lib/croods/resource/model.rb', line 39 def table_exists? ActiveRecord::Base.connection.table_exists? route_name rescue ActiveRecord::NoDatabaseError false end |