gitloc-jackyeh 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 +7 -0
- data/Readme.md +7 -0
- data/bin/gitloc +21 -0
- data/gitloc.gemspec +12 -0
- data/spec/acceptance_spec.rb +12 -0
- data/spec/fixtures/2loc +2 -0
- metadata +51 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f3b3bcd6b6fc26bd6235c3d8c7e4d02a76ff965e
|
4
|
+
data.tar.gz: 3e4187be2ee8175c52d8392601c2a630fdcb6f86
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 679b80dcd27e3148494142e7612f42472b03a9044a1e2fcf264340b816f650e164ac199ae69325f9ab30971f1ecb9a825f0b429a944ca2be84a4e306d906f4c2
|
7
|
+
data.tar.gz: 5900a9a765f501b60a7367344bbf7a1e2d29e565835be43d66f9d4e8329a3562a68fcb024938bda9ffeeaa527ca1f43c80dbb5b49edf1ddcea9fb9e9473be8c3
|
data/Readme.md
ADDED
data/bin/gitloc
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'tmpdir'
|
4
|
+
require 'open3'
|
5
|
+
|
6
|
+
repo = ARGV.first
|
7
|
+
|
8
|
+
Dir.mktmpdir { |dir|
|
9
|
+
Dir.chdir dir
|
10
|
+
out, err, status = Open3.capture3 'git', 'clone', repo, 'cloned'
|
11
|
+
unless status.success?
|
12
|
+
$stderr.puts out, err
|
13
|
+
exit "Failed somehow >.<"
|
14
|
+
end
|
15
|
+
Dir.chdir 'cloned'
|
16
|
+
files = Dir['**/*'].reject { |name| File.directory? name }
|
17
|
+
files.each do |filename|
|
18
|
+
loc = File.readlines(filename).count { |line| line !~ /^\s*$/ }
|
19
|
+
puts "#{loc}\t#{filename}"
|
20
|
+
end
|
21
|
+
}
|
data/gitloc.gemspec
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = 'gitloc-jackyeh'
|
3
|
+
s.version = '0.1.0'
|
4
|
+
s.licenses = ['MIT']
|
5
|
+
s.summary = "Example project -- gives lines-of-code information for a git repo"
|
6
|
+
s.description = "Example project for the Turing School of Software and Design, see https://github.com/JoshCheek/elective-building-a-gem -- gives lines-of-code information for a git repo."
|
7
|
+
s.authors = ["Jack Yeh"]
|
8
|
+
s.email = 'jack.yeh@gmail.com'
|
9
|
+
s.files = Dir["**/*"].select { |f| File.file? f }
|
10
|
+
s.homepage = 'https://github.com/JoshCheek/elective-building-a-gem'
|
11
|
+
s.executables << 'gitloc'
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'open3' # we'll use this to invoke the binary
|
2
|
+
|
3
|
+
RSpec.describe 'gitloc binary' do
|
4
|
+
let(:binpath) { File.expand_path '../../bin/gitloc', __FILE__ }
|
5
|
+
let(:repopath) { File.expand_path '../..', __FILE__ }
|
6
|
+
|
7
|
+
it 'takes a git repository and tells me how many lines of code are in each file' do
|
8
|
+
stdout, stderr, exitstatus = Open3.capture3(binpath, repopath)
|
9
|
+
expect(stdout).to match /2.*?spec\/fixtures\/2loc/
|
10
|
+
expect(exitstatus).to be_success
|
11
|
+
end
|
12
|
+
end
|
data/spec/fixtures/2loc
ADDED
metadata
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: gitloc-jackyeh
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jack Yeh
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-02-17 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: Example project for the Turing School of Software and Design, see https://github.com/JoshCheek/elective-building-a-gem
|
14
|
+
-- gives lines-of-code information for a git repo.
|
15
|
+
email: jack.yeh@gmail.com
|
16
|
+
executables:
|
17
|
+
- gitloc
|
18
|
+
extensions: []
|
19
|
+
extra_rdoc_files: []
|
20
|
+
files:
|
21
|
+
- Readme.md
|
22
|
+
- bin/gitloc
|
23
|
+
- gitloc.gemspec
|
24
|
+
- spec/acceptance_spec.rb
|
25
|
+
- spec/fixtures/2loc
|
26
|
+
homepage: https://github.com/JoshCheek/elective-building-a-gem
|
27
|
+
licenses:
|
28
|
+
- MIT
|
29
|
+
metadata: {}
|
30
|
+
post_install_message:
|
31
|
+
rdoc_options: []
|
32
|
+
require_paths:
|
33
|
+
- lib
|
34
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - ">="
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
39
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
requirements: []
|
45
|
+
rubyforge_project:
|
46
|
+
rubygems_version: 2.4.3
|
47
|
+
signing_key:
|
48
|
+
specification_version: 4
|
49
|
+
summary: Example project -- gives lines-of-code information for a git repo
|
50
|
+
test_files: []
|
51
|
+
has_rdoc:
|