trecs 0.1.11 → 0.1.12

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.
@@ -0,0 +1,10 @@
1
+ require "spec_helper"
2
+ require "recording_strategies/file_frames_strategy"
3
+
4
+ module TRecs
5
+ describe FileFramesStrategy do
6
+ context "initialization" do
7
+ skip("FileFramesStrategy")
8
+ end
9
+ end
10
+ end
@@ -4,7 +4,7 @@ require "recording_strategies/shell_command_strategy"
4
4
  module TRecs
5
5
  describe ShellCommandStrategy do
6
6
  context "shell command" do
7
- Then { skip("Test shell command") }
7
+ skip("Test shell command")
8
8
  end
9
9
  end
10
10
  end
@@ -0,0 +1,8 @@
1
+ require "spec_helper"
2
+ require "sources/tgz_source"
3
+
4
+ module TRecs
5
+ describe TgzSource do
6
+ skip("TgzSource")
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ require "spec_helper"
2
+ require "writers/json_writer"
3
+
4
+ module TRecs
5
+ describe JsonWriter do
6
+ skip("Test JsonWriter")
7
+ end
8
+ end
data/trecs.gemspec CHANGED
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  # Dependencies
23
23
  spec.add_dependency "trollop", "~> 2.0"
24
+ spec.add_dependency "minitar", "~> 0.5.4"
24
25
 
25
26
  # Development dependencies
26
27
  spec.add_development_dependency "bundler", "~> 1.6"
metadata CHANGED
@@ -1,83 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trecs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.11
4
+ version: 0.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Federico Iachetti
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-21 00:00:00.000000000 Z
11
+ date: 2014-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: trollop
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '2.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitar
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 0.5.4
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 0.5.4
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - "~>"
45
+ - - ~>
32
46
  - !ruby/object:Gem::Version
33
47
  version: '1.6'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - "~>"
52
+ - - ~>
39
53
  - !ruby/object:Gem::Version
40
54
  version: '1.6'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - ">="
59
+ - - ! '>='
46
60
  - !ruby/object:Gem::Version
47
61
  version: '0'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - ">="
66
+ - - ! '>='
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rspec
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - "~>"
73
+ - - ~>
60
74
  - !ruby/object:Gem::Version
61
75
  version: '2.12'
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - "~>"
80
+ - - ~>
67
81
  - !ruby/object:Gem::Version
68
82
  version: '2.12'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rspec-given
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - "~>"
87
+ - - ~>
74
88
  - !ruby/object:Gem::Version
75
89
  version: 3.5.4
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - "~>"
94
+ - - ~>
81
95
  - !ruby/object:Gem::Version
82
96
  version: 3.5.4
83
97
  description: Record text screencasts.
@@ -89,11 +103,11 @@ executables:
89
103
  extensions: []
90
104
  extra_rdoc_files: []
91
105
  files:
92
- - ".bundle/config"
93
- - ".gitignore"
94
- - ".rspec"
95
- - ".spec"
96
- - ".travis.yml"
106
+ - .bundle/config
107
+ - .gitignore
108
+ - .rspec
109
+ - .spec
110
+ - .travis.yml
97
111
  - Gemfile
98
112
  - Gemfile.lock
99
113
  - LICENCE.txt
@@ -103,11 +117,14 @@ files:
103
117
  - bin/trecs_record
104
118
  - doc/steps.org
105
119
  - lib/trecs.rb
120
+ - lib/trecs/frame.rb
106
121
  - lib/trecs/player.rb
107
122
  - lib/trecs/readers/json_reader.rb
108
123
  - lib/trecs/readers/yaml_store_reader.rb
109
124
  - lib/trecs/recorder.rb
125
+ - lib/trecs/recording_strategies/config_strategy.rb
110
126
  - lib/trecs/recording_strategies/custom_strategy.rb
127
+ - lib/trecs/recording_strategies/file_frames_strategy.rb
111
128
  - lib/trecs/recording_strategies/fly_from_right_strategy.rb
112
129
  - lib/trecs/recording_strategies/hash_strategy.rb
113
130
  - lib/trecs/recording_strategies/incremental_strategy.rb
@@ -117,6 +134,7 @@ files:
117
134
  - lib/trecs/recording_strategies/tmux_session_strategy.rb
118
135
  - lib/trecs/recording_strategies/ttyrec_strategy.rb
119
136
  - lib/trecs/screens/terminal_screen.rb
137
+ - lib/trecs/sources/tgz_source.rb
120
138
  - lib/trecs/tickers/clock_ticker.rb
121
139
  - lib/trecs/tickers/terminal_input_ticker.rb
122
140
  - lib/trecs/tickers/watch_file_ticker.rb
@@ -125,11 +143,6 @@ files:
125
143
  - lib/trecs/writers/json_writer.rb
126
144
  - lib/trecs/writers/yaml_store_writer.rb
127
145
  - lib/trecs/writers/zip_file_writer.rb
128
- - old_specs/player_spec.rb
129
- - old_specs/recorders/zip_file_recorder_spec.rb
130
- - old_specs/timestamps_spec.rb
131
- - old_specs/trecs_message_spec.rb
132
- - old_specs/trecs_spec.rb
133
146
  - sandbox/create_recording.rb
134
147
  - sandbox/lipsum_end
135
148
  - sandbox/lipsum_start
@@ -137,17 +150,22 @@ files:
137
150
  - sandbox/record_diff
138
151
  - sandbox/record_script_file
139
152
  - spec/spec_helper.rb
153
+ - spec/trecs/frame_spec.rb
140
154
  - spec/trecs/player_spec.rb
141
155
  - spec/trecs/readers/json_reader_spec.rb
142
156
  - spec/trecs/readers/yaml_store_reader_spec.rb
143
157
  - spec/trecs/recorder_spec.rb
158
+ - spec/trecs/recording_strategies/config_strategy_spec.rb
159
+ - spec/trecs/recording_strategies/file_frames_strategy_spec.rb
144
160
  - spec/trecs/recording_strategies/fly_from_right_strategy_spec.rb
145
161
  - spec/trecs/recording_strategies/hash_strategy_spec.rb
146
162
  - spec/trecs/recording_strategies/incremental_strategy_spec.rb
147
163
  - spec/trecs/recording_strategies/raw_file_strategy_spec.rb
148
164
  - spec/trecs/recording_strategies/shell_command_strategy_spec.rb
165
+ - spec/trecs/sources/tgz_source_spec.rb
149
166
  - spec/trecs/tickers/clock_ticker_spec.rb
150
167
  - spec/trecs/writers/in_memory_writer_spec.rb
168
+ - spec/trecs/writers/json_writer_spec.rb
151
169
  - tmp/.gitignore
152
170
  - trecs.gemspec
153
171
  homepage: ''
@@ -162,12 +180,12 @@ require_paths:
162
180
  - bin
163
181
  required_ruby_version: !ruby/object:Gem::Requirement
164
182
  requirements:
165
- - - ">="
183
+ - - ! '>='
166
184
  - !ruby/object:Gem::Version
167
185
  version: '0'
168
186
  required_rubygems_version: !ruby/object:Gem::Requirement
169
187
  requirements:
170
- - - ">="
188
+ - - ! '>='
171
189
  - !ruby/object:Gem::Version
172
190
  version: '0'
173
191
  requirements: []
@@ -175,17 +193,22 @@ rubyforge_project:
175
193
  rubygems_version: 2.2.2
176
194
  signing_key:
177
195
  specification_version: 4
178
- summary: 'TRecs: Text Recordings.'
196
+ summary: ! 'TRecs: Text Recordings.'
179
197
  test_files:
180
198
  - spec/spec_helper.rb
199
+ - spec/trecs/frame_spec.rb
181
200
  - spec/trecs/player_spec.rb
182
201
  - spec/trecs/readers/json_reader_spec.rb
183
202
  - spec/trecs/readers/yaml_store_reader_spec.rb
184
203
  - spec/trecs/recorder_spec.rb
204
+ - spec/trecs/recording_strategies/config_strategy_spec.rb
205
+ - spec/trecs/recording_strategies/file_frames_strategy_spec.rb
185
206
  - spec/trecs/recording_strategies/fly_from_right_strategy_spec.rb
186
207
  - spec/trecs/recording_strategies/hash_strategy_spec.rb
187
208
  - spec/trecs/recording_strategies/incremental_strategy_spec.rb
188
209
  - spec/trecs/recording_strategies/raw_file_strategy_spec.rb
189
210
  - spec/trecs/recording_strategies/shell_command_strategy_spec.rb
211
+ - spec/trecs/sources/tgz_source_spec.rb
190
212
  - spec/trecs/tickers/clock_ticker_spec.rb
191
213
  - spec/trecs/writers/in_memory_writer_spec.rb
214
+ - spec/trecs/writers/json_writer_spec.rb
@@ -1,198 +0,0 @@
1
- require "spec_helper"
2
-
3
- require "player"
4
- require "screens/terminal_screen"
5
-
6
- module TRecs
7
- class DummyPlayer < Player
8
- def initialize(options={})
9
- frames = options.fetch(:frames) { nil }
10
- @frames = frames.is_a?(Hash) ? frames : Array(frames)
11
- super
12
- end
13
-
14
-
15
- def get_timestamps
16
- @frames.keys
17
- end
18
-
19
- def get_frame(time)
20
- @frames[time]
21
- end
22
- end
23
-
24
- class DummyOutput
25
- def initialize
26
- @output = []
27
- end
28
-
29
- def puts(str=nil)
30
- @output << str.to_s
31
- end
32
-
33
- def clear
34
- @output << :clear_screen
35
- end
36
-
37
- def raw_output
38
- @output
39
- end
40
-
41
- def output
42
- @output.select { |f| f.is_a? String }
43
- end
44
- end
45
-
46
-
47
- describe Player do
48
- define :have_frames do |expected|
49
- match do |actual|
50
- raw_expected = expected.map { |o| [:clear_screen, o] }.flatten
51
- a = actual.raw_output == raw_expected
52
- b = actual.output == expected
53
- a && b
54
- end
55
- end
56
-
57
- def create_recording
58
- frames = {}
59
- yield frames
60
- DummyPlayer.new(frames: frames, output: output)
61
- end
62
-
63
- let(:output) { DummyOutput.new }
64
-
65
- it "reads a one frame screencast" do
66
- player = create_recording do |frames|
67
- frames[0] = "FIRST FRAME"
68
- end
69
-
70
- player.play
71
-
72
- output.should have_frames ["FIRST FRAME"]
73
- end
74
-
75
- it "returns the frame at certain time" do
76
- player = create_recording do |frames|
77
- frames[0] = "FIRST FRAME",
78
- frames[100] = "FRAME AT 100"
79
- end
80
-
81
- player.play_frame(100)
82
-
83
- output.should have_frames ["FRAME AT 100"]
84
- end
85
-
86
- it "returns the previous frame if no frame at certain time" do
87
- player = create_recording do |frames|
88
- frames[0] = "FIRST FRAME"
89
- frames[100] = "FRAME AT 100"
90
- frames[200] = "FRAME AT 200"
91
- end
92
-
93
- player.play_frame(111)
94
-
95
- output.output.should == ["FRAME AT 100"]
96
- end
97
-
98
- it "returns the last frame if asking for exceeding time" do
99
- player = create_recording do |frames|
100
- frames[0] = "FIRST FRAME"
101
- frames[100] = "FRAME AT 100"
102
- frames[200] = "FRAME AT 200"
103
- end
104
-
105
- player.play_frame(201)
106
-
107
- output.should have_frames ["FRAME AT 200"]
108
-
109
- end
110
-
111
- describe "multiple frame screencast" do
112
- it "playing two frames" do
113
- player = create_recording do |frames|
114
- frames[0] = "FIRST FRAME"
115
- frames[100] = "FRAME AT 100"
116
- end
117
-
118
- player.play
119
-
120
- output.should have_frames [
121
- "FIRST FRAME",
122
- "FRAME AT 100"
123
- ]
124
- end
125
-
126
- it "playing all the frames" do
127
- player = create_recording do |frames|
128
- frames[0] = "FIRST FRAME"
129
- frames[100] = "FRAME AT 100"
130
- frames[200] = "FRAME AT 200"
131
- end
132
-
133
- player.play
134
-
135
- output.should have_frames [
136
- "FIRST FRAME",
137
- "FRAME AT 100",
138
- "FRAME AT 200"
139
- ]
140
- end
141
-
142
- it "playing a recording" do
143
- player = create_recording do |frames|
144
- frames[0] = "FIRST FRAME"
145
- frames[100] = "FRAME AT 100"
146
- frames[200] = "FRAME AT 200"
147
- frames[301] = "FRAME AT 301"
148
- frames[499] = "FRAME AT 499"
149
- frames[599] = "FRAME AT 599"
150
- end
151
-
152
- player.play
153
-
154
- output.should have_frames [
155
- "FIRST FRAME",
156
- "FRAME AT 100",
157
- "FRAME AT 200",
158
- "FRAME AT 200",
159
- "FRAME AT 301",
160
- "FRAME AT 499",
161
- "FRAME AT 599",
162
- ]
163
- end
164
- end
165
-
166
- context "Timestamps" do
167
- it "returns all the frame timestamps" do
168
- player = create_recording do |frames|
169
- frames[0] = "FIRST FRAME"
170
- frames[100] = "FRAME AT 100"
171
- frames[200] = "FRAME AT 200"
172
- end
173
-
174
- player.timestamps.should == [0, 100, 200]
175
-
176
- end
177
-
178
- end
179
-
180
- context "output" do
181
- it "receives a Screen object to manage output" do
182
- player = Player.new(output: :output)
183
-
184
- player.output.should == :output
185
- end
186
-
187
- it "defaults to the Terminal Screen" do
188
- player = Player.new
189
-
190
- player.output.class.should == TerminalScreen
191
- end
192
-
193
- context "message ... puts ... print" do
194
- end
195
- end
196
- end
197
-
198
- end