bit_player 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -0
- data/app/models/bit_player/content_module.rb +1 -1
- data/app/models/bit_player/content_provider.rb +1 -1
- data/app/models/bit_player/content_providers/form_view_provider.rb +52 -0
- data/app/models/bit_player/content_providers/slideshow_provider.rb +2 -2
- data/app/models/bit_player/content_providers/view_provider.rb +3 -3
- data/app/models/bit_player/participant_status.rb +1 -1
- data/app/models/bit_player/slide.rb +3 -1
- data/app/models/bit_player/slideshow.rb +2 -2
- data/db/migrate/20140305201300_create_bit_player_content_providers.rb +1 -1
- data/lib/bit_player/version.rb +1 -1
- data/spec/dummy/log/test.log +50 -0
- data/spec/models/bit_player/content_providers/view_provider_spec.rb +3 -3
- data/spec/models/bit_player/navigator_spec.rb +13 -5
- data/spec/models/bit_player/slide_spec.rb +11 -0
- data/spec/spec_helper.rb +2 -2
- metadata +23 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e4455d7bf8af7a7f4a309297ecaafc8d3dbd5e9
|
4
|
+
data.tar.gz: 7393b3ba91eb1256ca5029c60b6954346f4f0b0f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c58bfb616134fb1ecfebe88c9f1924b6e45ffbe4cc49d79d9979a4ab04bf0af179187f0b6a0668e3d6ab7e1f0372cf6aee8271622983b30ae4b978f71b17f4dc
|
7
|
+
data.tar.gz: 879bdf6446f42d40233c2b7211d6d9ab1f48eb74c87ff66d15d9671947f81ae856c3d0705a1b872acaab1ed5edbdc464ba34f426eb657a131d647d98d297b758
|
data/README.md
CHANGED
@@ -3,7 +3,7 @@ module BitPlayer
|
|
3
3
|
include BitPlayer::ContentProviders::ViewProvider
|
4
4
|
|
5
5
|
belongs_to :content_module,
|
6
|
-
class_name:
|
6
|
+
class_name: "BitPlayer::ContentModule",
|
7
7
|
foreign_key: :bit_player_content_module_id,
|
8
8
|
inverse_of: :content_providers
|
9
9
|
belongs_to :source_content, polymorphic: true
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module BitPlayer
|
2
|
+
module ContentProviders::FormViewProvider
|
3
|
+
def self.included(base)
|
4
|
+
base.class_eval do
|
5
|
+
def self.data_class(klass)
|
6
|
+
@source_class = klass
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.source_class
|
10
|
+
@source_class || fail("Classes inheriting from #{ self } must define a source class with `data_class <class>`")
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.show_nav_link
|
14
|
+
@show_nav_link = true
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.hide_nav_link
|
18
|
+
@show_nav_link = false
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.show_nav_link?
|
22
|
+
@show_nav_link
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.view_type(type)
|
26
|
+
unless ["new", "edit"].include?(type)
|
27
|
+
fail("view type must be one of 'new', 'edit'")
|
28
|
+
end
|
29
|
+
@view_type = type
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.get_view_type
|
33
|
+
@view_type
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def show_nav_link?
|
39
|
+
self.class.show_nav_link?
|
40
|
+
end
|
41
|
+
|
42
|
+
def template
|
43
|
+
"#{ plural_name }/#{ self.class.get_view_type }"
|
44
|
+
end
|
45
|
+
|
46
|
+
private
|
47
|
+
|
48
|
+
def plural_name
|
49
|
+
self.class.source_class.to_s.underscore.pluralize
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -6,7 +6,7 @@ module BitPlayer
|
|
6
6
|
|
7
7
|
def render_current(options)
|
8
8
|
options.view_context.render(
|
9
|
-
template:
|
9
|
+
template: "slides/show",
|
10
10
|
locals: {
|
11
11
|
slide: slide(options.position)
|
12
12
|
}
|
@@ -14,7 +14,7 @@ module BitPlayer
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def slide(position)
|
17
|
-
slideshow.slides.where(position: position).first || BitPlayer::Slide.new(body:
|
17
|
+
slideshow.slides.where(position: position).first || BitPlayer::Slide.new(body: "no slides")
|
18
18
|
end
|
19
19
|
|
20
20
|
def exists?(position)
|
@@ -7,7 +7,7 @@ module BitPlayer
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.source_class
|
10
|
-
@source_class ||
|
10
|
+
@source_class || fail("Classes inheriting from #{ self } must define a source class with `data_class <class>`")
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.show_nav_link
|
@@ -23,8 +23,8 @@ module BitPlayer
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def self.view_type(type)
|
26
|
-
unless [
|
27
|
-
|
26
|
+
unless ["show", "index"].include?(type)
|
27
|
+
fail("view type must be one of 'show', 'index'")
|
28
28
|
end
|
29
29
|
@view_type = type
|
30
30
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
module BitPlayer
|
2
2
|
class Slideshow < ActiveRecord::Base
|
3
3
|
has_many :slides,
|
4
|
-
-> { order
|
5
|
-
class_name:
|
4
|
+
-> { order "position" },
|
5
|
+
class_name: "BitPlayer::Slide",
|
6
6
|
foreign_key: :bit_player_slideshow_id,
|
7
7
|
dependent: :destroy,
|
8
8
|
inverse_of: :slideshow
|
@@ -10,7 +10,7 @@ class CreateBitPlayerContentProviders < ActiveRecord::Migration
|
|
10
10
|
t.timestamps
|
11
11
|
end
|
12
12
|
|
13
|
-
add_index :bit_player_content_providers, :bit_player_content_module_id, name:
|
13
|
+
add_index :bit_player_content_providers, :bit_player_content_module_id, name: "content_module_index"
|
14
14
|
|
15
15
|
reversible do |dir|
|
16
16
|
dir.up do
|
data/lib/bit_player/version.rb
CHANGED
data/spec/dummy/log/test.log
CHANGED
@@ -34,3 +34,53 @@
|
|
34
34
|
[1m[36m (0.3ms)[0m [1mBEGIN[0m
|
35
35
|
[1m[35mBitPlayer::ContentModule Load (2.3ms)[0m SELECT "bit_player_content_modules".* FROM "bit_player_content_modules" WHERE "bit_player_content_modules"."context" = 'a' AND "bit_player_content_modules"."position" = 1 ORDER BY "bit_player_content_modules"."id" ASC LIMIT 1
|
36
36
|
[1m[36m (0.3ms)[0m [1mROLLBACK[0m
|
37
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
38
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
39
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
40
|
+
[1m[35mBitPlayer::ContentModule Load (6.9ms)[0m SELECT "bit_player_content_modules".* FROM "bit_player_content_modules" WHERE "bit_player_content_modules"."context" = 'a' AND "bit_player_content_modules"."position" = 1 ORDER BY "bit_player_content_modules"."id" ASC LIMIT 1
|
41
|
+
[1m[36m (0.2ms)[0m [1mROLLBACK[0m
|
42
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
43
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
44
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
45
|
+
[1m[35mBitPlayer::ContentModule Load (1.8ms)[0m SELECT "bit_player_content_modules".* FROM "bit_player_content_modules" WHERE "bit_player_content_modules"."context" = 'a' AND "bit_player_content_modules"."position" = 1 ORDER BY "bit_player_content_modules"."id" ASC LIMIT 1
|
46
|
+
[1m[36m (0.3ms)[0m [1mROLLBACK[0m
|
47
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
48
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
49
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
50
|
+
[1m[35mBitPlayer::ContentModule Load (1.9ms)[0m SELECT "bit_player_content_modules".* FROM "bit_player_content_modules" WHERE "bit_player_content_modules"."context" = 'a' AND "bit_player_content_modules"."position" = 1 ORDER BY "bit_player_content_modules"."id" ASC LIMIT 1
|
51
|
+
[1m[36m (0.3ms)[0m [1mROLLBACK[0m
|
52
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
53
|
+
[1m[35m (0.4ms)[0m ROLLBACK
|
54
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
55
|
+
[1m[35mBitPlayer::ContentModule Load (1.7ms)[0m SELECT "bit_player_content_modules".* FROM "bit_player_content_modules" WHERE "bit_player_content_modules"."context" = 'a' AND "bit_player_content_modules"."position" = 1 ORDER BY "bit_player_content_modules"."id" ASC LIMIT 1
|
56
|
+
[1m[36m (0.3ms)[0m [1mROLLBACK[0m
|
57
|
+
[1m[35m (0.2ms)[0m BEGIN
|
58
|
+
[1m[36m (0.2ms)[0m [1mROLLBACK[0m
|
59
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
60
|
+
[1m[35mBitPlayer::ContentModule Load (1.8ms)[0m SELECT "bit_player_content_modules".* FROM "bit_player_content_modules" WHERE "bit_player_content_modules"."context" = 'a' AND "bit_player_content_modules"."position" = 1 ORDER BY "bit_player_content_modules"."id" ASC LIMIT 1
|
61
|
+
[1m[36m (0.3ms)[0m [1mROLLBACK[0m
|
62
|
+
[1m[35m (0.2ms)[0m BEGIN
|
63
|
+
[1m[36m (0.2ms)[0m [1mROLLBACK[0m
|
64
|
+
[1m[35m (0.1ms)[0m BEGIN
|
65
|
+
[1m[36m (0.4ms)[0m [1mROLLBACK[0m
|
66
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
67
|
+
[1m[35m (0.5ms)[0m ROLLBACK
|
68
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
69
|
+
[1m[35mBitPlayer::ContentModule Load (2.0ms)[0m SELECT "bit_player_content_modules".* FROM "bit_player_content_modules" WHERE "bit_player_content_modules"."context" = 'a' AND "bit_player_content_modules"."position" = 1 ORDER BY "bit_player_content_modules"."id" ASC LIMIT 1
|
70
|
+
[1m[36m (0.3ms)[0m [1mROLLBACK[0m
|
71
|
+
[1m[35m (0.2ms)[0m BEGIN
|
72
|
+
[1m[36m (0.3ms)[0m [1mROLLBACK[0m
|
73
|
+
[1m[36m (0.1ms)[0m [1mBEGIN[0m
|
74
|
+
[1m[35mBitPlayer::ContentModule Load (1.9ms)[0m SELECT "bit_player_content_modules".* FROM "bit_player_content_modules" WHERE "bit_player_content_modules"."context" = 'a' AND "bit_player_content_modules"."position" = 1 ORDER BY "bit_player_content_modules"."id" ASC LIMIT 1
|
75
|
+
[1m[36m (0.3ms)[0m [1mROLLBACK[0m
|
76
|
+
[1m[35m (0.2ms)[0m BEGIN
|
77
|
+
[1m[36m (0.3ms)[0m [1mROLLBACK[0m
|
78
|
+
[1m[35m (0.2ms)[0m BEGIN
|
79
|
+
[1m[36m (0.3ms)[0m [1mROLLBACK[0m
|
80
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
81
|
+
[1m[35m (0.2ms)[0m ROLLBACK
|
82
|
+
[1m[36m (0.2ms)[0m [1mBEGIN[0m
|
83
|
+
[1m[35mBitPlayer::ContentModule Load (1.7ms)[0m SELECT "bit_player_content_modules".* FROM "bit_player_content_modules" WHERE "bit_player_content_modules"."context" = 'a' AND "bit_player_content_modules"."position" = 1 ORDER BY "bit_player_content_modules"."id" ASC LIMIT 1
|
84
|
+
[1m[36m (0.3ms)[0m [1mROLLBACK[0m
|
85
|
+
[1m[35m (0.2ms)[0m BEGIN
|
86
|
+
[1m[36m (0.3ms)[0m [1mROLLBACK[0m
|
@@ -1,10 +1,10 @@
|
|
1
|
-
require
|
1
|
+
require "spec_helper"
|
2
2
|
|
3
3
|
describe BitPlayer::ContentProviders::ViewProvider do
|
4
4
|
class S; include BitPlayer::ContentProviders::ViewProvider; end
|
5
5
|
|
6
|
-
describe
|
7
|
-
it
|
6
|
+
describe ".source_class" do
|
7
|
+
it "should raise an exception when no source class has been defined" do
|
8
8
|
expect { S.source_class }.to raise_error(RuntimeError)
|
9
9
|
end
|
10
10
|
end
|
@@ -1,11 +1,19 @@
|
|
1
|
-
require
|
1
|
+
require "spec_helper"
|
2
2
|
|
3
3
|
describe BitPlayer::Navigator do
|
4
|
-
let(:status)
|
5
|
-
|
6
|
-
|
4
|
+
let(:status) do
|
5
|
+
double(
|
6
|
+
"status",
|
7
|
+
context: "a",
|
8
|
+
module_position: 1,
|
9
|
+
provider_position: 2,
|
10
|
+
content_position: 3
|
11
|
+
)
|
12
|
+
end
|
13
|
+
let(:participant) { double("participant", navigation_status: status) }
|
14
|
+
let(:view_context) { double("context", current_participant: participant) }
|
7
15
|
|
8
|
-
it
|
16
|
+
it "should render the content from the current provider" do
|
9
17
|
nav = BitPlayer::Navigator.new(participant)
|
10
18
|
expect(nav.render_current_content(view_context)).to match(/Oops/)
|
11
19
|
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe BitPlayer::Slide do
|
4
|
+
describe "#render_body" do
|
5
|
+
let(:slide) { BitPlayer::Slide.new(body: "# header") }
|
6
|
+
|
7
|
+
it "should render markdown as html" do
|
8
|
+
expect(slide.render_body).to match(/<h1>header<\/h1>/)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bit_player
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Carty-Fickes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -28,16 +28,30 @@ dependencies:
|
|
28
28
|
name: pg
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
33
|
+
version: '0.17'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.17'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: redcarpet
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.3'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
39
53
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
54
|
+
version: '2.3'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: rspec-rails
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -65,6 +79,7 @@ files:
|
|
65
79
|
- app/helpers/bit_player/application_helper.rb
|
66
80
|
- app/models/bit_player/content_module.rb
|
67
81
|
- app/models/bit_player/content_provider.rb
|
82
|
+
- app/models/bit_player/content_providers/form_view_provider.rb
|
68
83
|
- app/models/bit_player/content_providers/null.rb
|
69
84
|
- app/models/bit_player/content_providers/slideshow_provider.rb
|
70
85
|
- app/models/bit_player/content_providers/view_provider.rb
|
@@ -127,6 +142,7 @@ files:
|
|
127
142
|
- spec/dummy/README.rdoc
|
128
143
|
- spec/models/bit_player/content_providers/view_provider_spec.rb
|
129
144
|
- spec/models/bit_player/navigator_spec.rb
|
145
|
+
- spec/models/bit_player/slide_spec.rb
|
130
146
|
- spec/spec_helper.rb
|
131
147
|
homepage: https://github.com/nupmmarkbegale/bit_player
|
132
148
|
licenses: []
|
@@ -192,4 +208,5 @@ test_files:
|
|
192
208
|
- spec/dummy/README.rdoc
|
193
209
|
- spec/models/bit_player/content_providers/view_provider_spec.rb
|
194
210
|
- spec/models/bit_player/navigator_spec.rb
|
211
|
+
- spec/models/bit_player/slide_spec.rb
|
195
212
|
- spec/spec_helper.rb
|