yetty 0.1.0 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/yetty/site/app.rb +37 -8
- data/lib/yetty/site/views/embed.haml +20 -0
- data/lib/yetty/site/views/embed_layout.haml +14 -0
- data/lib/yetty/version.rb +1 -1
- data/yetty.gemspec +4 -1
- metadata +48 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 33e9ad7c97659b85bbfbd10bd7f7a1e2fedd8950
|
4
|
+
data.tar.gz: 3197ddd3065ebd4ae72f4a8cb2873db197e97620
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f433cb7a4ef52eb74f717e649819c3bf34d2ec5920ca4f182730b63cd35acefadbf4074f46f963ec2250f3c104d053af72fdcf9fb79e38f9164c838262df60a
|
7
|
+
data.tar.gz: 072f2017f1dd174f28aa3e672926dd8a40bd10e95b5b568b154d4bbe4767bd161a83451470f649f054e4c2e6221ef441be8e7ae7406001daa50a21da787d428c
|
data/CHANGELOG.md
CHANGED
data/lib/yetty/site/app.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'base64'
|
2
|
+
require 'bogo'
|
2
3
|
require 'sinatra/base'
|
3
4
|
|
4
5
|
module Yetty
|
@@ -6,18 +7,30 @@ module Yetty
|
|
6
7
|
# Web UI
|
7
8
|
class App < Sinatra::Base
|
8
9
|
|
10
|
+
include Bogo::Memoization
|
11
|
+
|
12
|
+
set :protection, :except => :frame_options
|
13
|
+
|
14
|
+
def config
|
15
|
+
memoize(:config, :direct) do
|
16
|
+
path = ENV['YETTY_SITE_CONFIG']
|
17
|
+
unless(path)
|
18
|
+
path = Command::DEFAULT_CONFIGURATION_FILES.detect do |check|
|
19
|
+
full_check = File.expand_path(check)
|
20
|
+
File.exists?(full_check)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
MultiJson.load(File.read(path)).to_smash
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
9
27
|
def bucket
|
10
28
|
storage = Miasma.api(
|
11
29
|
:type => :storage,
|
12
|
-
:provider => :
|
13
|
-
:credentials =>
|
14
|
-
:aws_access_key_id => ENV['MIASMA_AWS_ACCESS_KEY_ID'],
|
15
|
-
:aws_secret_access_key => ENV['MIASMA_AWS_SECRET_ACCESS_KEY'],
|
16
|
-
:aws_region => ENV['MIASMA_AWS_REGION'],
|
17
|
-
:aws_bucket_region => 'us-west-2'
|
18
|
-
}
|
30
|
+
:provider => config.get(:site, :storage, :provider),
|
31
|
+
:credentials => config.get(:site, :storage, :credentials)
|
19
32
|
)
|
20
|
-
|
33
|
+
storage.buckets.get(config.get(:site, :storage, :bucket))
|
21
34
|
end
|
22
35
|
|
23
36
|
set :public_folder, File.join(File.dirname(__FILE__), 'static')
|
@@ -45,6 +58,22 @@ module Yetty
|
|
45
58
|
)
|
46
59
|
end
|
47
60
|
|
61
|
+
get '/embed/:info' do
|
62
|
+
rec_path = Base64.urlsafe_decode64(params[:info])
|
63
|
+
user, state, name = rec_path.split('/')
|
64
|
+
rec_url = bucket.files.get(rec_path).url
|
65
|
+
haml(
|
66
|
+
:embed,
|
67
|
+
:layout => :embed_layout,
|
68
|
+
:locals => {
|
69
|
+
:user => user,
|
70
|
+
:state => state,
|
71
|
+
:name => name,
|
72
|
+
:url => rec_url
|
73
|
+
}
|
74
|
+
)
|
75
|
+
end
|
76
|
+
|
48
77
|
get '/users' do
|
49
78
|
file = bucket.files.get('userlist.json')
|
50
79
|
users = file ? MultiJson.load(file.body.readpartial).to_smash[:users] : []
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#player
|
2
|
+
.header= name
|
3
|
+
#term
|
4
|
+
.progress
|
5
|
+
.progress-bar.progress-info.progress-striped.bar
|
6
|
+
%nav.controls
|
7
|
+
%li.sc-button.action-toggle{'data-action' => 'play'}
|
8
|
+
%span.glyphicon.glyphicon-play
|
9
|
+
%li.speed-container
|
10
|
+
%input.speed{type: 'text', value: '2.5'}
|
11
|
+
%input.cmdline{:hidden => 'hidden'}
|
12
|
+
|
13
|
+
:javascript
|
14
|
+
jQuery(function(){
|
15
|
+
window.term = new Terminal(80, 24);
|
16
|
+
window.term.id = 1;
|
17
|
+
term.open(document.getElementById('term'));
|
18
|
+
window.player = new VT.Player(term);
|
19
|
+
window.player.load('#{url}');
|
20
|
+
});
|
@@ -0,0 +1,14 @@
|
|
1
|
+
!!! 5
|
2
|
+
%html
|
3
|
+
%head
|
4
|
+
%title= "Yetty - [#{@title || '-'}]"
|
5
|
+
%link{:type => 'text/css', :rel => 'stylesheet', :href => '/css/styles.css'}
|
6
|
+
%link{:type => 'text/css', :rel => 'stylesheet', :href => '/css/player.css'}
|
7
|
+
%link{:type => 'text/css', :rel => 'stylesheet', :href => '/css/fd-slider.css'}
|
8
|
+
%script{:type => 'text/javascript', :src => '/js/jquery-2.1.1.min.js'}
|
9
|
+
%script{:type => 'text/javascript', :src => '/js/bootstrap.min.js'}
|
10
|
+
%script{:type => 'text/javascript', :src => '/js/player/fd-slider.min.js'}
|
11
|
+
%script{:type => 'text/javascript', :src => '/js/player/term.js'}
|
12
|
+
%script{:type => 'text/javascript', :src => '/js/player/player.js'}
|
13
|
+
%body.embed{:style => 'background-image: none; background-color: white;'}
|
14
|
+
= yield
|
data/lib/yetty/version.rb
CHANGED
data/yetty.gemspec
CHANGED
@@ -13,9 +13,12 @@ Gem::Specification.new do |s|
|
|
13
13
|
s.add_dependency 'miasma'
|
14
14
|
s.add_dependency 'sinatra'
|
15
15
|
s.add_dependency 'haml'
|
16
|
-
s.add_dependency 'slop'
|
16
|
+
s.add_dependency 'slop', '~> 3.0'
|
17
17
|
s.add_dependency 'paint'
|
18
18
|
s.add_dependency 'shelr'
|
19
|
+
s.add_dependency 'compass'
|
20
|
+
s.add_dependency 'bootstrap-sass'
|
21
|
+
s.add_dependency 'bogo'
|
19
22
|
s.executables << 'yetty'
|
20
23
|
s.files = Dir['{lib,bin}/**/**/*'] + %w(yetty.gemspec README.md CHANGELOG.md LICENSE)
|
21
24
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yetty
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Roberts
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-01-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: miasma
|
@@ -54,6 +54,20 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: slop
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: paint
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
73
|
- - ">="
|
@@ -67,7 +81,7 @@ dependencies:
|
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
84
|
+
name: shelr
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
87
|
- - ">="
|
@@ -81,7 +95,35 @@ dependencies:
|
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
98
|
+
name: compass
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: bootstrap-sass
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: bogo
|
85
127
|
requirement: !ruby/object:Gem::Requirement
|
86
128
|
requirements:
|
87
129
|
- - ">="
|
@@ -140,6 +182,8 @@ files:
|
|
140
182
|
- lib/yetty/site/static/sounds/nyanlooped.mp3
|
141
183
|
- lib/yetty/site/static/sounds/nyanslow.mp3
|
142
184
|
- lib/yetty/site/views/about.haml
|
185
|
+
- lib/yetty/site/views/embed.haml
|
186
|
+
- lib/yetty/site/views/embed_layout.haml
|
143
187
|
- lib/yetty/site/views/index.haml
|
144
188
|
- lib/yetty/site/views/layout.haml
|
145
189
|
- lib/yetty/site/views/recording.haml
|