gemrat 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f6191b82c90172adf9d811210f46778867894adf
4
- data.tar.gz: db0777e3a8b301013ab59705456ec976d289ef0d
3
+ metadata.gz: bfcab4aa237870a105ea91a28416f3876670ed69
4
+ data.tar.gz: e6ff6a0fc1b5c2d1492068f7aa92b93e6e4c790c
5
5
  SHA512:
6
- metadata.gz: 497754fe392b1f63f7a9fd52c6fe9f2449160f9e104ccbb56b7edf4354ee8535bebade51ae28192c06ee205ac16036e4eb7b3b97f9d81f52bfb8cb63c695a69a
7
- data.tar.gz: 96c08861afbbc3c7bf7263a1f543d7abf55828ad330e0b88c4c63ef73c5bf3efe14bba564c7b9dc0d8e2f20fe483c688d76b45c5cd34d7ddd999719220f8cf4f
6
+ metadata.gz: 2a843393ccb65658307a2bfc1e128057d7ca1636461d6bc2677454ecc40e69d37c239bcae50d630e9ba9fc84e6c212cca628b3919141b4cc934e90183e2c7090
7
+ data.tar.gz: cc9dabbedb159d652ff911a4d34d96395f53e240fc26cff444cdac081795e903aba1500cadea4c77cb43477ee131d153299f06eac4ebe4a16041a291286a04c3
data/.gitignore CHANGED
@@ -3,3 +3,5 @@ design.txt
3
3
  /*.gem
4
4
  /pkg
5
5
  Gemfile.lock
6
+ .ruby-gemset
7
+ .ruby-version
data/Gemfile CHANGED
@@ -2,6 +2,3 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in gemrat.gemspec
4
4
  gemspec
5
- gem 'rspec', '2.13.0'
6
- gem 'pry', '0.9.12.2'
7
- gem 'colored', '1.2'
data/README.md CHANGED
@@ -6,12 +6,16 @@ Add the latest version of a gem to your Gemfile from the command line.
6
6
  * No need to edit your Gemfile directly
7
7
  * Gemrat bundles automatically
8
8
 
9
+ <br/>
10
+
9
11
  ## Usage
10
12
  Add the latest version of a gem to your Gemfile and bundle. Formated: (gem 'name', 'version')
11
13
  <pre>
12
14
  $ gemrat gem_name
13
15
  </pre>
14
16
 
17
+ <br/>
18
+
15
19
  Add the latest version of sinatra to your Gemfile and bundle
16
20
  <pre>
17
21
  $ gemrat sinatra
@@ -20,19 +24,41 @@ $ gemrat sinatra
20
24
  #=> Bundling...
21
25
  </pre>
22
26
 
23
- Add the latest version of rspec to your Gemfile and bundle
27
+ <br/>
28
+ Add multiple gems
24
29
  <pre>
25
- $ gemrat rspec
30
+ $ gemrat rspec capybara sidekiq
26
31
 
27
32
  #=> gem 'rspec', '2.13.0' added to your Gemfile.
33
+ #=> gem 'capybara', '2.1.0' added to your Gemfile.
34
+ #=> gem 'sidekiq', '2.12.4' added to your Gemfile.
28
35
  #=> Bundling...
29
36
  </pre>
30
37
 
31
38
  <br/>
39
+
40
+
41
+ Get help
42
+
43
+ <pre>
44
+ $ gemrat --help OR gemrat -h
45
+
46
+ Gemrat
47
+
48
+ Add gems to Gemfile from the command line.
49
+
50
+ Usage: gemrat [GEM_NAME] [OPTIONS]
51
+
52
+ Options:
53
+
54
+ -g [--gemfile] # Specify the Gemfile to be used. Defaults to 'Gemfile'.
55
+ -h [--help] # Print these usage instructions.
56
+ </pre>
32
57
  <br/>
33
58
 
34
59
  ![gemrat](http://i.qkme.me/3ut4r1.jpg)
35
60
 
61
+ <br/>
36
62
  ## Installation
37
63
 
38
64
  Add this line to your application's Gemfile:
@@ -47,6 +73,8 @@ Or install it yourself as:
47
73
 
48
74
  $ gem install gemrat
49
75
 
76
+ <br/>
77
+
50
78
  ## Development
51
79
 
52
80
  Run the test suite with:
data/bin/gemrat CHANGED
@@ -2,16 +2,4 @@
2
2
 
3
3
  require 'gemrat'
4
4
 
5
- include Gemrat
6
-
7
- gem_name = ARGV[0]
8
-
9
- begin
10
- add_gem gem_name
11
- puts "Bundling...".green
12
- `bundle`
13
- rescue ArgumentError
14
- puts usage
15
- rescue GemNotFound
16
- puts gem_not_found(gem_name).red
17
- end
5
+ Gemrat::Runner.run(*ARGV)
data/lib/gemrat.rb CHANGED
@@ -1,65 +1,21 @@
1
1
  require "gemrat/version"
2
+ require "gemrat/messages"
3
+ require "gemrat/runner"
4
+ require "gemrat/arguments"
2
5
  require "colored"
3
6
 
4
7
  module Gemrat
5
8
  class GemNotFound < StandardError; end
9
+ class Gem < Struct.new(:name, :valid)
10
+ alias_method :valid?, :valid
6
11
 
7
- def add_gem(name, gemfile='Gemfile')
8
- raise ArgumentError if name.nil?
9
-
10
- gem = process name
11
- gemfile = File.open(gemfile, 'a')
12
- gemfile << "\n#{gem}"
13
- gemfile.close
14
- puts "#{gem} added to your Gemfile.".green
15
- end
16
-
17
- private
18
-
19
- def normalize_for_gemfile(rubygems_format)
20
- gem_name = rubygems_format.split.first
21
- normalized = ("gem " + rubygems_format).gsub(/[()]/, "'")
22
- normalized.gsub(/#{gem_name}/, "'#{gem_name}',")
23
- end
24
-
25
- def find_exact_match(name)
26
- find_all(name).reject { |n| /^#{name} / !~ n }.first
12
+ def initialize(*args)
13
+ super
14
+ self.valid = true
27
15
  end
28
16
 
29
- def find_all(name)
30
- fetch_all(name).split(/\n/)
17
+ def invalid!
18
+ self.valid = false
31
19
  end
32
-
33
- def fetch_all(name)
34
- `gem search -r #{name}`
35
- end
36
-
37
- def process(name)
38
- exact_match = find_exact_match name
39
-
40
- raise GemNotFound if exact_match.nil?
41
-
42
- normalize_for_gemfile exact_match
43
- end
44
-
45
- public
46
-
47
- def usage
48
- usage = <<-USAGE
49
-
50
- Gemrat
51
-
52
- Add gems to Gemfile from the command line.
53
-
54
- Usage: gemrat GEM_NAME
55
-
56
- USAGE
57
- end
58
-
59
- def gem_not_found(name)
60
- message = <<-MESSAGE
61
-
62
- Unable to find gem '#{name}' on Rubygems. Sorry about that.
63
- MESSAGE
64
20
  end
65
21
  end
@@ -0,0 +1,41 @@
1
+ module Gemrat
2
+ class Arguments
3
+ ATTRIBUTES = [:gem_names, :gemfile]
4
+
5
+ ATTRIBUTES.each { |arg| attr_accessor arg }
6
+
7
+
8
+ def initialize(*args)
9
+ self.arguments = *args
10
+
11
+ validate
12
+
13
+ extract_options
14
+ end
15
+
16
+ def gem_names
17
+ arguments.take_while { |arg| arg !~ /^-|^--/}
18
+ end
19
+
20
+ private
21
+
22
+ attr_accessor :arguments
23
+
24
+ def validate
25
+ raise ArgumentError if invalid?
26
+ end
27
+
28
+ def invalid?
29
+ gem_names.empty? || gem_names.first =~ /-h|--help/ || gem_names.first.nil?
30
+ end
31
+
32
+ def extract_options
33
+ options = arguments - gem_names
34
+ opts = Hash[*options]
35
+
36
+ self.gemfile = opts.delete("-g") || opts.delete("--gemfile") || "Gemfile"
37
+ rescue ArgumentError
38
+ # unable to extract options, leave them nil
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,25 @@
1
+ module Gemrat
2
+ module Messages
3
+
4
+ USAGE = <<-USAGE.gsub /^( +)(\w+| -)/, '\2'
5
+
6
+ Gemrat
7
+
8
+ Add gems to Gemfile from the command line.
9
+
10
+ Usage: gemrat [GEM_NAME] [OPTIONS]
11
+
12
+ Options:
13
+
14
+ -g [--gemfile] # Specify the Gemfile to be used. Defaults to 'Gemfile'.
15
+ -h [--help] # Print these usage instructions.
16
+
17
+ USAGE
18
+
19
+ GEM_NOT_FOUND = <<-GEM_NOT_FOUND.gsub /^( +)(\w+)/, '\2'
20
+
21
+ Unable to find gem '%s' on Rubygems. Sorry about that.
22
+ GEM_NOT_FOUND
23
+
24
+ end
25
+ end
@@ -0,0 +1,97 @@
1
+ module Gemrat
2
+ class Runner
3
+ class << self
4
+ attr_accessor :instance
5
+
6
+ def run(*args)
7
+ @instance ||= new(*args)
8
+ @instance.run
9
+ end
10
+ end
11
+
12
+ include Gemrat
13
+ include Messages
14
+
15
+ def initialize(*args)
16
+ with_error_handling { parse_arguments(*args) }
17
+ end
18
+
19
+ def run
20
+ for_each_gem do
21
+ with_error_handling do
22
+
23
+ find_exact_match
24
+ ensure_gem_exists
25
+ normalize_for_gemfile
26
+ add_to_gemfile
27
+
28
+ end
29
+ end
30
+
31
+ run_bundle unless gems.nil? || gems.empty? || gems.select(&:valid?).empty?
32
+ end
33
+
34
+ attr_accessor :gem
35
+
36
+ private
37
+
38
+ attr_accessor :gems, :gemfile, :exact_match
39
+
40
+ def parse_arguments(*args)
41
+ Arguments.new(*args).tap do |a|
42
+ self.gems = a.gem_names.map {|name| Gem.new(name) }
43
+ self.gemfile = a.gemfile
44
+ end
45
+ end
46
+
47
+ def with_error_handling
48
+ yield
49
+ rescue ArgumentError
50
+ puts Messages::USAGE
51
+ rescue GemNotFound
52
+ puts Messages::GEM_NOT_FOUND.red % gem.name
53
+ gem.invalid!
54
+ end
55
+
56
+ def for_each_gem
57
+ gems && gems.each do |gem|
58
+ self.gem = gem
59
+ yield
60
+ end
61
+ end
62
+
63
+ def find_exact_match
64
+ self.exact_match = find_all(gem.name).reject { |n| /^#{gem.name} / !~ n }.first
65
+ end
66
+
67
+ def find_all(name)
68
+ fetch_all(name).split(/\n/)
69
+ end
70
+
71
+ def fetch_all(name)
72
+ `gem search -r #{name}`
73
+ end
74
+
75
+ def ensure_gem_exists
76
+ raise GemNotFound if exact_match.nil?
77
+ end
78
+
79
+ def normalize_for_gemfile
80
+ gem_name = exact_match.split.first
81
+ normalized = ("gem " + exact_match).gsub(/[()]/, "'")
82
+ self.gem.name = normalized.gsub(/#{gem_name}/, "'#{gem_name}',")
83
+ end
84
+
85
+ def add_to_gemfile
86
+ new_gemfile = File.open(gemfile, 'a')
87
+ new_gemfile << "\n#{gem.name}"
88
+ new_gemfile.close
89
+ puts "#{gem.name} added to your Gemfile.".green
90
+ end
91
+
92
+ def run_bundle
93
+ puts "Bundling...".green
94
+ `bundle`
95
+ end
96
+ end
97
+ end
@@ -1,3 +1,3 @@
1
1
  module Gemrat
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
data/spec/gemrat_spec.rb CHANGED
@@ -5,16 +5,19 @@ describe Gemrat do
5
5
  test_gemfile.write ("https://rubygems.org'\n\n# Specify your gem's dependencies in gemrat.gemspec\ngem 'rspec', '2.13.0'\n")
6
6
  test_gemfile.close
7
7
 
8
- class DummyClass
9
- include Gemrat
10
8
 
9
+ class Gemrat::Runner
11
10
  def stubbed_response(*args)
12
- File.read("./spec/rubygems_response_shim")
11
+ File.read("./spec/resources/rubygems_response_shim_for_#{gem.name}")
12
+ rescue Errno::ENOENT
13
+ ""
13
14
  end
14
15
  alias_method :fetch_all, :stubbed_response
15
16
  end
17
+ end
16
18
 
17
- @dummy_class = DummyClass.new
19
+ after :each do
20
+ Gemrat::Runner.instance = nil
18
21
  end
19
22
 
20
23
  def capture_stdout(&block)
@@ -32,29 +35,66 @@ describe Gemrat do
32
35
  File.delete("TestGemfile")
33
36
  end
34
37
 
35
- describe "#add_gem" do
36
- it "adds lastest gem version to gemfile" do
37
- output = capture_stdout { @dummy_class.add_gem("sinatra", "TestGemfile") }
38
- output.should include("'sinatra', '1.4.3' added to your Gemfile")
39
- gemfile_contents = File.open('TestGemfile', 'r').read
40
- gemfile_contents.should include("\ngem 'sinatra', '1.4.3'")
41
- end
38
+ describe Gemrat::Runner do
39
+ subject { Gemrat::Runner }
40
+ describe "#run" do
41
+ context "when valid arguments are given" do
42
+ context "for one gem" do
43
+ it "adds lastest gem version to gemfile" do
44
+ output = capture_stdout { subject.run("sinatra", "-g", "TestGemfile") }
45
+ output.should include("'sinatra', '1.4.3' added to your Gemfile")
46
+ gemfile_contents = File.open('TestGemfile', 'r').read
47
+ gemfile_contents.should include("\ngem 'sinatra', '1.4.3'")
48
+ output.should include("Bundling")
49
+ end
50
+ end
51
+
52
+ context "for multiple gems" do
53
+ it "adds latest gem versions to gemfile" do
54
+ output = capture_stdout { subject.run("sinatra", "rails", "minitest", "-g", "TestGemfile") }
55
+ output.should include("'sinatra', '1.4.3' added to your Gemfile")
56
+ output.should include("'minitest', '5.0.5' added to your Gemfile")
57
+ output.should include("'rails', '3.2.13' added to your Gemfile")
58
+ gemfile_contents = File.open('TestGemfile', 'r').read
59
+ gemfile_contents.should include("\ngem 'sinatra', '1.4.3'")
60
+ gemfile_contents.should include("\ngem 'minitest', '5.0.5'")
61
+ gemfile_contents.should include("\ngem 'rails', '3.2.13'")
62
+ output.should include("Bundling")
63
+ end
42
64
 
43
- context "when name is not given in arguments" do
44
- it "should raise ArgumentError" do
45
- expect { @dummy_class.add_gem }.to raise_error(ArgumentError)
65
+ context "when one of the gems is invalid" do
66
+ it "adds other gems and runs bundle" do
67
+ output = capture_stdout { subject.run("sinatra", "beer_maker_2000", "minitest", "-g", "TestGemfile") }
68
+ output.should include("'sinatra', '1.4.3' added to your Gemfile")
69
+ output.should include("'minitest', '5.0.5' added to your Gemfile")
70
+ output.should include("#{Gemrat::Messages::GEM_NOT_FOUND % "beer_maker_2000"}")
71
+ output.should include("Bundling")
72
+ end
73
+ end
74
+ end
46
75
  end
47
- end
48
76
 
49
- context "when gem is not found" do
50
- before do
51
- @dummy_class.stub(:find_exact_match)
77
+ ["when gem name is left out from the arguments", "",
78
+ "when -h or --help is given in the arguments", "-h"].each_slice(2) do |ctx, arg|
79
+ context ctx do
80
+ it "prints usage" do
81
+ output = capture_stdout { subject.run(arg == "" ? nil : arg) }
82
+ output.should include(Gemrat::Messages::USAGE)
83
+ end
84
+ end
52
85
  end
53
86
 
54
- it "raises GemNotFound" do
55
- expect do
56
- @dummy_class.add_gem("unexistent_gem", "TestGemfile")
57
- end.to raise_error(Gemrat::GemNotFound)
87
+ context "when gem is not found" do
88
+ before do
89
+ subject.stub(:find_exact_match)
90
+ @gem_name = "unexistent_gem"
91
+ end
92
+
93
+ it "prints a nice error message" do
94
+ output = capture_stdout { subject.run(@gem_name) }
95
+ output.should include("#{Gemrat::Messages::GEM_NOT_FOUND % @gem_name}")
96
+ output.should_not include("Bundling...")
97
+ end
58
98
  end
59
99
  end
60
100
  end
@@ -0,0 +1,75 @@
1
+ minitest (5.0.5)
2
+ minitest-activemodel (1.0.0)
3
+ minitest-ansi (0.1.2)
4
+ minitest-ar-assertions (0.0.4)
5
+ minitest-around (0.0.1)
6
+ minitest-bacon (1.0.1)
7
+ minitest-capistrano (0.2.0)
8
+ minitest-capybara (0.2.0)
9
+ minitest-capybara-unit (0.0.1)
10
+ minitest-chain (0.5.2)
11
+ minitest-check (0.0.1)
12
+ minitest-chef-handler (1.0.1)
13
+ minitest-ci (2.4.0)
14
+ minitest-colorer (0.1.1)
15
+ minitest-colorize (0.0.5)
16
+ minitest-context (0.4.0)
17
+ minitest-debugger (1.0.2)
18
+ minitest-deluxe (1.4.2.4)
19
+ minitest-descriptive (0.0.1)
20
+ minitest-display (0.1.0)
21
+ minitest-em-sync (0.1.0)
22
+ minitest-emoji (1.0.0)
23
+ minitest-english (0.1.0)
24
+ minitest-excludes (1.0.2)
25
+ minitest-extra-assertions (0.2.0)
26
+ minitest-fastfail (0.1.1)
27
+ minitest-filesystem (1.0.0)
28
+ minitest-firemock (0.0.2)
29
+ minitest-focus (1.0.0)
30
+ minitest-great_expectations (0.0.4)
31
+ minitest-growl (0.0.3)
32
+ minitest-happy (1.0.0)
33
+ minitest-implicit-subject (1.2.0)
34
+ minitest-instrument (0.0.1)
35
+ minitest-instrument-db (0.0.1)
36
+ minitest-libnotify (0.2.2)
37
+ minitest-line (0.5.0)
38
+ minitest-macruby (1.0.1)
39
+ minitest-matcher-library (1.0.0)
40
+ minitest-matchers (1.3.0)
41
+ minitest-metadata (0.4.0)
42
+ minitest-mongoid (0.0.1)
43
+ minitest-must_not (0.1.0)
44
+ minitest-mustwonted (1.0.0)
45
+ minitest-nc (0.0.1)
46
+ minitest-notification (0.0.4)
47
+ minitest-perf (0.0.3)
48
+ minitest-predicates (0.1.0)
49
+ minitest-pretty_diff (0.1)
50
+ minitest-rails (0.9.2)
51
+ minitest-rails-capybara (0.9.0)
52
+ minitest-rails-shoulda (0.4.1)
53
+ minitest-rails-tools (0.1.0)
54
+ minitest-reporters (0.14.20)
55
+ minitest-reporters-fail (0.0.1)
56
+ minitest-reporters-ws (0.0.2)
57
+ minitest-rg (1.1.1)
58
+ minitest-should_syntax (1.0.2)
59
+ minitest-shouldify (1.1.1)
60
+ minitest-spec (0.0.2.1)
61
+ minitest-spec-context (0.0.3)
62
+ minitest-spec-expect (0.1.0)
63
+ minitest-spec-magic (0.2.1)
64
+ minitest-spec-rails (4.7.3)
65
+ minitest-spec-rails-tu-shim (1.9.3.4)
66
+ minitest-spec-should (0.1.0)
67
+ minitest-stub-const (0.1)
68
+ minitest-sugar (1.0.0)
69
+ minitest-tags (0.0.5)
70
+ minitest-wscolor (0.0.3)
71
+ minitest_diff (0.0.1)
72
+ minitest_owrapper (0.0.1)
73
+ minitest_rails_tools (0.2.1)
74
+ minitest_should (0.3.1)
75
+ minitest_tu_shim (1.3.2)
@@ -0,0 +1,490 @@
1
+ rails (3.2.13)
2
+ rails-3-settings (0.1.1)
3
+ rails-action-args (0.1.1)
4
+ rails-admin (0.0.0)
5
+ rails-ajax (0.1.2.20130211)
6
+ rails-alertify (0.3.2)
7
+ rails-alpha_numeric_validator (0.1.1)
8
+ rails-and-solid (0.9.1)
9
+ rails-annoying (0.1.0)
10
+ rails-api (0.1.0)
11
+ rails-app-installer (0.2.0)
12
+ rails-app-spec (0.5.0)
13
+ rails-archer (0.0.1)
14
+ rails-arts (1.1)
15
+ rails-asset-jqgrid (0.0.3)
16
+ rails-asset-jqueryui (0.0.3)
17
+ rails-asset-localization (0.1.0)
18
+ rails-assets (0.5.2)
19
+ rails-assets-cdn (0.1.0)
20
+ rails-async (0.1.1)
21
+ rails-auth-github (0.0.1)
22
+ rails-autoellipsis (1.0.10)
23
+ rails-backbone (0.9.10)
24
+ rails-backbone-forms (0.11.0)
25
+ rails-backbone-generator (0.0.3)
26
+ rails-backbone-sp (0.0.1)
27
+ rails-backup-migrate (0.0.12)
28
+ rails-behaviors (0.4.1)
29
+ rails-block-labels (0.0.2)
30
+ rails-boilerplate (0.1.9)
31
+ rails-boot-reporting (0.0.3)
32
+ rails-bootstrap-engine (0.0.5)
33
+ rails-bootstrap-helpers (0.0.1)
34
+ rails-bootstrap-markdown (0.0.2)
35
+ rails-bootstrap-toggle-buttons (0.0.7)
36
+ rails-bootstrap-ui (0.0.2)
37
+ rails-bootstrap-widgets (0.0.2)
38
+ rails-breadcrumbs (1.0.0)
39
+ rails-brochure (0.1.1)
40
+ rails-browscap (0.1.1)
41
+ rails-cache-tags (1.2.0)
42
+ rails-caddy (0.0.8)
43
+ rails-cancan-bootstrap-scaffold (0.0.1)
44
+ rails-canhaz (1.0.7)
45
+ rails-carrot (1.0.1)
46
+ rails-ckeditor (0.0.0)
47
+ rails-clean-logs (1.1)
48
+ rails-client-logger (0.0.2)
49
+ rails-console-pry (0.0.5)
50
+ rails-console-tweaks (1.0.0)
51
+ rails-contrib (0.0.3)
52
+ rails-cron-logger (1.0.3)
53
+ rails-crud (0.0.2)
54
+ rails-crumbs (1.0.6)
55
+ rails-csv-fixtures (0.0.1)
56
+ rails-database-url (1.0.0)
57
+ rails-db-resetup (0.0.2)
58
+ rails-db_env (0.0.2)
59
+ rails-dbd-mysql (0.1.0)
60
+ rails-dbi (0.1.2)
61
+ rails-default-database (1.0.6)
62
+ rails-dev-boost (0.2.1)
63
+ rails-dev-boost-beta (0.1.3)
64
+ rails-dev-bundle (0.2)
65
+ rails-dev-tweaks (0.6.1)
66
+ rails-dev-tweaks-arturo (0.6.2)
67
+ rails-development-toolbox (0.2.0)
68
+ rails-develotest (0.0.1)
69
+ rails-doorman (0.1.0)
70
+ rails-dtrace (0.0.4)
71
+ rails-dummy (0.0.1)
72
+ rails-env-switcher (0.2.3)
73
+ rails-erb-check (0.1.0)
74
+ rails-erd (1.1.0)
75
+ rails-ess (1.0.0)
76
+ rails-excel (1.0.3)
77
+ rails-excel-rubyXL-strategy (0.0.1)
78
+ rails-excel-spreadsheet-strategy (0.0.1)
79
+ rails-excel-writeexcel-strategy (0.0.1)
80
+ rails-ext (0.3.29)
81
+ rails-extensions (0.0.1)
82
+ rails-extjs-direct (0.0.15)
83
+ rails-file-icons (0.0.1)
84
+ rails-firephp (0.0.2)
85
+ rails-flash_patch (0.0.1)
86
+ rails-font-awesome (3.0.0)
87
+ rails-footnotes (3.7.9)
88
+ rails-footnotes-linux (3.6.2)
89
+ rails-four-queueing (0.2.0)
90
+ rails-gallery (0.3.2)
91
+ rails-generators (0.0.1)
92
+ rails-geocoder (0.9.11)
93
+ rails-google-maps (0.0.15)
94
+ rails-gsa (0.0.3)
95
+ rails-hamljs (0.0.1)
96
+ rails-heatmap (0.0.0)
97
+ rails-i18n (0.7.3)
98
+ rails-i18n-debug (1.0.1)
99
+ rails-i18n-record (1.0.5)
100
+ rails-i18n-routes (1.1.8)
101
+ rails-i18n-updater (1.0.1)
102
+ rails-i18nterface (0.2.4)
103
+ rails-imager (0.0.5)
104
+ rails-indexes (0.0.1)
105
+ rails-ioc (0.2.1)
106
+ rails-jasny-bootstrap-extension (0.0.1)
107
+ rails-jquery-bundle (0.0.2)
108
+ rails-jquerymobile (0.0.6)
109
+ rails-latex (1.0.11)
110
+ rails-localization (0.2.0)
111
+ rails-logger-ext (0.1.0)
112
+ rails-maker (0.1.1)
113
+ rails-mark_requirements (0.0.1)
114
+ rails-marker (0.0.3)
115
+ rails-mobile (0.9.1)
116
+ rails-named-routes-options (0.0.1)
117
+ rails-no-cache (0.1.1)
118
+ rails-observers (0.1.1)
119
+ rails-pages (0.0.1)
120
+ rails-pagination (2.0.6)
121
+ rails-parts (0.3.2)
122
+ rails-paypal (0.0.0)
123
+ rails-perftest (0.0.2)
124
+ rails-permalink (1.0.0)
125
+ rails-pg-procs (1.0.2)
126
+ rails-pjax (0.0.2)
127
+ rails-precompile2git (1.0.5)
128
+ rails-pry (0.0.1)
129
+ rails-przelewy24 (0.0.4)
130
+ rails-pulse (0.5.1)
131
+ rails-queue (1.0.0)
132
+ rails-rake-pg (0.0.4)
133
+ rails-rateit (0.2)
134
+ rails-recipes (0.1.2)
135
+ rails-redactorjs (0.0.1)
136
+ rails-routes-js-utils (2.0.1)
137
+ rails-sandbox-assets (0.0.5)
138
+ rails-sandbox-busterjs (0.0.1)
139
+ rails-sass-images (0.3)
140
+ rails-scheduler (0.1.2)
141
+ rails-schema-validations (0.9.4)
142
+ rails-security (0.0.2)
143
+ rails-serious-business (0.1)
144
+ rails-services (0.1.5)
145
+ rails-settings (1.0.0)
146
+ rails-settings-cached (0.3.0)
147
+ rails-sh (1.5.2)
148
+ rails-simple-search (0.9.7)
149
+ rails-skeleton (0.0.1)
150
+ rails-slow-assets-workaround (0.1.1)
151
+ rails-slugs (1.0.8)
152
+ rails-ssi (0.0.2)
153
+ rails-static (1.0.0)
154
+ rails-stencil (0.2.3)
155
+ rails-styleguide (0.0.4)
156
+ rails-subdomain (0.0.2)
157
+ rails-tables (0.6.6)
158
+ rails-talks (0.0.3)
159
+ rails-tartare (1.1.1)
160
+ rails-template-inheritance (0.0.2)
161
+ rails-test-serving (0.1.4.2)
162
+ rails-test-toolbox (0.2.0)
163
+ rails-theme-helper (0.0.4)
164
+ rails-themes (1.1.1)
165
+ rails-timeago (2.4.0)
166
+ rails-toolkit (8.04.1)
167
+ rails-translate (1.0.0)
168
+ rails-translate-models (0.1.0)
169
+ rails-translate-routes (0.1.3)
170
+ rails-translator (0.0.1)
171
+ rails-trash (2.0.0)
172
+ rails-ueditor (0.0.0)
173
+ rails-ujs (0.0.3)
174
+ rails-ujs-form (0.2.0)
175
+ rails-units (1.6.0)
176
+ rails-up (0.0.1)
177
+ rails-upgrade (0.0.2)
178
+ rails-uploader (0.1.3)
179
+ rails-uploads (0.1.5)
180
+ rails-view-helper-objects (0.0.1)
181
+ rails-web-console (0.2.0)
182
+ rails-wysihtml5 (0.3.0.1)
183
+ rails-xmlrpc (0.3.7)
184
+ rails2_asset_pipeline (0.3.2)
185
+ rails2_libmemcached_store (0.3.2)
186
+ rails2ext (0.0.1)
187
+ rails3-active_form (2.0.0)
188
+ rails3-generators (1.0.0)
189
+ rails3-jquery-autocomplete (1.0.11)
190
+ rails3-jquery-autocomplete-moc (0.3.3)
191
+ rails3-opensocial (0.0.6)
192
+ rails3-redis-session-store (0.3.0)
193
+ rails3-restful-authentication (3.0.1)
194
+ rails3-settings (1.0.0)
195
+ rails3-tutorial (0.4.4.2)
196
+ rails31-evergreen (0.4.1)
197
+ rails31-markdown-editor (0.0.3)
198
+ rails3_acts_as_paranoid (0.2.5)
199
+ rails3_acts_as_paranoid-bjones (0.0.1)
200
+ rails3_acts_as_paranoid_create (0.2.0)
201
+ rails3_artifactor (0.4.0)
202
+ rails3_assist (0.3.7)
203
+ rails3_before_render (0.2.0)
204
+ rails3_bridge (0.1.2)
205
+ rails3_devise_wizard (0.3.2)
206
+ rails3_fitter_happier (0.0.2)
207
+ rails3_libmemcached_store (0.5.1)
208
+ rails3_markitup (0.0.4)
209
+ rails3_pg_deferred_constraints (0.1.0)
210
+ rails3_plugin_toolbox (0.3.4)
211
+ rails3_sequel (0.3.1)
212
+ rails3b (3.0.1)
213
+ rails4_acts_as_paranoid (0.1.4)
214
+ rails4_client_side_validations (0.0.3)
215
+ rails4_upgrade (0.5.0)
216
+ rails4foryouandme (0.0.2)
217
+ rails800 (0.0.1)
218
+ rails960gs (0.2.4)
219
+ rails_12factor (0.0.2)
220
+ rails_2_preload (0.2.2)
221
+ rails_4_session_flash_backport (0.0.2)
222
+ rails_account_location (1.0.1)
223
+ rails_action_args (0.2.0)
224
+ rails_address_fetcher (1.0)
225
+ rails_admin (0.4.9)
226
+ rails_admin-i18n (0.0.9)
227
+ rails_admin-lbgraham (0.4.2)
228
+ rails_admin-treeview (1.0.0)
229
+ rails_admin_globalize (0.0.3)
230
+ rails_admin_histeroid (0.0.2)
231
+ rails_admin_import (0.1.8)
232
+ rails_admin_jcrop (1.1.2)
233
+ rails_admin_nestable (0.1.4)
234
+ rails_admin_nested_set (0.1.1)
235
+ rails_admin_pdf (0.0.1)
236
+ rails_admin_phone_number_field (0.0.2)
237
+ rails_admin_settings (0.5.0)
238
+ rails_admin_slug (0.1.3)
239
+ rails_admin_state_machine (1.0.1)
240
+ rails_admin_tag_list (0.1.5)
241
+ rails_admin_toggleable (0.3.0)
242
+ rails_adserver (1.0.2)
243
+ rails_analyzer_tools (1.4.0)
244
+ rails_antiscroll (0.0.3)
245
+ rails_app_config (0.0.2)
246
+ rails_appengine (0.0.8)
247
+ rails_application_assets (1.0.2)
248
+ rails_apps_composer (2.2.41)
249
+ rails_artifactor (0.5.1)
250
+ rails_asset_packager (0.2.2)
251
+ rails_assist (0.5.3)
252
+ rails_assistant (1.0.0)
253
+ rails_atomic_increment (0.2)
254
+ rails_auditor (0.0.1)
255
+ rails_authentication (0.9.3)
256
+ rails_authorization (0.9.2)
257
+ rails_autocomplete (0.0.6)
258
+ rails_autolink (1.1.0)
259
+ rails_best_practices (1.13.8)
260
+ rails_best_practices-gorgeouscode (1.0.0)
261
+ rails_best_practices-raydog153 (0.9.1)
262
+ rails_blog_engine (0.0.4)
263
+ rails_bootstrap_easy_navbar (0.0.4)
264
+ rails_bootstrap_helpers (0.0.1)
265
+ rails_breadcrumbs (0.5.4)
266
+ rails_bridge (0.0.11)
267
+ rails_cache_it (0.0.2)
268
+ rails_cacheable_flash (0.0.24)
269
+ rails_calendar (0.0.1)
270
+ rails_captcha (0.0.7)
271
+ rails_cherry_pick (3.2.8)
272
+ rails_clafer (0.1.7)
273
+ rails_code_qa (1.0.0)
274
+ rails_code_stats (0.1.1)
275
+ rails_commentable (0.1.0)
276
+ rails_complete (0.5.0)
277
+ rails_component (0.1.2)
278
+ rails_config (0.3.3)
279
+ rails_config_i18n (0.3.1.3)
280
+ rails_config_loader (0.1.5)
281
+ rails_config_model_generator (1.2.2)
282
+ rails_configurator (0.0.1)
283
+ rails_contrib (0.0.6)
284
+ rails_creator (0.6.2)
285
+ rails_crumbs (1.0.5)
286
+ rails_css_themes (1.0.0)
287
+ rails_csv_importer (0.1.3)
288
+ rails_currency (1.2)
289
+ rails_current (1.7.0)
290
+ rails_customerbeats (0.3)
291
+ rails_dash (0.1.2)
292
+ rails_database_yml (0.0.2)
293
+ rails_datamapper (1.0.2)
294
+ rails_db_admin (2.1.1)
295
+ rails_db_browser (0.0.9)
296
+ rails_db_dump (0.1.1)
297
+ rails_debug (1.0.1)
298
+ rails_debugging_toolbar (0.0.3)
299
+ rails_decorators (0.2.5)
300
+ rails_default_url_options (2.0.0)
301
+ rails_development_toolkit (0.0.4)
302
+ rails_devs_for_data_integrity (0.1.5)
303
+ rails_dictionary (0.1.2)
304
+ rails_dm_datastore (0.2.16)
305
+ rails_doctor (0.0.1)
306
+ rails_document_ready (1.0.1)
307
+ rails_dt (0.1.4)
308
+ rails_dump (0.1.0)
309
+ rails_email_preview (0.2.2)
310
+ rails_email_validator (0.1.4)
311
+ rails_emoji (1.6.2)
312
+ rails_engine_decorators (0.0.1)
313
+ rails_env (0.1.0)
314
+ rails_environment (0.0.3)
315
+ rails_errors2html (1.4.2)
316
+ rails_exception_handler (2.1.0)
317
+ rails_extensions (1.0.6)
318
+ rails_factory (0.0.1)
319
+ rails_filemanager (1.2)
320
+ rails_finder (0.0.3)
321
+ rails_fix_google_bot_accept (0.1.0)
322
+ rails_form_autosave (0.0.7)
323
+ rails_form_backing_objects (0.0.2)
324
+ rails_fu (0.0.1)
325
+ rails_full_cal (0.0.3)
326
+ rails_gae (0.0.4)
327
+ rails_gem_install (0.3.4)
328
+ rails_generators_test_case_modules (0.2.1)
329
+ rails_git_version (0.0.1)
330
+ rails_hacks (0.0.3)
331
+ rails_helper (1.3.0)
332
+ rails_helpers_fix (0.1.1)
333
+ rails_highcharts (0.0.3)
334
+ rails_html_helpers (0.1.1)
335
+ rails_html_output (1.0)
336
+ rails_i18n_gettext (0.0.4)
337
+ rails_i18n_record (1.0.4)
338
+ rails_i18n_routes (1.1.8)
339
+ rails_info (0.1.0)
340
+ rails_inheritable_attributes_manager (0.3.1)
341
+ rails_instrument (0.0.4)
342
+ rails_ip_validator (0.1.2)
343
+ rails_is_forked (0.0.1)
344
+ rails_javascript_helpers (1.5.1)
345
+ rails_javascript_log (0.0.1)
346
+ rails_join (1.0.0)
347
+ rails_jq_grid (0.0.3)
348
+ rails_jquery_ui_datepicker (0.1)
349
+ rails_jumpstart (1.0.0)
350
+ rails_kindeditor (0.3.19)
351
+ rails_kindeditor_qiniu (0.0.4)
352
+ rails_legacy_mapper (1.1.0)
353
+ rails_locale_detection (1.3.2)
354
+ rails_locale_sorter (0.1.1)
355
+ rails_log_autotruncator (0.2.2)
356
+ rails_log_converter (0.0.2)
357
+ rails_log_stdout (0.1.1)
358
+ rails_log_watcher (0.0.2)
359
+ rails_logger (1.1.4)
360
+ rails_look_up_table (1.0.0)
361
+ rails_lookup (0.0.4)
362
+ rails_magick (0.0.8)
363
+ rails_mail_preview (0.0.4)
364
+ rails_markdown (0.0.0)
365
+ rails_markitup (0.0.3)
366
+ rails_memcached_view (0.2)
367
+ rails_menu (0.1.0)
368
+ rails_meta_tags (0.2.9)
369
+ rails_metrics (0.1)
370
+ rails_mini (0.0.3)
371
+ rails_model_load_hook (0.1.0)
372
+ rails_mongo_sessions (0.2.3)
373
+ rails_mustache (0.0.1)
374
+ rails_nav (2.5.0)
375
+ rails_nested_layouts (0.1.1)
376
+ rails_new (0.0.12)
377
+ rails_no_database_in_view (0.0.2)
378
+ rails_objects_logger (1.1.0)
379
+ rails_on_heroku (0.0.2)
380
+ rails_on_pg (0.0.1)
381
+ rails_openid (0.2.0)
382
+ rails_paginate (0.0.7)
383
+ rails_pagination (2.0.9)
384
+ rails_panel (0.0.1)
385
+ rails_parallel (0.1.3)
386
+ rails_parse_fixes (2.3.0)
387
+ rails_parser (0.0.1)
388
+ rails_phone (1.0.0)
389
+ rails_pitfall (1.0.7)
390
+ rails_presenter (0.0.3)
391
+ rails_product (0.6)
392
+ rails_pwnerer (0.7.6)
393
+ rails_qaptcha (0.0.5)
394
+ rails_redis_cache (0.2.0)
395
+ rails_refactor (1.3)
396
+ rails_relations_fix (1.1.1)
397
+ rails_rename (0.0.1)
398
+ rails_reroute (0.2.4)
399
+ rails_reset (0.0.1)
400
+ rails_responds_to_parent (1.0.0)
401
+ rails_reverse_db (0.0.6)
402
+ rails_riemann_middleware (0.5.0)
403
+ rails_sandbox_jasmine (0.0.3)
404
+ rails_sandbox_mocha_chai (0.0.1)
405
+ rails_seeder (0.0.6)
406
+ rails_semantic_logger (1.1.0)
407
+ rails_sequel (0.2.1)
408
+ rails_serve_static_assets (0.0.1)
409
+ rails_settings (0.1.1)
410
+ rails_setup (0.0.3)
411
+ rails_simple_backup_restore (0.1)
412
+ rails_simple_config (0.0.4)
413
+ rails_simple_monitor (0.0.1)
414
+ rails_slickgrid (0.0.4)
415
+ rails_slugs (1.0.9)
416
+ rails_soft_destroy (0.1.1)
417
+ rails_sql_triggers (0.0.2)
418
+ rails_sql_views (0.8.0)
419
+ rails_stdout_logging (0.0.1)
420
+ rails_structure_loading (0.1.1)
421
+ rails_syslogger (0.1.6)
422
+ rails_tabs (0.9.2)
423
+ rails_templater (0.3.0)
424
+ rails_templatizer (0.0.1)
425
+ rails_temporary_data (1.0.1)
426
+ rails_test_shortcuts (0.1.1)
427
+ rails_tiny_ds (0.0.2.1)
428
+ rails_tinymce (0.0.1)
429
+ rails_to_postman (0.0.1)
430
+ rails_tokeninput (1.6.0)
431
+ rails_tools-absence_validator (0.0.3)
432
+ rails_tooltip (0.0.1)
433
+ rails_tube (0.0.0)
434
+ rails_uploads (0.2.7)
435
+ rails_uri_parser (1.0.0)
436
+ rails_uri_validator (0.1.2)
437
+ rails_utils (2.1.0)
438
+ rails_validations_hmac (0.0.5)
439
+ rails_validators (0.0.1)
440
+ rails_version (0.2.3)
441
+ rails_view (1.0.1)
442
+ rails_view_annotator (0.0.7)
443
+ rails_view_helpers (0.0.3)
444
+ rails_warden (0.5.7)
445
+ rails_wink (0.1.2)
446
+ rails_wip (0.1.1)
447
+ rails_wizard (0.1.5)
448
+ rails_xss (0.4.0)
449
+ rails_zombie (1.0.0)
450
+ railsalitics (0.1)
451
+ railsbench (0.9.8)
452
+ railscart (0.0.4)
453
+ railscast-assets (0.0.2)
454
+ railscasts (0.1.0)
455
+ railscasts_download (0.3.1)
456
+ railscheck (0.2.0)
457
+ railsconfcal (0.0.0)
458
+ railsdav (0.0.5)
459
+ railsdog-less (1.2.17)
460
+ RailsEditor (0.0.29)
461
+ railsex (1.2)
462
+ railsgarden-message_block (0.1.0)
463
+ railshoster (0.6.12)
464
+ railsieve (0.0.1)
465
+ railsless-deploy (1.1.2)
466
+ railslog (0.0.1)
467
+ railslove-cli (0.0.3)
468
+ railslove-rack-throttle (0.0.1)
469
+ railslove-suspenders (0.1.0)
470
+ railslove_deploy (0.4.6)
471
+ railsmachine (1.0.6)
472
+ RailsMug (0.0.3)
473
+ railsonfire (0.2.17)
474
+ railspm (0.0.1)
475
+ railsquest (0.1)
476
+ RailsRemoteControl (1.0.0)
477
+ RailsRRDTool (1.0.2)
478
+ railstank (0.1.0)
479
+ railstar (0.0.12)
480
+ railsthemes (2.0.0)
481
+ RailsTop (0.0.2)
482
+ railstrap (0.0.1)
483
+ railsversions (0.0.3)
484
+ railsware-authlogic (2.1.6.1)
485
+ railsware-gcal4ruby (0.5.6)
486
+ railsware-passenger (3.0.2.1)
487
+ railsware-soap4r (1.5.8.1)
488
+ railsware-telesign (0.0.2)
489
+ railsware-workflow (0.8.1)
490
+ railswhere (0.2)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gemrat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dru Riley
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-06-20 00:00:00.000000000 Z
11
+ date: 2013-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colored
@@ -97,10 +97,14 @@ files:
97
97
  - bin/gemrat
98
98
  - gemrat.gemspec
99
99
  - lib/gemrat.rb
100
+ - lib/gemrat/arguments.rb
101
+ - lib/gemrat/messages.rb
102
+ - lib/gemrat/runner.rb
100
103
  - lib/gemrat/version.rb
101
- - pkg/gemrat-0.1.2.gem
102
104
  - spec/gemrat_spec.rb
103
- - spec/rubygems_response_shim
105
+ - spec/resources/rubygems_response_shim_for_minitest
106
+ - spec/resources/rubygems_response_shim_for_rails
107
+ - spec/resources/rubygems_response_shim_for_sinatra
104
108
  - spec/spec_helper.rb
105
109
  homepage: https://github.com/DruRly/gemrat
106
110
  licenses:
@@ -128,5 +132,7 @@ specification_version: 4
128
132
  summary: Add the latest version of a gem to your Gemfile from the command line.
129
133
  test_files:
130
134
  - spec/gemrat_spec.rb
131
- - spec/rubygems_response_shim
135
+ - spec/resources/rubygems_response_shim_for_minitest
136
+ - spec/resources/rubygems_response_shim_for_rails
137
+ - spec/resources/rubygems_response_shim_for_sinatra
132
138
  - spec/spec_helper.rb