gill 1.0.0.rc.4 → 1.0.0

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/spec/gill_spec.rb CHANGED
@@ -1,7 +1,9 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
1
+ require 'spec_helper'
2
+
3
3
  describe Gill do
4
+
4
5
  it "should define a VERSION constant" do
5
6
  Gill.should be_const_defined('VERSION')
6
7
  end
8
+
7
9
  end
data/spec/git_spec.rb ADDED
@@ -0,0 +1,47 @@
1
+ require 'spec_helper'
2
+ require "gill/gill"
3
+
4
+ describe Git do
5
+
6
+ before(:all) do
7
+ Gill.config = Settings::Config.new('/tmp')
8
+ @uri = Parse.new('git://github.com/mephux/gill.git')
9
+ @git = Git.new(@uri.category, @uri.folder, @uri.repo)
10
+ #@git.clone
11
+ end
12
+
13
+ after(:all) do
14
+ FileUtils.rm_rf('/tmp/source')
15
+ FileUtils.rm_rf('/tmp/.gillrc')
16
+ FileUtils.rm_rf('/tmp/.gillcache')
17
+ end
18
+
19
+ it "should parse the empty category name as false" do
20
+ @uri.category.should == false
21
+ end
22
+
23
+ it "should parse the folder name as gill" do
24
+ @uri.folder.should == 'gill'
25
+ end
26
+
27
+ it "should parse the repo as git://github.com/mephux/gill.git" do
28
+ @uri.repo.should == 'git://github.com/mephux/gill.git'
29
+ end
30
+
31
+ it "should have a category of misc" do
32
+ @git.category.should == 'misc'
33
+ end
34
+
35
+ it "should have a category path of /tmp/source/misc" do
36
+ @git.category_path.should == '/tmp/source/misc'
37
+ end
38
+
39
+ it "should have a repo name of gill" do
40
+ @git.repo_name.should == 'gill'
41
+ end
42
+
43
+ it "should have a repo path of /tmp/source/misc/gill" do
44
+ @git.repo_path.should == '/tmp/source/misc/gill'
45
+ end
46
+
47
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,20 @@
1
1
  require 'rubygems'
2
- gem 'rspec', '>=1.3.0'
2
+ require 'bundler'
3
+
4
+ begin
5
+ Bundler.setup(:development)
6
+ rescue Bundler::BundlerError => e
7
+ STDERR.puts e.message
8
+ STDERR.puts "Run `bundle install` to install missing gems"
9
+ exit e.status_code
10
+ end
11
+
3
12
  require 'spec'
13
+ require "gill/helper"
14
+ require "gill/config"
15
+ require "gill/parse"
16
+ require "gill/git"
4
17
 
5
18
  require 'gill/version'
6
19
 
7
- include Gill
20
+ include Gill
metadata CHANGED
@@ -1,14 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gill
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: true
4
+ prerelease: false
5
5
  segments:
6
6
  - 1
7
7
  - 0
8
8
  - 0
9
- - rc
10
- - 4
11
- version: 1.0.0.rc.4
9
+ version: 1.0.0
12
10
  platform: ruby
13
11
  authors:
14
12
  - Dustin Willis Webber
@@ -16,7 +14,7 @@ autorequire:
16
14
  bindir: bin
17
15
  cert_chain: []
18
16
 
19
- date: 2010-08-03 00:00:00 -04:00
17
+ date: 2010-08-09 00:00:00 -04:00
20
18
  default_executable: gill
21
19
  dependencies: []
22
20
 
@@ -27,22 +25,21 @@ executables:
27
25
  extensions: []
28
26
 
29
27
  extra_rdoc_files:
30
- - LICENSE.txt
28
+ - LICENSE
31
29
  - README.rdoc
32
30
  files:
33
31
  - .gitignore
34
32
  - .specopts
35
33
  - .yardopts
36
34
  - Gemfile
37
- - LICENSE.txt
35
+ - Gemfile.lock
36
+ - LICENSE
38
37
  - README.rdoc
39
38
  - Rakefile
40
39
  - bin/gill
41
- - gill.gemspec
42
40
  - lib/gill.rb
41
+ - lib/gill/cli.rb
43
42
  - lib/gill/config.rb
44
- - lib/gill/config/cache.rb
45
- - lib/gill/config/setup.rb
46
43
  - lib/gill/exceptions.rb
47
44
  - lib/gill/exceptions/argument_error.rb
48
45
  - lib/gill/exceptions/cache_error.rb
@@ -59,8 +56,9 @@ files:
59
56
  - lib/gill/parse.rb
60
57
  - lib/gill/remove.rb
61
58
  - lib/gill/version.rb
59
+ - spec/config_spec.rb
62
60
  - spec/gill_spec.rb
63
- - spec/parse_spec.rb
61
+ - spec/git_spec.rb
64
62
  - spec/spec.opts
65
63
  - spec/spec_helper.rb
66
64
  has_rdoc: yard
@@ -77,20 +75,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
77
75
  requirements:
78
76
  - - ">="
79
77
  - !ruby/object:Gem::Version
80
- hash: -3170879872428078693
78
+ hash: -3202130277375719218
81
79
  segments:
82
80
  - 0
83
81
  version: "0"
84
82
  required_rubygems_version: !ruby/object:Gem::Requirement
85
83
  none: false
86
84
  requirements:
87
- - - ">"
85
+ - - ">="
88
86
  - !ruby/object:Gem::Version
89
87
  segments:
90
- - 1
91
- - 3
92
- - 1
93
- version: 1.3.1
88
+ - 0
89
+ version: "0"
94
90
  requirements: []
95
91
 
96
92
  rubyforge_project:
@@ -99,6 +95,7 @@ signing_key:
99
95
  specification_version: 3
100
96
  summary: Gill- Git, Clone, Cleanliness.
101
97
  test_files:
98
+ - spec/config_spec.rb
102
99
  - spec/gill_spec.rb
103
- - spec/parse_spec.rb
100
+ - spec/git_spec.rb
104
101
  - spec/spec_helper.rb
data/gill.gemspec DELETED
@@ -1,79 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{gill}
8
- s.version = "1.0.0.rc.4"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Dustin Willis Webber"]
12
- s.date = %q{2010-08-03}
13
- s.default_executable = %q{gill}
14
- s.description = %q{Gill is a simple Ruby app to help keep your git clones clean and organized.}
15
- s.email = %q{dustin.webber@gmail.com}
16
- s.executables = ["gill"]
17
- s.extra_rdoc_files = [
18
- "LICENSE.txt",
19
- "README.rdoc"
20
- ]
21
- s.files = [
22
- ".gitignore",
23
- ".specopts",
24
- ".yardopts",
25
- "Gemfile",
26
- "LICENSE.txt",
27
- "README.rdoc",
28
- "Rakefile",
29
- "bin/gill",
30
- "gill.gemspec",
31
- "lib/gill.rb",
32
- "lib/gill/config.rb",
33
- "lib/gill/config/cache.rb",
34
- "lib/gill/config/setup.rb",
35
- "lib/gill/exceptions.rb",
36
- "lib/gill/exceptions/argument_error.rb",
37
- "lib/gill/exceptions/cache_error.rb",
38
- "lib/gill/exceptions/category_missing.rb",
39
- "lib/gill/exceptions/directory_error.rb",
40
- "lib/gill/exceptions/error.rb",
41
- "lib/gill/exceptions/repository_error.rb",
42
- "lib/gill/exceptions/repository_missing.rb",
43
- "lib/gill/exceptions/syntax_error.rb",
44
- "lib/gill/gill.rb",
45
- "lib/gill/git.rb",
46
- "lib/gill/helper.rb",
47
- "lib/gill/import.rb",
48
- "lib/gill/parse.rb",
49
- "lib/gill/remove.rb",
50
- "lib/gill/version.rb",
51
- "spec/gill_spec.rb",
52
- "spec/parse_spec.rb",
53
- "spec/spec.opts",
54
- "spec/spec_helper.rb"
55
- ]
56
- s.has_rdoc = %q{yard}
57
- s.homepage = %q{http://github.com/mephux/gill}
58
- s.licenses = ["MIT"]
59
- s.rdoc_options = ["--charset=UTF-8"]
60
- s.require_paths = ["lib"]
61
- s.rubygems_version = %q{1.3.7}
62
- s.summary = %q{Gill- Git, Clone, Cleanliness.}
63
- s.test_files = [
64
- "spec/gill_spec.rb",
65
- "spec/parse_spec.rb",
66
- "spec/spec_helper.rb"
67
- ]
68
-
69
- if s.respond_to? :specification_version then
70
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
71
- s.specification_version = 3
72
-
73
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
74
- else
75
- end
76
- else
77
- end
78
- end
79
-
@@ -1,75 +0,0 @@
1
- module Gill
2
- class Config
3
-
4
- module Cache
5
-
6
- # Returns the gill cache yaml file.
7
- # @return [Hash] the gill cache
8
- def cache
9
- @cache ||= find_or_create_cache
10
- end
11
-
12
- # Returns the path of the .gillcache file.
13
- # @return [String] path to the gill cache file.
14
- def cache_path
15
- @cache_path
16
- end
17
-
18
- # Find or created the gill cache file.
19
- def find_or_create_cache
20
- if File.exists?("#{@cache_path}")
21
- @cache = YAML.load_file(@cache_path)
22
- else
23
- build_cache
24
- end
25
- end
26
-
27
- # Build the inital .gillache file in the user home directory.
28
- # @return [Hash] the gill cache
29
- def build_cache
30
- new_cache = Hash.new
31
- File.open(@cache_path, 'w') do |out|
32
- YAML.dump(new_cache, out)
33
- end
34
- YAML.load_file(@cache_path)
35
- end
36
-
37
- # Rebuild cache writes updated entries to the .gillache file in the user home directory.
38
- # @param [String] path to the gill cache file
39
- # @param [String] override the default cache path in the gill configuration file.
40
- def rebuild_cache(cache, path=false)
41
- @cache_path = path if path
42
- File.open("#{@cache_path}", 'w+') do |out|
43
- YAML.dump(cache, out)
44
- end
45
- end
46
-
47
- # Checks the current gill cache file for missing entries and removes them accordingly.
48
- def cache_check!
49
-
50
- updated_cache = @cache
51
- return if updated_cache.nil?
52
-
53
- updated_cache.each do |key,value|
54
-
55
- if File.directory?("#{source_path}/#{key}")
56
- unless value.nil?
57
- value.each do |skey,svalue|
58
-
59
- unless File.directory?("#{svalue[:path]}")
60
- updated_cache[:"#{key}"].delete(:"#{skey}")
61
- end
62
-
63
- end
64
- end
65
- updated_cache.delete(:"#{key}") if updated_cache[:"#{key}"].values.empty?
66
- end
67
-
68
- end
69
-
70
- rebuild_cache(updated_cache)
71
- end
72
-
73
- end
74
- end
75
- end
@@ -1,77 +0,0 @@
1
- module Gill
2
- class Config
3
-
4
- module Setup
5
-
6
- # Returns the gill configuration.
7
- # @return [Hash] the gill configuration
8
- def config
9
- @config
10
- end
11
-
12
- # Finds or created the gill configuration file.
13
- # @return [Hash] the gill configuration file
14
- def find_or_create_config
15
-
16
- if File.exists?("#{@config_path}")
17
- find_or_create_cache
18
- @config = YAML.load_file(@config_path)
19
-
20
- unless File.exists?(@config[:default]) && File.directory?(@config[:default])
21
- Dir.mkdir(@config[:default])
22
- end
23
-
24
- build_source_folder
25
- else
26
- build_config && find_or_create_cache
27
- @config = YAML.load_file(@config_path)
28
- build_source_folder
29
- end
30
-
31
- YAML.load_file(@config_path)
32
- end
33
-
34
- # The gill configuration path.
35
- # @return [String] the gill configuration path
36
- def config_path
37
- @config_path
38
- end
39
-
40
- # The source folder path set in the gill configuration file.
41
- # @return [String] the gill source folder path.
42
- def source_path
43
- @config[:source]
44
- end
45
-
46
- def default_path
47
- @config[:default]
48
- end
49
-
50
- # Build the initial .gillrc configuration file.
51
- def build_config
52
-
53
- config = { :home => @home, :config => @config_path, :source => "#{@home}/source", :default => "#{@home}/source/misc", :cache => @cache_path }
54
-
55
- File.open(@config_path, 'w') do |out|
56
- YAML.dump(config, out)
57
- end
58
-
59
- end
60
-
61
- # Build the initial source directory configured in the .gillrc file.
62
- # The initial source directory is only created if it does not exist.
63
- def build_source_folder
64
-
65
- unless File.directory?(@config[:source])
66
-
67
- STDERR.puts "Creating Source Directory: " + "#{@config[:source]}"
68
- Dir.mkdir(@config[:source])
69
-
70
- end
71
-
72
- end
73
-
74
-
75
- end
76
- end
77
- end
data/spec/parse_spec.rb DELETED
@@ -1,37 +0,0 @@
1
- require 'gill/parse'
2
-
3
- describe Parse do
4
-
5
- before(:all) do
6
- @p = Parse.new("https://mephux@github.com/mephux/gill.git#ruby")
7
- @p1 = Parse.new("http://mephux@github.com:gill.git#ruby#gill-dev")
8
- @p2 = Parse.new("git://mephux@github.com/3/3/3/mephux/gill.git#dev")
9
- @p3 = Parse.new("mephux@github.com/gill.git#test-123")
10
- @p4 = Parse.new("mephux@127.0.0.1:gill.git#ruby/w0ot/w0ot/test#hello")
11
- end
12
-
13
- it "should grab the repository name correctly" do
14
- @p.folder.should == 'gill'
15
- @p1.folder.should == 'gill-dev'
16
- @p2.folder.should == 'gill'
17
- @p3.folder.should == 'gill'
18
- @p4.folder.should == 'hello'
19
- end
20
-
21
- it "should grab the repository uri correctly" do
22
- @p.repo.should == 'https://mephux@github.com/mephux/gill.git'
23
- @p1.repo.should == 'http://mephux@github.com:gill.git'
24
- @p2.repo.should == 'git://mephux@github.com/3/3/3/mephux/gill.git'
25
- @p3.repo.should == 'mephux@github.com/gill.git'
26
- @p4.repo.should == 'mephux@127.0.0.1:gill.git'
27
- end
28
-
29
- it "should grab the repository category name correctly" do
30
- @p.category.should == 'ruby'
31
- @p1.category.should == 'ruby'
32
- @p2.category.should == 'dev'
33
- @p3.category.should == 'test-123'
34
- @p4.category.should == 'ruby/w0ot/w0ot/test'
35
- end
36
-
37
- end