Class: Droom::Venue
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Droom::Venue
- Includes:
- Concerns::Slugged
- Defined in:
- app/models/droom/venue.rb
Class Method Summary collapse
-
.for_selection ⇒ Object
for_selection returns a set of [name, id] pairs suitable for use as select options.
- .visible_to(user = nil) ⇒ Object
Instance Method Summary collapse
- #as_json(options = {}) ⇒ Object
- #as_ri_cal_calendar ⇒ Object
- #as_search_result ⇒ Object
- #as_suggestion ⇒ Object
- #definite_name ⇒ Object
- #identifier ⇒ Object
- #name_and_address ⇒ Object
-
#postal_address ⇒ Object
todo: remove after migrations complete.
- #to_ical ⇒ Object
- #to_s ⇒ Object
Class Method Details
.for_selection ⇒ Object
for_selection returns a set of [name, id] pairs suitable for use as select options.
33 34 35 |
# File 'app/models/droom/venue.rb', line 33 def self.for_selection self.all.map{|v| [v.proper_name, v.id] } end |
.visible_to(user = nil) ⇒ Object
28 29 30 |
# File 'app/models/droom/venue.rb', line 28 def self.visible_to(user=nil) self.scoped({}) end |
Instance Method Details
#as_json(options = {}) ⇒ Object
72 73 74 75 76 77 78 79 80 81 |
# File 'app/models/droom/venue.rb', line 72 def as_json(={}) json = { :id => id, :name => name, :postcode => post_code, :address => address.to_s, :lat => lat, :lng => lng } end |
#as_ri_cal_calendar ⇒ Object
101 102 103 104 105 106 107 |
# File 'app/models/droom/venue.rb', line 101 def as_ri_cal_calendar RiCal.Calendar do |cal| events.primary.each do |event| cal.add_subcomponent(event.to_ri_cal) end end end |
#as_search_result ⇒ Object
92 93 94 95 96 97 98 99 |
# File 'app/models/droom/venue.rb', line 92 def as_search_result { :type => 'venue', :prompt => name, :value => name, :id => id } end |
#as_suggestion ⇒ Object
83 84 85 86 87 88 89 90 |
# File 'app/models/droom/venue.rb', line 83 def as_suggestion { :type => 'venue', :prompt => name, :value => name, :id => id } end |
#definite_name ⇒ Object
37 38 39 40 41 42 43 |
# File 'app/models/droom/venue.rb', line 37 def definite_name if prepend_article? "the #{name}" else name end end |
#identifier ⇒ Object
49 50 51 |
# File 'app/models/droom/venue.rb', line 49 def identifier 'venue' end |
#name_and_address ⇒ Object
65 66 67 |
# File 'app/models/droom/venue.rb', line 65 def name_and_address [name, address, post_code].compact.join("\n") end |
#postal_address ⇒ Object
todo: remove after migrations complete
54 55 56 57 58 59 60 61 62 63 |
# File 'app/models/droom/venue.rb', line 54 def postal_address Snail.new( :line_1 => post_line1, :line_2 => post_line2, :city => post_city, :region => post_region, :postal_code => post_code, :country => post_country ) end |
#to_ical ⇒ Object
109 110 111 |
# File 'app/models/droom/venue.rb', line 109 def to_ical self.as_ri_cal_calendar.to_s end |
#to_s ⇒ Object
45 46 47 |
# File 'app/models/droom/venue.rb', line 45 def to_s name end |