aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/route_section_search.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/route_section_search.rb')
-rw-r--r--app/models/route_section_search.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/app/models/route_section_search.rb b/app/models/route_section_search.rb
new file mode 100644
index 000000000..a03eb894d
--- /dev/null
+++ b/app/models/route_section_search.rb
@@ -0,0 +1,34 @@
+class RouteSectionSearch
+ include ActiveModel::Conversion
+ extend ActiveModel::Naming
+
+ attr_accessor :departure_name, :arrival_name, :line_id
+ attr_accessor :scope
+
+ def scope
+ scope ||= Chouette::RouteSection
+ end
+
+ def initialize(attributes = {})
+ attributes.each { |k,v| send "#{k}=", v } if attributes
+ end
+
+ def collection()
+ Rails.logger.debug "Search RouteSections with #{inspect}"
+ collection = scope
+
+ [:departure, :arrival].each do |endpoint|
+ endpoint_name = send "#{endpoint}_name"
+ collection = collection.by_endpoint_name(endpoint, endpoint_name) if endpoint_name.present?
+ end
+
+ collection = collection.by_line_id(line_id) if line_id.present?
+
+ collection
+ end
+
+ def persisted?
+ false
+ end
+
+end