coldshoulder 0.0.5 → 0.0.7

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/README.md CHANGED
@@ -4,28 +4,16 @@ Generate those gitignore files with ease.
4
4
 
5
5
  ## Installation
6
6
 
7
- Add this line to your application's Gemfile:
8
-
9
- gem 'coldshoulder'
10
-
11
- And then execute:
12
-
13
- $ bundle
14
-
15
- Or install it yourself as:
16
-
17
7
  $ gem install coldshoulder
18
8
 
19
9
  ## Usage
20
10
 
21
- coldshoulder [Language name]
11
+ coldshoulder generate [Language name]
22
12
 
23
13
  Note: You have to specify the exact name of the file in the following repo https://github.com/github/gitignore . This will be fixed in a future release.
24
14
 
25
15
  ## Contributing
26
16
 
27
17
  1. Fork it
28
- 2. Create your feature branch (`git checkout -b my-new-feature`)
29
- 3. Commit your changes (`git commit -am 'Added some feature'`)
30
- 4. Push to the branch (`git push origin my-new-feature`)
31
- 5. Create new Pull Request
18
+ 2. Create a branch
19
+ 3. Submit a pull requests. Make sure you write tests.
data/bin/coldshoulder CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  require 'coldshoulder'
4
4
 
5
- Coldshoulder::Generator.new(ARGV[0]).generate
5
+ Coldshoulder::Commander.new(ARGV).generate!
@@ -0,0 +1,26 @@
1
+ module Coldshoulder
2
+
3
+ class Commander
4
+
5
+ attr_accessor :command, :language
6
+
7
+ def initialize(*args)
8
+ self.command = args.shift
9
+ self.language = args.shift
10
+ generate!
11
+ end
12
+
13
+ def generate!
14
+ process
15
+ end
16
+
17
+ protected
18
+
19
+ def process
20
+ if self.command == "generate"
21
+ Coldshoulder::Generator.new.build(self.language)
22
+ end
23
+ end
24
+ end
25
+
26
+ end
@@ -2,32 +2,21 @@ module Coldshoulder
2
2
 
3
3
  class Generator
4
4
 
5
- attr_reader :target_language
6
-
7
- def initialize(*args)
8
- @target_language = args.shift
9
- end
10
-
11
5
  def request_url(url)
12
6
  Curl::Easy.perform(url)
13
7
  end
14
8
 
15
- def generate
16
- build_ignore_file
17
- end
18
-
19
- protected
20
9
 
21
- def build_ignore_file
10
+ def build(language)
22
11
  puts 'Generating gitignore file...'
23
- r = request_url("https://raw.github.com/github/gitignore/master/#{@target_language}.gitignore")
24
- if r.response_code == 200
12
+ r = request_url("https://raw.github.com/github/gitignore/master/#{language}.gitignore")
13
+ if r.response_code == 200
25
14
  File.open('.gitignore', 'w') do |f|
26
15
  f.write("#\n# Generating using coldshoulder - github.com/bryanmikaelian/coldshoulder\n#\n\n#{r.body_str}")
27
16
  end
28
- puts "Ignore file generated for language #{@target_language}"
17
+ puts "Ignore file generated for language #{language}"
29
18
  else
30
- puts "The gitignore file could not be generated. Ignore file for the language #{@target_language} not found"
19
+ puts "The gitignore file could not be generated. Ignore file for the language #{language} not found"
31
20
  end
32
21
  end
33
22
 
@@ -1,3 +1,3 @@
1
1
  module Coldshoulder
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.7"
3
3
  end
data/lib/coldshoulder.rb CHANGED
@@ -1,8 +1,8 @@
1
1
  require "coldshoulder/version"
2
2
  require 'coldshoulder/generator'
3
+ require 'coldshoulder/commander'
3
4
 
4
5
  module Coldshoulder
5
6
  require 'curb'
6
- require 'subcommand'
7
7
 
8
8
  end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+
3
+ describe Coldshoulder::Commander do
4
+
5
+ it 'takes in a command' do
6
+ Coldshoulder::Commander.new("generate", "Python").command.should == "generate"
7
+ end
8
+
9
+ it 'takes in a language' do
10
+ Coldshoulder::Commander.new("generate", "Ruby").language.should == "Ruby"
11
+ end
12
+
13
+ it 'drives the generation of a gitignore file' do
14
+ file = mock('file')
15
+ File.should_receive(:open).with(".gitignore", "w").and_yield(file)
16
+ file.should_receive(:write)
17
+ Coldshoulder::Commander.new("generate",'Ruby')
18
+ end
19
+
20
+ end
@@ -6,22 +6,17 @@ describe Coldshoulder::Generator do
6
6
  Coldshoulder::Generator.new.request_url('http://www.google.com').response_code.should == 200
7
7
  end
8
8
 
9
- it 'sets the target language' do
10
- c = Coldshoulder::Generator.new('Ruby')
11
- c.target_language.should == 'Ruby'
12
- end
13
-
14
9
  it 'generates a gitignore file' do
15
10
  file = mock('file')
16
11
  File.should_receive(:open).with(".gitignore", "w").and_yield(file)
17
12
  file.should_receive(:write)
18
- Coldshoulder::Generator.new('Ruby').generate
13
+ Coldshoulder::Generator.new.build('Ruby')
19
14
  end
20
15
 
21
16
  it 'does not generate a gitignore file when a bad language is provided' do
22
17
  file = mock('file')
23
18
  File.should_not_receive(:open)
24
- Coldshoulder::Generator.new('PythonRubySharp').generate
19
+ Coldshoulder::Generator.new.build('RubySharp')
25
20
  end
26
21
 
27
22
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coldshoulder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-06 00:00:00.000000000 Z
12
+ date: 2012-08-13 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Ignore those files.
15
15
  email:
@@ -27,8 +27,10 @@ files:
27
27
  - bin/coldshoulder
28
28
  - coldshoulder.gemspec
29
29
  - lib/coldshoulder.rb
30
+ - lib/coldshoulder/commander.rb
30
31
  - lib/coldshoulder/generator.rb
31
32
  - lib/coldshoulder/version.rb
33
+ - spec/commander_spec.rb
32
34
  - spec/generator_spec.rb
33
35
  - spec/spec_helper.rb
34
36
  homepage: ''
@@ -57,5 +59,6 @@ specification_version: 3
57
59
  summary: Written in Ruby, coldshoulder is a command line tool that will let you easily
58
60
  generate a gitignore file.
59
61
  test_files:
62
+ - spec/commander_spec.rb
60
63
  - spec/generator_spec.rb
61
64
  - spec/spec_helper.rb