oliver 0.1.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: 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