Module: Moonrope::EvalHelpers
- Included in:
- EvalEnvironment
- Defined in:
- lib/moonrope/eval_helpers.rb
Instance Method Summary collapse
-
#error(type, message) ⇒ Object
Raise an error.
-
#paginate(collection, max_per_page = 60, &block) ⇒ Object
Return paginated information.
Instance Method Details
#error(type, message) ⇒ Object
Raise an error.
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/moonrope/eval_helpers.rb', line 10 def error(type, ) case type when :not_found then raise(Moonrope::Errors::NotFound, ) when :access_denied then raise(Moonrope::Errors::AccessDenied, ) when :validation_error then raise(Moonrope::Errors::ValidationError, ) when :parameter_error then raise(Moonrope::Errors::ParameterError, ) else raise Moonrope::Errors::RequestError, end end |
#paginate(collection, max_per_page = 60, &block) ⇒ Object
Return paginated information
24 25 26 27 28 29 30 31 32 |
# File 'lib/moonrope/eval_helpers.rb', line 24 def paginate(collection, max_per_page = 60, &block) per_page = params.per_page || 30 per_page = max_per_page if per_page < 1 || per_page > max_per_page paginated_results = collection.page(params.page).per(per_page) set_flag :paginated, {:page => params.page, :per_page => per_page, :total_pages => paginated_results.total_pages, :total_records => paginated_results.total_count} paginated_results.to_a.map do |result| block.call(result) end end |