fuck 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in fuck.gemspec
4
+ gemspec
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec"
3
+ require "rspec/core/rake_task"
4
+
5
+ RSpec::Core::RakeTask.new do |t|
6
+ t.rspec_opts = %w(--format documentation --color)
7
+ t.pattern = 'spec/**/*_spec.rb'
8
+ end
9
+
10
+ task :default => ["spec"]
data/fuck.gemspec ADDED
@@ -0,0 +1,24 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "fuck/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "fuck"
7
+ s.version = Fuck::VERSION
8
+ s.authors = ["Josh Krueger"]
9
+ s.email = ["jkrueger@enova.com"]
10
+ s.homepage = ""
11
+ s.summary = %q{Slows down your rubies. Intentionally.}
12
+ s.description = %q{Makes things slower, so you have to optimize the hard stuff first.}
13
+
14
+ s.rubyforge_project = "fuck"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ # specify any dependencies here; for example:
22
+ s.add_development_dependency "rspec"
23
+ # s.add_runtime_dependency "rest-client"
24
+ end
data/lib/fuck.rb ADDED
@@ -0,0 +1,7 @@
1
+ require "fuck/version"
2
+ require "fuck/sort"
3
+ require "fuck/map"
4
+
5
+ module Fuck
6
+ # Your code goes here...
7
+ end
data/lib/fuck/map.rb ADDED
@@ -0,0 +1,10 @@
1
+ class Array
2
+
3
+ alias :real_map :map
4
+
5
+ def map(*args, &block)
6
+ sleep 0.01
7
+ real_map(*args, &block)
8
+ end
9
+
10
+ end
data/lib/fuck/sort.rb ADDED
@@ -0,0 +1,11 @@
1
+ class Array
2
+
3
+ alias :real_sort :sort
4
+
5
+ def sort(*args)
6
+ sleep 0.01
7
+ real_sort(*args)
8
+ end
9
+
10
+
11
+ end
@@ -0,0 +1,3 @@
1
+ module Fuck
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,5 @@
1
+ require 'bundler'
2
+
3
+ require 'fuck'
4
+
5
+ (0..50).to_a.sort{ rand() - 0.5 }[0..x]
data/spec/fuck_spec.rb ADDED
@@ -0,0 +1,34 @@
1
+ require 'spec_helper'
2
+ require 'benchmark'
3
+
4
+ describe Fuck do
5
+ describe "sort" do
6
+ it "sorts" do
7
+ [1,3,5,4].sort.should == [1,3,4,5]
8
+ end
9
+
10
+ it "sorts slower than the real sort" do
11
+ a = (1..1000).map{ |x| rand(10000) }
12
+ sort_time = Benchmark.realtime { a.sort }
13
+ real_sort_time = Benchmark.realtime { a.real_sort }
14
+
15
+ sort_time.should > real_sort_time
16
+ end
17
+ end
18
+
19
+ describe "map" do
20
+ it "maps" do
21
+ [1,2,3].map{ |x| x + 1 }.should == [2,3,4]
22
+ end
23
+
24
+ it "maps slower than the real map" do
25
+ a = (1..1000).map{ |x| rand(10000) }
26
+
27
+ map_time = Benchmark.realtime { a.map{|x| x + 1} }
28
+ real_map_time = Benchmark.realtime { a.real_map{|x| x + 1} }
29
+
30
+ map_time.should > real_map_time
31
+ end
32
+ end
33
+ end
34
+
@@ -0,0 +1 @@
1
+ require 'fuck'
metadata ADDED
@@ -0,0 +1,69 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fuck
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Josh Krueger
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-03-23 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: &70308380052320 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: *70308380052320
25
+ description: Makes things slower, so you have to optimize the hard stuff first.
26
+ email:
27
+ - jkrueger@enova.com
28
+ executables: []
29
+ extensions: []
30
+ extra_rdoc_files: []
31
+ files:
32
+ - .gitignore
33
+ - Gemfile
34
+ - Rakefile
35
+ - fuck.gemspec
36
+ - lib/fuck.rb
37
+ - lib/fuck/map.rb
38
+ - lib/fuck/sort.rb
39
+ - lib/fuck/version.rb
40
+ - script/sort_timing.rb
41
+ - spec/fuck_spec.rb
42
+ - spec/spec_helper.rb
43
+ homepage: ''
44
+ licenses: []
45
+ post_install_message:
46
+ rdoc_options: []
47
+ require_paths:
48
+ - lib
49
+ required_ruby_version: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ required_rubygems_version: !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ! '>='
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ requirements: []
62
+ rubyforge_project: fuck
63
+ rubygems_version: 1.8.15
64
+ signing_key:
65
+ specification_version: 3
66
+ summary: Slows down your rubies. Intentionally.
67
+ test_files:
68
+ - spec/fuck_spec.rb
69
+ - spec/spec_helper.rb