diff options
author | Marcin Chrzanowski <m@m-chrzan.xyz> | 2021-09-12 14:17:19 +0200 |
---|---|---|
committer | Marcin Chrzanowski <m@m-chrzan.xyz> | 2021-09-12 14:17:19 +0200 |
commit | f3039744d72454e7e3b8cb1032266bcc172ce488 (patch) | |
tree | 5a92a698056e2cbec6f0b121a9ce31596e4a4581 /lib/recording.rb |
Initial commit
Diffstat (limited to 'lib/recording.rb')
-rw-r--r-- | lib/recording.rb | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/lib/recording.rb b/lib/recording.rb new file mode 100644 index 0000000..d1d7683 --- /dev/null +++ b/lib/recording.rb @@ -0,0 +1,36 @@ +class NotImplemented < Exception +end + +class Recording + def render + raise NotImplemented + end +end + +class YouTubeRecording + attr_accessor :vid + def initialize link + @vid = parse_vid link + end + + def parse_vid link + /\?v=(.{11})/.match(link)[1] + end + + def render + template = ERB.new(File.read('templates/youtube.html.erb'), trim_mode: '-') + template.result binding + end +end + +class BandcampRecording + attr_accessor :link + def initialize link + @link = link + end + + def render + template = ERB.new(File.read('templates/bandcamp.html.erb'), trim_mode: '-') + template.result binding + end +end |