git_presenter 0.4.0 → 1.4.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.
@@ -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: []