Sha256: 3376adbc7b75ef87c73ec2a0b385e7da04c47b30b446086e2f7ef78b2fcfecf0
Contents?: true
Size: 1.65 KB
Versions: 17
Compression:
Stored size: 1.65 KB
Contents
class Address include Mongoid::Document field :_id, type: String, overwrite: true, default: ->{ street.try(:parameterize) } attr_accessor :mode field :address_type field :number, type: Integer field :no, type: Integer field :h, as: :house, type: Integer field :street field :city field :state field :post_code field :parent_title field :services, type: Array field :aliases, as: :a, type: Array field :test, type: Array field :latlng, type: Array field :map, type: Hash field :move_in, type: DateTime field :end_date, type: Date field :s, type: String, as: :suite field :name, localize: true embeds_many :locations, validate: false embeds_one :code, validate: false embeds_one :target, as: :targetable, validate: false embedded_in :addressable, polymorphic: true do def extension "Testing" end def doctor? title == "Dr" end end accepts_nested_attributes_for :code, :target accepts_nested_attributes_for :locations, allow_destroy: true belongs_to :account belongs_to :band scope :without_postcode, ->{ where(postcode: nil) } scope :rodeo, ->{ where(street: "Rodeo Dr") } do def mansion? all? { |address| address.street == "Rodeo Dr" } end end validates_presence_of :street, on: :update validates_format_of :street, with: /\D/, allow_nil: true def set_parent=(set = false) self.parent_title = addressable.title if set end def <=>(other) street <=> other.street end class << self def california where(state: "CA") end def homes where(address_type: "Home") end def streets all.map(&:street) end end end
Version data entries
17 entries across 15 versions & 3 rubygems