Class: RichSnippet::Event
- Defined in:
- app/models/rich_snippet/event.rb
Instance Method Summary collapse
Methods inherited from Thing
#array_json, #module, #name, #type
Instance Method Details
#event_status_type ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'app/models/rich_snippet/event.rb', line 14 def event_status_type return 'moron' if end_date < start_date if (event_status == 'auto') || (event_status == '') if Time.now < start_date 'not started' elsif Time.now > end_date 'completed' else 'in process' end else event_status end end |
#to_json(render_childs = false) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'app/models/rich_snippet/event.rb', line 40 def to_json(render_childs = false) json = { "@context": "http://schema.org", "@type": "Event", name: name, description: description, image: image ? image.binary_url : nil, startDate: start_date, endDate: end_date, organizer: organizer ? organizer.to_json : nil, inLanguage: in_language, offers: array_json(offers), location: location ? location.to_json : nil, performers: array_json(performers), url: url, EventStatus: { "@context": "http://schema.org", "@type": "EventStatusType", description: event_status_type } } if render_childs json[:subEvents] = array_json(sub_events) json[:superEvent] = super_event ? super_event.to_json : nil end return json.delete_if { |k, v| !v.present? } end |
#warnings ⇒ Object
29 30 31 32 33 34 35 36 37 38 |
# File 'app/models/rich_snippet/event.rb', line 29 def warnings warns = [] warns << 'End date is before start date!' if end_date < start_date warns << 'Start date is mandatory' if start_date.blank? warns << 'End date is recommendet' if end_date.blank? warns << 'Location is mandatory' if location.nil? warns << 'Event status is recommendet' if event_status.blank? warns << 'Offers are recommendet' if offers.empty? return warns end |