This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#copy and paste into rails console to play | |
module DumbHasMany | |
extend ActiveSupport::Concern | |
module ClassMethods | |
def has_many(method, args=nil) | |
if args.nil? || !args.is_a?(Hash) | |
type = method | |
else |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[Student, Lesson, Teacher, Exam].each{|c| c.destroy_all } | |
ss101 = Lesson.create(subject: 'Social Studies', level: 101) | |
ss102 = Lesson.create(subject: 'Social Studies', level: 102) | |
math101 = Lesson.create(subject: 'Math', level: 101) | |
math201 = Lesson.create(subject: 'Math', level: 201) | |
geo103 = Lesson.create(subject: 'Geography', level: 103) | |
sandra = Student.create(name: 'Sandra', age: 16) | |
danny = Student.create(name: 'Danny', age: 15) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def my_inject(initial = nil, sym = nil) | |
memo, starter = initial, self if initial && block_given? | |
memo, starter = self[0], self[1..-1] if initial.nil? || !block_given? | |
starter.push(initial) unless sym.nil? || block_given? | |
starter.my_each do |x| | |
if sym | |
memo = memo.send(sym, x) | |
elsif block_given? | |
memo = yield(memo,x) | |
else |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ORIGINAL | |
2.1.2 :002 > Benchmark.ips do |x| | |
2.1.2 :003 > x.config(:time => 5, :warmup => 2) | |
2.1.2 :004?> x.time = 10 | |
2.1.2 :005?> x.warmup = 2 | |
2.1.2 :006?> x.report("query") { Student.limit(900).each { |s| } } | |
2.1.2 :007?> end | |
Calculating ------------------------------------- | |
query CYPHER 26ms MATCH (result:`Student`) RETURN result LIMIT 900 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# /u/zaclacgit on Reddit posted a topic the other day asking for thoughts on his exercise of | |
# recreating some basic enumerable methods. I gave him some tips on refactoring one method in particular | |
# and a few days later, he asked me to elaborate. I thought the easiest way might be to go through each | |
# step of the refactor and I'd get a nice blog post out of it in the process. | |
# To use this, start by commenting out each `my_inject` definition except the first. As you encounter | |
# new ones, uncomment them. Save this file as `refactor.rb` in the folder of your choice, ensure you have | |
# the rspec gem installed and run `rspec refactor.rb` from CLI to execute. | |
# Before we write a line of code, we're going to write specs based off of the simple comparisons |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
{ | |
"columns": [ | |
"r" | |
], | |
"data": [ | |
{ | |
"row": [ | |
{ | |
"_classname": "StudentLesson" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Movie | |
include Neo4j::ActiveNode | |
id_property :title | |
has_many :in, :actors, model_class: :Person, rel_class: Engagement | |
end | |
class Engagement | |
include Neo4j::ActiveRel | |
from_class Person | |
to_class Movie |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'benchmark/ips' | |
Benchmark.ips do |x| | |
x.config(warmup: 1, time: 5) | |
def test1 | |
a = [:foo, :bar, :baz, :omg, :wtf, :gtfo] | |
a.map(&:to_s) | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Post < ActiveRecord::Base | |
extend AgfScrape | |
default_scope { order(:id) } | |
def self.url | |
"http://www.acousticguitarforum.com/forums/forumdisplay.php"\ | |
"?f=17&pp=200&sort=lastpost&order=desc&daysprune=200" | |
end | |
def self.forum |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2015-02-02 15:19:27.559+0000 INFO [o.n.s.CommunityNeoServer]: Setting startup timeout to: 120000ms based on 120000 | |
2015-02-02 15:19:27.671+0000 INFO [o.n.k.InternalAbstractGraphDatabase]: No locking implementation specified, defaulting to 'community' | |
2015-02-02 15:19:27.776+0000 INFO [o.n.k.i.DiagnosticsManager]: --- INITIALIZED diagnostics START --- | |
2015-02-02 15:19:27.778+0000 INFO [o.n.k.i.DiagnosticsManager]: Neo4j Kernel properties: | |
2015-02-02 15:19:27.783+0000 INFO [o.n.k.i.DiagnosticsManager]: store_dir=/Users/cgrigg/RailsCrap/neotest/db/neo4j/development/data/graph.db | |
2015-02-02 15:19:27.783+0000 INFO [o.n.k.i.DiagnosticsManager]: remote_shell_enabled=true | |
2015-02-02 15:19:27.784+0000 INFO [o.n.k.i.DiagnosticsManager]: Diagnostics providers: | |
2015-02-02 15:19:27.784+0000 INFO [o.n.k.i.DiagnosticsManager]: org.neo4j.kernel.configuration.Config | |
2015-02-02 15:19:27.784+0000 INFO [o.n.k.i.DiagnosticsManager]: org.neo4j.kernel.info.DiagnosticsManager | |
2015-02-02 15:19:27.784+0000 INFO [o.n.k.i.Diag |
OlderNewer