trecs 0.0.2.alpha2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +13 -5
- data/.travis.yml +4 -0
- data/Gemfile.lock +1 -1
- data/lib/player.rb +5 -4
- data/lib/players/zip_file_player.rb +3 -3
- data/lib/recorder.rb +5 -3
- data/lib/recorders/message_recorder.rb +3 -3
- data/lib/recorders/raw_file_recorder.rb +10 -3
- data/lib/recorders/ttyrec_recorder.rb +10 -3
- data/lib/recorders/zip_file_recorder.rb +3 -3
- data/lib/recording_strategies/incremental_recording_strategy.rb +3 -3
- data/lib/recording_strategies/raw_file_recording_strategy.rb +7 -2
- data/lib/recording_strategy.rb +2 -2
- data/lib/trecs/version.rb +1 -1
- data/pkg/trecs-0.0.2.alpha2.gem +0 -0
- data/spec/player_spec.rb +6 -4
- data/spec/recorder_spec.rb +3 -2
- data/spec/trecs_spec.rb +7 -2
- data/spec/zip_file_recorder_spec.rb +4 -4
- metadata +24 -23
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NDJhM2IwN2MzYzlhOTFhNjNjYmY1YWRiNTExNmY2OGI4MWU3ZWNiYg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
OTk1Njk3M2RhYzJhZTFhODg5ZTBhM2IzMmZhYzI5YjcyNjY1NDQ4YQ==
|
5
7
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
ZWYxOGI0NTU1YTM3MjRkYjk5NDgxNThjZGNjOGE3YTRhMzNmMjZjMmU5NmJm
|
10
|
+
YzE0NjAwZWYyZDQxODRlMmZjYzdmMzFhZmY5NWJkNTBiYjE3NzMyNmU5Nzky
|
11
|
+
YmI3YTUxYmYwYTVkMWIyNWQ3ODYwYTM4MDZhMTM0OWYzMDcwODM=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NTQzY2U1NmM2Yjc3YjkyODdjOGU3NmQxYzY2NDE4MzFkODk5ODY4YTk2YzRl
|
14
|
+
MjA0YWM0M2ZmYTQ0OGM2ZTg3MGU0N2NlZTA5NTg4NmQ0ZTA2YzI3OGYwN2I0
|
15
|
+
Mjc4ZDQ4MGFkNzU2ZWI4ZjlkZDU3N2NhZTE5YTQ0Y2RkOTEyOTk=
|
data/.travis.yml
CHANGED
data/Gemfile.lock
CHANGED
data/lib/player.rb
CHANGED
@@ -5,12 +5,13 @@ module TRecs
|
|
5
5
|
class Player
|
6
6
|
attr_reader :output
|
7
7
|
|
8
|
-
def initialize(
|
8
|
+
def initialize(options={})
|
9
|
+
time = options.fetch(:time) { nil }
|
9
10
|
@current_time = time
|
10
|
-
@step = step
|
11
|
+
@step = options.fetch(:step) { 100 }
|
12
|
+
@output = options.fetch(:output) { TerminalScreen.new }
|
13
|
+
@testing = options.fetch(:testing) { false }
|
11
14
|
@ticks = time ? Array(time.to_i) : ticks
|
12
|
-
@output = output
|
13
|
-
@testing = testing
|
14
15
|
end
|
15
16
|
|
16
17
|
def play
|
@@ -5,13 +5,13 @@ module TRecs
|
|
5
5
|
class ZipFilePlayer < Player
|
6
6
|
include FileUtils
|
7
7
|
|
8
|
-
def initialize(
|
9
|
-
@file_name = file_name
|
8
|
+
def initialize(options={})
|
9
|
+
@file_name = options.fetch(:file_name)
|
10
10
|
|
11
11
|
create_directory
|
12
12
|
extract_file
|
13
13
|
|
14
|
-
super
|
14
|
+
super
|
15
15
|
end
|
16
16
|
|
17
17
|
# this
|
data/lib/recorder.rb
CHANGED
@@ -3,8 +3,8 @@ module TRecs
|
|
3
3
|
attr_writer :current_time
|
4
4
|
attr_reader :step
|
5
5
|
|
6
|
-
def initialize(
|
7
|
-
@step = step
|
6
|
+
def initialize(options={})
|
7
|
+
@step = options.fetch(:step) { 100 }
|
8
8
|
end
|
9
9
|
|
10
10
|
def next_timestamp
|
@@ -26,7 +26,9 @@ module TRecs
|
|
26
26
|
@current_content
|
27
27
|
end
|
28
28
|
|
29
|
-
def current_frame(
|
29
|
+
def current_frame(options={})
|
30
|
+
time = options.fetch(:time) { next_timestamp }
|
31
|
+
content = options.fetch(:content)
|
30
32
|
current_time(time)
|
31
33
|
current_content(content)
|
32
34
|
|
@@ -8,10 +8,10 @@ module TRecs
|
|
8
8
|
class MessageRecorder < ZipFileRecorder
|
9
9
|
attr_reader :message
|
10
10
|
|
11
|
-
def initialize(
|
12
|
-
@message = message
|
11
|
+
def initialize(options={})
|
12
|
+
@message = options.fetch(:message)
|
13
13
|
@recording_strategy = IncrementalRecordingStrategy.new(recorder: self, message: message)
|
14
|
-
super(
|
14
|
+
super(options)
|
15
15
|
end
|
16
16
|
|
17
17
|
end
|
@@ -5,9 +5,16 @@ require "recording_strategies/raw_file_recording_strategy"
|
|
5
5
|
|
6
6
|
module TRecs
|
7
7
|
class RawFileRecorder < ZipFileRecorder
|
8
|
-
def initialize(
|
9
|
-
|
10
|
-
|
8
|
+
def initialize(options={})
|
9
|
+
input_file = options.fetch(:input_file)
|
10
|
+
output_file = options.fetch(:output_file)
|
11
|
+
|
12
|
+
options[:recorder] = self
|
13
|
+
options[:file] = input_file
|
14
|
+
@recording_strategy = RawFileRecordingStrategy.new(options)
|
15
|
+
|
16
|
+
options[:file_name] = output_file
|
17
|
+
super(options)
|
11
18
|
end
|
12
19
|
end
|
13
20
|
end
|
@@ -5,9 +5,16 @@ require "recording_strategies/ttyrec_recording_strategy"
|
|
5
5
|
|
6
6
|
module TRecs
|
7
7
|
class TtyrecRecorder < ZipFileRecorder
|
8
|
-
def initialize(
|
9
|
-
|
10
|
-
|
8
|
+
def initialize(options={})
|
9
|
+
input_file = options.fetch(:input_file)
|
10
|
+
output_file = options.fetch(:output_file)
|
11
|
+
|
12
|
+
options[:recorder] = self
|
13
|
+
options[:file] = input_file
|
14
|
+
@recording_strategy = TtyrecRecordingStrategy.new(options)
|
15
|
+
|
16
|
+
options[:file_name] = output_file
|
17
|
+
super(options)
|
11
18
|
end
|
12
19
|
end
|
13
20
|
end
|
@@ -4,9 +4,9 @@ require "recorder"
|
|
4
4
|
module TRecs
|
5
5
|
class ZipFileRecorder < Recorder
|
6
6
|
include FileUtils
|
7
|
-
def initialize(
|
8
|
-
super(
|
9
|
-
@file_name = file_name
|
7
|
+
def initialize(options={})
|
8
|
+
super(options)
|
9
|
+
@file_name = options.fetch(:file_name)
|
10
10
|
delete_file
|
11
11
|
end
|
12
12
|
|
@@ -1,9 +1,9 @@
|
|
1
1
|
require "recording_strategy"
|
2
2
|
module TRecs
|
3
3
|
class IncrementalRecordingStrategy < RecordingStrategy
|
4
|
-
def initialize(
|
5
|
-
@message = message
|
6
|
-
super(
|
4
|
+
def initialize(options={})
|
5
|
+
@message = options.fetch(:message)
|
6
|
+
super(options)
|
7
7
|
end
|
8
8
|
|
9
9
|
def perform
|
@@ -1,10 +1,15 @@
|
|
1
1
|
require "recording_strategy"
|
2
2
|
module TRecs
|
3
3
|
class RawFileRecordingStrategy < RecordingStrategy
|
4
|
-
def initialize(
|
4
|
+
def initialize(options)
|
5
|
+
file = options.fetch(:file)
|
5
6
|
raise "File does not exist: #{file}" unless File.exist?(file)
|
6
7
|
@file = File.new(file)
|
7
|
-
|
8
|
+
|
9
|
+
@height = options.fetch(:height) { 24 }
|
10
|
+
@width = options.fetch(:width) { 80 }
|
11
|
+
@step = options.fetch(:step) { 100 }
|
12
|
+
|
8
13
|
super
|
9
14
|
end
|
10
15
|
|
data/lib/recording_strategy.rb
CHANGED
data/lib/trecs/version.rb
CHANGED
Binary file
|
data/spec/player_spec.rb
CHANGED
@@ -5,10 +5,12 @@ require "screens/terminal_screen"
|
|
5
5
|
|
6
6
|
module TRecs
|
7
7
|
class DummyPlayer < Player
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
def initialize(options={})
|
9
|
+
frames = options.fetch(:frames) { nil }
|
10
|
+
@frames = frames.is_a?(Hash) ? frames : Array(frames)
|
11
|
+
super
|
12
|
+
end
|
13
|
+
|
12
14
|
|
13
15
|
def get_timestamps
|
14
16
|
@frames.keys
|
data/spec/recorder_spec.rb
CHANGED
@@ -7,9 +7,10 @@ module TRecs
|
|
7
7
|
class DummyRecorder < Recorder
|
8
8
|
attr_reader :result
|
9
9
|
|
10
|
-
def initialize(
|
10
|
+
def initialize(options={})
|
11
|
+
frames = options.fetch(:frames) { nil }
|
11
12
|
@frames = frames.is_a?(Hash) ? frames : Array(frames)
|
12
|
-
super
|
13
|
+
super
|
13
14
|
end
|
14
15
|
|
15
16
|
def perform_recording
|
data/spec/trecs_spec.rb
CHANGED
@@ -36,7 +36,8 @@ describe "T-Recs" do
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
39
|
-
def create_recording(
|
39
|
+
def create_recording(options={})
|
40
|
+
file_name = options.fetch(:file_name) { "" }
|
40
41
|
unless File.exist?(file_name)
|
41
42
|
recording_dir = "#{File.dirname(file_name)}/frames"
|
42
43
|
rm_rf recording_dir
|
@@ -57,7 +58,11 @@ describe "T-Recs" do
|
|
57
58
|
end
|
58
59
|
end
|
59
60
|
|
60
|
-
def create_frame(
|
61
|
+
def create_frame(options={})
|
62
|
+
file_name = options.fetch(:file_name) { "" }
|
63
|
+
content = options.fetch(:content) { "" }
|
64
|
+
time = options.fetch(:time) { 0 }
|
65
|
+
|
61
66
|
File.open("#{project_dir}/frames/#{time.to_i}", File::WRONLY|File::CREAT) do |f|
|
62
67
|
f << content
|
63
68
|
end
|
@@ -9,8 +9,8 @@ module TRecs
|
|
9
9
|
class DummyRecordingStrategy
|
10
10
|
attr_reader :recorder
|
11
11
|
|
12
|
-
def initialize(
|
13
|
-
@recorder = recorder
|
12
|
+
def initialize(options={})
|
13
|
+
@recorder = options.fetch(:recorder)
|
14
14
|
end
|
15
15
|
def perform
|
16
16
|
recorder.current_frame(time: 0, content: "zero")
|
@@ -20,9 +20,9 @@ module TRecs
|
|
20
20
|
end
|
21
21
|
|
22
22
|
class DummyZipFileRecorder < ZipFileRecorder
|
23
|
-
def initialize(
|
23
|
+
def initialize(options)
|
24
24
|
@recording_strategy = DummyRecordingStrategy.new(recorder: self)
|
25
|
-
super
|
25
|
+
super
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
metadata
CHANGED
@@ -1,97 +1,97 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trecs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
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-06-
|
11
|
+
date: 2014-06-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.1.4
|
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: 1.1.4
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: trollop
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '2.0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '2.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.6'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.6'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ! '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ! '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ~>
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '2.12'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '2.12'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rspec-given
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ~>
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: 3.5.4
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ~>
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 3.5.4
|
97
97
|
description: Record text screencasts.
|
@@ -105,11 +105,11 @@ executables:
|
|
105
105
|
extensions: []
|
106
106
|
extra_rdoc_files: []
|
107
107
|
files:
|
108
|
-
-
|
109
|
-
-
|
110
|
-
-
|
111
|
-
-
|
112
|
-
-
|
108
|
+
- .bundle/config
|
109
|
+
- .gitignore
|
110
|
+
- .rspec
|
111
|
+
- .spec
|
112
|
+
- .travis.yml
|
113
113
|
- Gemfile
|
114
114
|
- Gemfile.lock
|
115
115
|
- LICENCE.txt
|
@@ -137,6 +137,7 @@ files:
|
|
137
137
|
- pkg/trecs-0.0.1.alpha.gem
|
138
138
|
- pkg/trecs-0.0.1.alpha2.gem
|
139
139
|
- pkg/trecs-0.0.2.alpha.gem
|
140
|
+
- pkg/trecs-0.0.2.alpha2.gem
|
140
141
|
- sandbox/create_recording.rb
|
141
142
|
- sandbox/lipsum_end
|
142
143
|
- sandbox/lipsum_start
|
@@ -163,20 +164,20 @@ require_paths:
|
|
163
164
|
- bin
|
164
165
|
required_ruby_version: !ruby/object:Gem::Requirement
|
165
166
|
requirements:
|
166
|
-
- -
|
167
|
+
- - ! '>='
|
167
168
|
- !ruby/object:Gem::Version
|
168
169
|
version: '0'
|
169
170
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
170
171
|
requirements:
|
171
|
-
- -
|
172
|
+
- - ! '>='
|
172
173
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
174
|
+
version: '0'
|
174
175
|
requirements: []
|
175
176
|
rubyforge_project:
|
176
177
|
rubygems_version: 2.2.2
|
177
178
|
signing_key:
|
178
179
|
specification_version: 4
|
179
|
-
summary: 'TRecs: Text Recordings.'
|
180
|
+
summary: ! 'TRecs: Text Recordings.'
|
180
181
|
test_files:
|
181
182
|
- spec/player_spec.rb
|
182
183
|
- spec/recorder_spec.rb
|