oliver 0.1.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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: dd985f3880874826e4a7f00d7ec3a6694473d37f
4
+ data.tar.gz: 0612d7c321154b030a73e8e87d4fc89c8c92391f
5
+ SHA512:
6
+ metadata.gz: 076994fbf1e53ae047a6c67f3a871c34b955bed312c24568e5e2e2ae9d234d3dc58d0cd051598d63d42ff71f4c2c3775a98685d1504f396107e5a36191cf8f2a
7
+ data.tar.gz: 40a009fac1077aca9eeea991d31a959808d535fd92aedb081d9e748f9cd01132f56c31b916b3c285b804d0cc05579d4ca6ea161ccf07e5314960f28be1fd5c13
data/.gitignore ADDED
@@ -0,0 +1,38 @@
1
+ ############
2
+ # Ruby #
3
+ ############
4
+
5
+ *.gem
6
+ *.rbc
7
+ /.config
8
+ /coverage/
9
+ /InstalledFiles
10
+ /pkg/
11
+ /spec/reports/
12
+ /test/tmp/
13
+ /test/version_tmp/
14
+ /tmp/
15
+
16
+ ## Specific to RubyMotion:
17
+ .dat*
18
+ .repl_history
19
+ build/
20
+
21
+ ## Documentation cache and generated files:
22
+ /.yardoc/
23
+ /_yardoc/
24
+ /doc/
25
+ /rdoc/
26
+
27
+ ## Environment normalisation:
28
+ /.bundle/
29
+ /lib/bundler/man/
30
+
31
+ # for a library or gem, you might want to ignore these files since the code is
32
+ # intended to run in multiple environments; otherwise, check them in:
33
+ # Gemfile.lock
34
+ # .ruby-version
35
+ # .ruby-gemset
36
+
37
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
38
+ .rvmrc
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in ramona.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,159 @@
1
+ oliver
2
+ ======
3
+
4
+ oliver manages your local GitHub
5
+ repositories for you with a simple oliverFile.
6
+
7
+ installation
8
+ ------------
9
+
10
+ oliver is a CLI that you can install
11
+ through [RubyGems](https://rubygems.org)
12
+
13
+ ```bash
14
+ $ gem install oliver
15
+ ```
16
+
17
+ what the heck
18
+ -------------
19
+
20
+ users can then `git clone` a list of repos, easily,
21
+ and delete tracked repos as well.
22
+
23
+ think of this as a directory full of repos (that contain
24
+ `.git` directories) that can be tracked.
25
+
26
+ it's 1:05 AM right now, so this is probably just
27
+ a silly idea that doesn't actually make any sense.
28
+
29
+
30
+ idea
31
+ ----
32
+
33
+ managing an area where you keep local (cloned)
34
+ Git repos is kind of annoying, and since everybody's
35
+ making scripts and stuff to manage files, I thought
36
+ "hey, why not make one for managing local git repos?"
37
+
38
+ the plan is that the user is to have a single
39
+ directory (stored wherever they want) that contains
40
+ all of the different git repos they've cloned.
41
+
42
+ for example (I might just make a "physical"
43
+ demonstration of this in this repo):
44
+
45
+ ```
46
+ main_directory/
47
+ |- git_project_1/
48
+ |----- src/
49
+ |----- bin/
50
+ |----- lib/
51
+ |----- README.md
52
+ |
53
+ |- git_project_2/
54
+ |----- src/
55
+ |----- bin/
56
+ |----- lib/
57
+ |----- README.md
58
+ |
59
+ |- git_project_3/
60
+ |----- src/
61
+ |----- bin/
62
+ |----- lib/
63
+ |----- README.md
64
+ ```
65
+
66
+ and then, if you want to see
67
+ all of the directories that
68
+ you're tracking, you can run
69
+ `oliver list`.
70
+
71
+ you're probably thinking:
72
+ *"can't I just run `ls` inside the directory
73
+ and it'll do the same thing?"*, **and the
74
+ answer to your question is _yes_**.
75
+
76
+ I have no idea what I'm doing.
77
+
78
+ the thing that differentiates oliver with
79
+ typical things (no examples..) is that
80
+ it gives you access to the directory from
81
+ anywhere.. which you could easily do with a public
82
+ shell variable.
83
+
84
+ > I have no idea what I'm doing.
85
+
86
+
87
+ things I'm thinking so far
88
+ --------------------------
89
+
90
+ I'm not totally sure how this
91
+ is going to work. here's what I do know:
92
+
93
+ repos will be tracked and be kept in a list.
94
+ users can add a repo to the list, remove the repo,
95
+ view repos on the list and update the repo (essentially
96
+ run `git pull` on each individual repo).
97
+
98
+ docs
99
+ ----
100
+
101
+ the `olive` command will be what you use
102
+ when working with oliver, similar to how
103
+ bundler uses the `bundle` command.
104
+
105
+ ### start tracking a repo
106
+
107
+ this will add it to the tracking list
108
+
109
+ ```bash
110
+ $ olive add repo-name/
111
+ ```
112
+ ### stop tracking a repo
113
+
114
+ this will remove it from the tracking list
115
+ and locally delete the repo
116
+
117
+ ```bash
118
+ $ olive remove repo-name/
119
+ ```
120
+
121
+ ### list tracked repos
122
+
123
+ list all of the repos that're being tracked
124
+
125
+ ```bash
126
+ $ oliver list
127
+ ```
128
+
129
+ ### update (`git pull`) each repo
130
+
131
+ essentially `cd` into each individual
132
+ repo and run `git pull`
133
+
134
+ ```bash
135
+ $ oliver update
136
+ ```
137
+
138
+ extras
139
+ ======
140
+
141
+ oliver uses [rainbow](https://github.com/sickill/rainbow),
142
+ a sick gem / library for making Terminal all colourful and stuff.
143
+
144
+ it's pretty cool, but if you don't like it, just
145
+ append `colour=off` to any statement
146
+
147
+ don't forget to spell *"colour"* **the proper way**.
148
+
149
+ testing
150
+ =======
151
+
152
+ refer to [TESTING.md](https://github.com/trommel/oliver/blob/master/spec/TESTING.md).
153
+
154
+ l3g4l 0bl1g4t10n$
155
+ =================
156
+
157
+ is there even a clear idea to steal?
158
+
159
+ this is my "idea". please don't steal it.
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+
data/bin/olive ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative '../lib/oliver'
@@ -0,0 +1,3 @@
1
+ module Oliver
2
+ VERSION = "0.1.0"
3
+ end
data/lib/oliver.rb ADDED
@@ -0,0 +1,32 @@
1
+ require_relative "oliver/version"
2
+ require 'launchy'
3
+ require 'jibry'
4
+
5
+ olivefile = 'Olivefile'
6
+
7
+ if ARGV[0].nil?
8
+ puts 'dude, you need to specify some arguments.'
9
+ exit
10
+ end
11
+
12
+ def help
13
+ puts "it's 12:29 AM and I hate code."
14
+ end
15
+
16
+ def oliver_main
17
+ contents = File.read(olivefile).chomp
18
+ puts contents
19
+ end
20
+
21
+ if File.file?(olivefile)
22
+ oliver_main
23
+ else
24
+ case ARGV[0].downcase
25
+ when '-v' || '--version'
26
+ puts "oliver v#{Oliver::VERSION}"
27
+ when '-h' || '--help'
28
+ help
29
+ else
30
+ help
31
+ end
32
+ end
data/oliver.gemspec ADDED
@@ -0,0 +1,23 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/oliver/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ['Josh']
6
+ gem.email = ['joshception@icloud.com']
7
+ gem.description = %q{Local Git(Hub) made easy.}
8
+ gem.summary = %q{Manage your Git(Hub) easier.}
9
+ gem.homepage = 'https://github.com/trommel/oliver'
10
+
11
+ gem.files = `git ls-files`.split($\)
12
+ gem.executables = ['olive']
13
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
+ gem.name = 'oliver'
15
+ gem.require_paths = ['oliver']
16
+ gem.version = Oliver::VERSION
17
+
18
+ gem.add_development_dependency "bundler", "~> 1.6"
19
+ gem.add_development_dependency "rake"
20
+ gem.add_dependency 'launchy', '>= 2.4'
21
+ gem.add_dependency 'jibry', '>= 0.0.1'
22
+ gem.add_dependency 'rainbow', '>= 2.0.0'
23
+ end
data/spec/TESTING.md ADDED
@@ -0,0 +1,4 @@
1
+ testing
2
+ =======
3
+
4
+ more information on testing oliver here later :)
metadata ADDED
@@ -0,0 +1,124 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: oliver
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Josh
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-07-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.6'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: launchy
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '2.4'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '2.4'
55
+ - !ruby/object:Gem::Dependency
56
+ name: jibry
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 0.0.1
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 0.0.1
69
+ - !ruby/object:Gem::Dependency
70
+ name: rainbow
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 2.0.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 2.0.0
83
+ description: Local Git(Hub) made easy.
84
+ email:
85
+ - joshception@icloud.com
86
+ executables:
87
+ - olive
88
+ extensions: []
89
+ extra_rdoc_files: []
90
+ files:
91
+ - ".gitignore"
92
+ - Gemfile
93
+ - README.md
94
+ - Rakefile
95
+ - bin/olive
96
+ - lib/oliver.rb
97
+ - lib/oliver/version.rb
98
+ - oliver.gemspec
99
+ - spec/TESTING.md
100
+ homepage: https://github.com/trommel/oliver
101
+ licenses: []
102
+ metadata: {}
103
+ post_install_message:
104
+ rdoc_options: []
105
+ require_paths:
106
+ - oliver
107
+ required_ruby_version: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ required_rubygems_version: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ requirements: []
118
+ rubyforge_project:
119
+ rubygems_version: 2.4.0
120
+ signing_key:
121
+ specification_version: 4
122
+ summary: Manage your Git(Hub) easier.
123
+ test_files:
124
+ - spec/TESTING.md