Sha256: 87b09fa88c92c7f68a1c0e4718b745df281563755b9bb64e79cbcb8f5be59f20

Contents?: true

Size: 1016 Bytes

Versions: 13

Compression:

Stored size: 1016 Bytes

Contents

class SearchPageModelMigration < Migration
  def self.up(site)
    operators = [ 'Equals', 'Not Equal', 'Greater Than',
                  'Less Than', 'Greater Than or Equal To',
                  'Less Than or Equal To', 'In']
                  
    site.pages.create_model :search_pages do |search_pages|
      add_field :sort, :string, searchable: false
      add_field :limit, :integer
      add_field :skip, :integer
      add_one   :type, model: :model
      
      add_embed_many :conditions do
        add_field :name, :string
        add_field :value, :string
        add_field :operator, :enum, options: operators
      end
      
      add_embed_many :user_conditions, default: [{name: 'search_keywords', as: 'query', operator: 'In'}] do
        add_field :name, :string
        add_field :as, :string
        add_field :operator, :enum, options: operators
      end
      
      search_pages.record_class_name = 'SearchPage'
    end
  end
  
  def self.down(site)
    site.search_pages.destroy
  end
end

Version data entries

13 entries across 13 versions & 3 rubygems

Version Path
yodel-0.0.7 lib/yodel/models/migrations/07_search_page_model.rb
yodel_production_environment-0.0.7 lib/migrations/yodel/07_search_page_model.rb
yodel_development_environment-0.0.7 lib/migrations/yodel/07_search_page_model.rb
yodel_production_environment-0.0.4 lib/migrations/yodel/07_search_page_model.rb
yodel_development_environment-0.0.4 lib/migrations/yodel/07_search_page_model.rb
yodel-0.0.4 lib/yodel/models/migrations/07_search_page_model.rb
yodel-0.0.3 lib/yodel/models/migrations/07_search_page_model.rb
yodel_production_environment-0.0.2 lib/migrations/yodel/07_search_page_model.rb
yodel_development_environment-0.0.2 lib/migrations/yodel/07_search_page_model.rb
yodel-0.0.2 lib/yodel/models/migrations/07_search_page_model.rb
yodel-0.0.1 lib/yodel/models/migrations/07_search_page_model.rb
yodel_development_environment-0.0.1 lib/migrations/yodel/07_search_page_model.rb
yodel_production_environment-0.0.1 lib/migrations/yodel/07_search_page_model.rb