scientist 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 97114552c98c00982ddd484d3b150fd0c636b446
4
+ data.tar.gz: 93c7f89162716794316df3929ce43dc3af1087d0
5
+ SHA512:
6
+ metadata.gz: c109b14c1a7cd08f8a42c6861193f7165d54419de6fc23265065a9858306478c2e4e8b901e9dc221738eb94e7f36f5dac8eef42596a2e885564b6238405e6b2a
7
+ data.tar.gz: 449aa244f546d2de87c66d4cde26775a638aff8fdd8c3e7f7fe49ef7053728c3f46b41d07cdfb1729e50288106f08aded08ef7ed00c76bf7d2e30b3b0288ce42
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ /*.gem
2
+ /.bundle
3
+ /.ruby-version
4
+ /Gemfile.lock
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ ruby "2.1.0"
2
+ source "https://rubygems.org"
3
+
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright 2013, 2014 GitHub, Inc.
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # Science!
2
+
3
+ A Ruby library for carefully refactoring critical paths. Scientist provides a pattern a pattern for measuring and validating large code changes without altering behavior.
4
+
5
+ ## Hacking
6
+
7
+ Be on a Unixy box. Make sure a modern Bundler is available. script/test runs the unit tests. All development dependencies will be installed automatically if they're not available. Dat science happens primarily on Ruby 2.1.0, but science should be universal.
8
+
9
+ ## Maintainers
10
+
11
+ [@jbarnette](https://github.com/jbarnette) and [@rick](https://github.com/rick)
data/lib/scientist.rb ADDED
@@ -0,0 +1,4 @@
1
+ require "scientist/version"
2
+
3
+ module Scientist
4
+ end
@@ -0,0 +1,3 @@
1
+ module Scientist
2
+ VERSION = "0.0.0"
3
+ end
data/scientist.gemspec ADDED
@@ -0,0 +1,19 @@
1
+ load "lib/scientist/version.rb"
2
+
3
+ Gem::Specification.new do |gem|
4
+ gem.name = "scientist"
5
+ gem.version = Scientist::VERSION
6
+ gem.authors = ["John Barnette", "Rick Bradley"]
7
+ gem.email = ["jbarnette@github.com", "rick@github.com"]
8
+ gem.summary = "Carefully test, measure, and track refactored code."
9
+ gem.homepage = "https://github.com/github/scientist"
10
+ gem.license = "MIT"
11
+
12
+ gem.files = `git ls-files`.split($/)
13
+ gem.executables = []
14
+ gem.test_files = gem.files.grep(/^test/)
15
+ gem.require_paths = ["lib"]
16
+
17
+ gem.add_development_dependency "minitest", "~> 5.2.2"
18
+ gem.add_development_dependency "mocha", "~> 1.0.0"
19
+ end
data/script/bootstrap ADDED
@@ -0,0 +1,9 @@
1
+ #!/bin/sh
2
+ # Ensure local dependencies are available.
3
+
4
+ set -e
5
+
6
+ cd $(dirname "$0")/..
7
+ rm -f .bundle/config
8
+
9
+ bundle install --path .bundle --quiet "$@"
data/script/release ADDED
@@ -0,0 +1,38 @@
1
+ #!/bin/sh
2
+ # Tag and push a release.
3
+
4
+ set -e
5
+
6
+ # Make sure we're in the project root.
7
+
8
+ cd $(dirname "$0")/..
9
+
10
+ # Build a new gem archive.
11
+
12
+ rm -rf scientist-*.gem
13
+ gem build -q scientist.gemspec
14
+
15
+ # Make sure we're on the master branch.
16
+
17
+ (git branch | grep -q '* master') || {
18
+ echo "Only release from the master branch."
19
+ exit 1
20
+ }
21
+
22
+ # Figure out what version we're releasing.
23
+
24
+ tag=v`ls scientist-*.gem | sed 's/^scientist-\(.*\)\.gem$/\1/'`
25
+
26
+ # Make sure we haven't released this version before.
27
+
28
+ git fetch -t origin
29
+
30
+ (git tag -l | grep -q "$tag") && {
31
+ echo "Whoops, there's already a '${tag}' tag."
32
+ exit 1
33
+ }
34
+
35
+ # Tag it and bag it.
36
+
37
+ gem push scientist-*.gem && git tag "$tag" &&
38
+ git push origin master && git push origin "$tag"
data/script/test ADDED
@@ -0,0 +1,8 @@
1
+ #!/bin/sh
2
+ # Run the unit tests.
3
+
4
+ set -e
5
+
6
+ cd $(dirname "$0")/..
7
+ script/bootstrap && ruby -I lib -e 'require "bundler/setup"' \
8
+ -e '(ARGV.empty? ? Dir["test/**/*_test.rb"] : ARGV).each { |f| load f }' -- "$@"
@@ -0,0 +1,7 @@
1
+ require "minitest/autorun"
2
+
3
+ describe Scientist do
4
+ it "exists" do
5
+ assert Scientist
6
+ end
7
+ end
metadata ADDED
@@ -0,0 +1,86 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: scientist
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - John Barnette
8
+ - Rick Bradley
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-02-05 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: minitest
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: 5.2.2
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: 5.2.2
28
+ - !ruby/object:Gem::Dependency
29
+ name: mocha
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: 1.0.0
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: 1.0.0
42
+ description:
43
+ email:
44
+ - jbarnette@github.com
45
+ - rick@github.com
46
+ executables: []
47
+ extensions: []
48
+ extra_rdoc_files: []
49
+ files:
50
+ - ".gitignore"
51
+ - Gemfile
52
+ - LICENSE.txt
53
+ - README.md
54
+ - lib/scientist.rb
55
+ - lib/scientist/version.rb
56
+ - scientist.gemspec
57
+ - script/bootstrap
58
+ - script/release
59
+ - script/test
60
+ - test/scientist_test.rb
61
+ homepage: https://github.com/github/scientist
62
+ licenses:
63
+ - MIT
64
+ metadata: {}
65
+ post_install_message:
66
+ rdoc_options: []
67
+ require_paths:
68
+ - lib
69
+ required_ruby_version: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: '0'
74
+ required_rubygems_version: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ requirements: []
80
+ rubyforge_project:
81
+ rubygems_version: 2.2.0
82
+ signing_key:
83
+ specification_version: 4
84
+ summary: Carefully test, measure, and track refactored code.
85
+ test_files:
86
+ - test/scientist_test.rb