git_presenter 0.4.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,12 +4,12 @@ describe GitPresenter::Slide do
4
4
  context "when displaying as string" do
5
5
  it "should write out the commit id and the message" do
6
6
  slide = GitPresenter::Slide.new({"commit" => "012345678901234567890","message" => "message"})
7
- slide.to_s.should eql "0123456789, message"
7
+ expect(slide.to_s).to eql "0123456789, message"
8
8
  end
9
9
 
10
10
  it "should not blow up if no command exists" do
11
11
  slide = GitPresenter::Slide.new({"run" => "echo hello world"})
12
- slide.to_s.should eql "run: echo hello world"
12
+ expect(slide.to_s).to eql "run: echo hello world"
13
13
  end
14
14
  end
15
15
 
@@ -18,7 +18,7 @@ describe GitPresenter::Slide do
18
18
  it "should run that command" do
19
19
  command_line_helper = CommandLineHelper.capture_output
20
20
  slide = GitPresenter::Slide.new({"run" => "echo hello world"})
21
- slide.execute.strip.should eql "hello world"
21
+ expect(slide.execute.strip).to eql "hello world"
22
22
  end
23
23
  end
24
24
 
@@ -27,24 +27,24 @@ describe GitPresenter::Slide do
27
27
  command_line_helper = CommandLineHelper.capture_output
28
28
  slide = GitPresenter::Slide.new({"commit" => "number", "message" => "checkout", "run" => "echo hello world"})
29
29
  slide.stub(:checkout).and_return("checkout\n")
30
- slide.execute.should eql "checkout\nhello world\n"
30
+ expect(slide.execute).to eql "checkout\nhello world\n"
31
31
  end
32
32
  end
33
33
 
34
34
  context "when slide contains a launch command" do
35
35
  it "should launch the application for the file type" do
36
36
  command_line_helper = CommandLineHelper.capture_output
37
- Launchy.should_receive(:open).with("readme").once
37
+ expect(Launchy).to receive(:open).with("readme").once
38
38
  slide = GitPresenter::Slide.new({"launch" => "readme"})
39
39
  slide.execute
40
40
  end
41
41
 
42
42
  it "should not try and launch if no launch supplied" do
43
43
  command_line_helper = CommandLineHelper.capture_output
44
- Launchy.should_receive(:open).with("readme").never
44
+ expect(Launchy).to receive(:open).with("readme").never
45
45
  slide = GitPresenter::Slide.new({"commit" => "number", "message" => "checkout", "run" => "echo hello world"})
46
46
  slide.stub(:checkout).and_return("checkout\n")
47
- slide.execute.should eql "checkout\nhello world\n"
47
+ expect(slide.execute).to eql "checkout\nhello world\n"
48
48
  end
49
49
  end
50
50
 
@@ -53,7 +53,7 @@ describe GitPresenter::Slide do
53
53
  command_line_helper = CommandLineHelper.capture_output
54
54
  slide = GitPresenter::Slide.new({"commit" => "number", "message" => "checkout"})
55
55
  slide.stub(:checkout).and_return("checkout\n")
56
- slide.execute.should eql "checkout\n"
56
+ expect(slide.execute).to eql "checkout\n"
57
57
  end
58
58
  end
59
59
  end
@@ -16,10 +16,10 @@ class GitHelper
16
16
  content = ('a'..'z').to_a
17
17
  Dir.mkdir(presentation_dir)
18
18
  Dir.chdir(presentation_dir) do
19
- @git_repo = Grit::Repo.init(".")
19
+ @git_repo = Git.init(".")
20
20
  (1..no_of_commits).each do |n|
21
- edit_file_and_commit("commit number #{n}", content[n])
22
- commits << @git_repo.commits[0]
21
+ commit = edit_file_and_commit("commit number #{n}", content[n])
22
+ commits << commit
23
23
  #need to make it sleep for a second.
24
24
  #git is not accurate enough with the speed of the test
25
25
  #to sort correctly only when required
@@ -40,7 +40,7 @@ class GitHelper
40
40
  edit_file(content)
41
41
  @git_repo.add(".")
42
42
  @git_repo.commit_all(commit_message)
43
- @git_repo.commits[0]
43
+ @git_repo.log.to_a[0]
44
44
  end
45
45
 
46
46
  def setup_presentation_file(commits)
@@ -56,7 +56,7 @@ class GitHelper
56
56
  end
57
57
 
58
58
  def head_position
59
- File.open(@presentation_dir + '/.git/HEAD').lines.first.strip
59
+ File.open(@presentation_dir + '/.git/HEAD').each_line.first.strip
60
60
  end
61
61
 
62
62
  def initialise_presentation(params={})
@@ -71,12 +71,17 @@ class GitHelper
71
71
  commits
72
72
  end
73
73
 
74
- def start_presentation(commands=[])
74
+ def start_presentation(commands=[], start_slide=0)
75
75
  commits = initialise_presentation({:delay => true})
76
76
  Dir.chdir(@presentation_dir) do
77
77
  add_commands(commands) unless commands.empty?
78
+ if start_slide != 0
79
+ `git checkout -q #{commits[start_slide]}`
80
+ end
78
81
  presenter = GitPresenter.new('.', false)
79
- presenter = presenter.execute('start')
82
+ if start_slide == 0
83
+ presenter = presenter.execute('start')
84
+ end
80
85
  yield(commits, presenter) if block_given?
81
86
  end
82
87
  end
@@ -143,8 +148,8 @@ class GitHelper
143
148
 
144
149
  def current_branch
145
150
  Dir.chdir(PRESENTATION_DIR) do
146
- repo = Grit::Repo.init('.')
147
- repo.head
151
+ repo = Git.open('.')
152
+ repo.current_branch
148
153
  end
149
154
  end
150
155
 
metadata CHANGED
@@ -1,104 +1,99 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git_presenter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
5
- prerelease:
4
+ version: 1.4.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Colin Gemmell
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-07-10 00:00:00.000000000 Z
11
+ date: 2021-05-01 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: grit
16
- requirement: &70174479333640 !ruby/object:Gem::Requirement
17
- none: false
14
+ name: git
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ~>
17
+ - - '='
20
18
  - !ruby/object:Gem::Version
21
- version: '2.4'
19
+ version: 1.8.1
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *70174479333640
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 1.8.1
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: launchy
27
- requirement: &70174478378360 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
- - - ~>
31
+ - - '='
31
32
  - !ruby/object:Gem::Version
32
- version: '2.1'
33
+ version: 2.5.0
33
34
  type: :runtime
34
35
  prerelease: false
35
- version_requirements: *70174478378360
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 2.5.0
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: pry
38
- requirement: &70174478379800 !ruby/object:Gem::Requirement
39
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
40
44
  requirements:
41
- - - ! '>='
45
+ - - '='
42
46
  - !ruby/object:Gem::Version
43
- version: '0'
47
+ version: 0.14.1
44
48
  type: :development
45
49
  prerelease: false
46
- version_requirements: *70174478379800
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '='
53
+ - !ruby/object:Gem::Version
54
+ version: 0.14.1
47
55
  - !ruby/object:Gem::Dependency
48
56
  name: rspec
49
- requirement: &70174478381240 !ruby/object:Gem::Requirement
50
- none: false
57
+ requirement: !ruby/object:Gem::Requirement
51
58
  requirements:
52
- - - ~>
59
+ - - '='
53
60
  - !ruby/object:Gem::Version
54
- version: '2.7'
61
+ version: 3.10.0
55
62
  type: :development
56
63
  prerelease: false
57
- version_requirements: *70174478381240
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 3.10.0
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: bundler
60
- requirement: &70174478382680 !ruby/object:Gem::Requirement
61
- none: false
71
+ requirement: !ruby/object:Gem::Requirement
62
72
  requirements:
63
- - - ! '>='
73
+ - - '='
64
74
  - !ruby/object:Gem::Version
65
- version: '0'
75
+ version: 2.2.3
66
76
  type: :development
67
77
  prerelease: false
68
- version_requirements: *70174478382680
69
- - !ruby/object:Gem::Dependency
70
- name: jeweler
71
- requirement: &70174478385540 !ruby/object:Gem::Requirement
72
- none: false
78
+ version_requirements: !ruby/object:Gem::Requirement
73
79
  requirements:
74
- - - ~>
80
+ - - '='
75
81
  - !ruby/object:Gem::Version
76
- version: '1.6'
77
- type: :development
78
- prerelease: false
79
- version_requirements: *70174478385540
82
+ version: 2.2.3
80
83
  - !ruby/object:Gem::Dependency
81
- name: rcov
82
- requirement: &70174478954780 !ruby/object:Gem::Requirement
83
- none: false
84
+ name: jeweler
85
+ requirement: !ruby/object:Gem::Requirement
84
86
  requirements:
85
- - - ~>
87
+ - - '='
86
88
  - !ruby/object:Gem::Version
87
- version: '0.9'
89
+ version: 2.3.5
88
90
  type: :development
89
91
  prerelease: false
90
- version_requirements: *70174478954780
91
- - !ruby/object:Gem::Dependency
92
- name: pry
93
- requirement: &70174478102720 !ruby/object:Gem::Requirement
94
- none: false
92
+ version_requirements: !ruby/object:Gem::Requirement
95
93
  requirements:
96
- - - ! '>='
94
+ - - '='
97
95
  - !ruby/object:Gem::Version
98
- version: '0'
99
- type: :development
100
- prerelease: false
101
- version_requirements: *70174478102720
96
+ version: 2.3.5
102
97
  description: Code presentation tool using git
103
98
  email: pythonandchips@gmail.com
104
99
  executables:
@@ -108,8 +103,8 @@ extra_rdoc_files:
108
103
  - LICENSE.txt
109
104
  - README.markdown
110
105
  files:
111
- - .rspec
112
- - .travis.yml
106
+ - ".rspec"
107
+ - ".travis.yml"
113
108
  - Gemfile
114
109
  - Gemfile.lock
115
110
  - LICENSE.txt
@@ -121,6 +116,7 @@ files:
121
116
  - lib/git_presenter.rb
122
117
  - lib/git_presenter/controller.rb
123
118
  - lib/git_presenter/presentation.rb
119
+ - lib/git_presenter/shell.rb
124
120
  - lib/git_presenter/slide.rb
125
121
  - spec/bugs/max_10_commits_being_parsed_spec.rb
126
122
  - spec/integration/initialize_presentation_spec.rb
@@ -136,29 +132,24 @@ files:
136
132
  homepage: http://github.com/pythonandchips/git-presenter
137
133
  licenses:
138
134
  - MIT
135
+ metadata: {}
139
136
  post_install_message:
140
137
  rdoc_options: []
141
138
  require_paths:
142
139
  - lib
143
140
  required_ruby_version: !ruby/object:Gem::Requirement
144
- none: false
145
141
  requirements:
146
- - - ! '>='
142
+ - - ">="
147
143
  - !ruby/object:Gem::Version
148
144
  version: '0'
149
- segments:
150
- - 0
151
- hash: -3910658736089827662
152
145
  required_rubygems_version: !ruby/object:Gem::Requirement
153
- none: false
154
146
  requirements:
155
- - - ! '>='
147
+ - - ">="
156
148
  - !ruby/object:Gem::Version
157
149
  version: '0'
158
150
  requirements: []
159
- rubyforge_project:
160
- rubygems_version: 1.8.15
151
+ rubygems_version: 3.2.3
161
152
  signing_key:
162
- specification_version: 3
153
+ specification_version: 4
163
154
  summary: Code presentation tool using git
164
155
  test_files: []