Skip to content

Commit e5a2f79

Browse files
committed
Properly privatize event class methods by using self << class block
1 parent aa4d1c4 commit e5a2f79

File tree

2 files changed

+34
-33
lines changed

2 files changed

+34
-33
lines changed

Diff for: app/models/event.rb

+29-27
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,41 @@
11
class Event
22
RAILSBRIDGE_ORGANIZATION_ID = 1
33

4-
def self.sorted_events(state = nil, options = {})
5-
events = (state == :upcoming) ? upcoming_events(options) : past_events(options)
6-
sort_by_starts_at(events)
7-
end
4+
class << self
5+
def sorted_events(state = nil, options = {})
6+
events = (state == :upcoming) ? upcoming_events(options) : past_events(options)
7+
sort_by_starts_at(events)
8+
end
89

9-
private
10+
private
1011

11-
def self.of_type(type, options = {})
12-
events = begin
13-
fetch_json({type: type}.merge(options))
14-
rescue StandardError => e
15-
puts "Error fetching events from BridgeTroll: #{e.message}"
12+
def of_type(type, options = {})
13+
events = begin
14+
fetch_json({type: type}.merge(options))
15+
rescue StandardError => e
16+
puts "Error fetching events from BridgeTroll: #{e.message}"
17+
end
18+
events || []
1619
end
17-
events || []
18-
end
1920

20-
def self.upcoming_events(options = {})
21-
of_type('upcoming', options)
22-
end
21+
def upcoming_events(options = {})
22+
of_type('upcoming', options)
23+
end
2324

24-
def self.past_events(options = {})
25-
of_type('past', options).select { |event| event['workshop'] }
26-
end
25+
def past_events(options = {})
26+
of_type('past', options).select { |event| event['workshop'] }
27+
end
2728

28-
def self.sort_by_starts_at(events)
29-
events.sort_by { |event| event['sessions'].first['starts_at'].to_time }
30-
end
29+
def sort_by_starts_at(events)
30+
events.sort_by { |event| event['sessions'].first['starts_at'].to_time }
31+
end
3132

32-
def self.fetch_json(options)
33-
uri = URI::parse(BRIDGETROLL_URL)
34-
http = Net::HTTP.new(uri.host, uri.port)
35-
http.use_ssl = true
36-
response = http.send(:get, "/events.json?#{options.to_query}")
37-
JSON.parse(response.body)
33+
def fetch_json(options)
34+
uri = URI::parse(BRIDGETROLL_URL)
35+
http = Net::HTTP.new(uri.host, uri.port)
36+
http.use_ssl = true
37+
response = http.send(:get, "/events.json?#{options.to_query}")
38+
JSON.parse(response.body)
39+
end
3840
end
3941
end

Diff for: app/presenters/event_presenter.rb

+5-6
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,11 @@ def event_url
3030
end
3131

3232
def signup_link
33-
case
34-
when !external_event? then "RSVP on Bridge Troll"
35-
when url =~ /meetup.com/ then "RSVP on Meetup"
36-
when url =~ /eventbrite.com/ then "RSVP on Eventbrite"
37-
else "Event Signup"
38-
end
33+
return "RSVP on Bridge Troll" unless external_event?
34+
return "RSVP on Meetup" if url =~ /meetup.com/
35+
return "RSVP on Eventbrite" if url =~ /eventbrite.com/
36+
37+
"Event Signup"
3938
end
4039

4140
def valid_location?

0 commit comments

Comments
 (0)