FridayHug.com http://fridayhug.com
The Smallest Rails App http://thesmallestrailsapp.com
%w(action_controller/railtie coderay).each &method(:require)| class ActiveRecord::Base | |
| def self.import!(record_list) | |
| raise ArgumentError "record_list not an Array of Hashes" unless record_list.is_a?(Array) && record_list.all? {|rec| rec.is_a? Hash } | |
| return record_list if record_list.empty? | |
| (1..record_list.count).step(1000).each do |start| | |
| key_list, value_list = convert_record_list(record_list[start-1..start+999]) | |
| sql = "INSERT INTO #{self.table_name} (#{key_list.join(", ")}) VALUES #{value_list.map {|rec| "(#{rec.join(", ")})" }.join(" ,")}" | |
| self.connection.insert_sql(sql) |
| config/initializers/devise.rb : | |
| config.mailer_sender = "mail-to-send@from.com" | |
| config/environments/production.rb : | |
| config.action_mailer.default_url_options = { :host => 'your.websitedomain.com' } | |
| ActionMailer::Base.smtp_settings = { | |
| :address => "smtp.sendgrid.net", | |
| :port => "25", | |
| :authentication => :plain, |
| // install from command line | |
| // cordova plugin add org.apache.cordova.geolocation | |
| .controller('LocationController', function($scope){ | |
| navigator.geolocation.getCurrentPosition(function(position){ | |
| coords = [position.coords.latitude, position.coords.longitude].join(',') | |
| get("/places.json?location="+coords).success(function(resp){ | |
| $scope.places = resp.places | |
| }) |
FridayHug.com http://fridayhug.com
The Smallest Rails App http://thesmallestrailsapp.com
%w(action_controller/railtie coderay).each &method(:require)| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <link href="http://cdnjs.cloudflare.com/ajax/libs/foundation/5.0.3/css/normalize.min.css" rel="stylesheet" type="text/css" /> | |
| <link href="http://cdnjs.cloudflare.com/ajax/libs/foundation/5.0.3/css/foundation.min.css" rel="stylesheet" type="text/css" /> | |
| <script src="http://cdnjs.cloudflare.com/ajax/libs/foundation/5.0.3/js/vendor/jquery.min.js"></script> | |
| <script src="http://cdnjs.cloudflare.com/ajax/libs/foundation/5.0.3/js/foundation.min.js"></script> | |
| <meta charset="utf-8"> | |
| <title>JS Bin</title> | |
| <style id="jsbin-css"> |
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <link href="http://cdnjs.cloudflare.com/ajax/libs/foundation/5.0.3/css/normalize.min.css" rel="stylesheet" type="text/css" /> | |
| <link href="http://cdnjs.cloudflare.com/ajax/libs/foundation/5.0.3/css/foundation.min.css" rel="stylesheet" type="text/css" /> | |
| <script src="http://cdnjs.cloudflare.com/ajax/libs/foundation/5.0.3/js/vendor/jquery.min.js"></script> | |
| <script src="http://cdnjs.cloudflare.com/ajax/libs/foundation/5.0.3/js/foundation.min.js"></script> | |
| <meta charset="utf-8"> | |
| <title>JS Bin</title> | |
| <style id="jsbin-css"> |
| # Call scopes directly from your URL params: | |
| # article here: http://www.justinweiss.com/blog/2014/02/17/search-and-filter-rails-models-without-bloating-your-controller/ | |
| # @products = Product.filter(params.slice(:status, :location, :starts_with)) | |
| module Filterable | |
| extend ActiveSupport::Concern | |
| module ClassMethods | |
| # Call the class methods with the same name as the keys in <tt>filtering_params</tt> | |
| # with their associated values. Most useful for calling named scopes from |
| <button onclick="notifyMe()"> | |
| Notify me! | |
| </button> | |
| <script id="jsbin-javascript"> | |
| function notifyMe() { | |
| if (!Notification) { | |
| alert('Notifications are supported in modern versions of Chrome, Firefox, Opera and Firefox.'); | |
| return; | |
| } |