sidebar-engine 0.0.1 → 0.0.2
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.
- data/CHANGELOG +2 -0
- data/lib/scene_sidebar.rb +5 -1
- data/lib/sidebar.rb +11 -1
- data/lib/sidebar_helper.rb +16 -5
- data/sidebar-engine.gemspec +1 -1
- metadata +2 -2
data/CHANGELOG
CHANGED
data/lib/scene_sidebar.rb
CHANGED
@@ -1,8 +1,12 @@
|
|
1
|
+
#encoding: utf-8
|
1
2
|
class SceneSidebar
|
2
3
|
include Mongoid::Document
|
3
4
|
field :name, :type => String
|
4
5
|
field :description, :type => String
|
5
|
-
|
6
|
+
has_and_belongs_to_many :sidebars
|
7
|
+
|
8
|
+
validates_presence_of :name
|
9
|
+
validates_uniqueness_of :name
|
6
10
|
|
7
11
|
class << self
|
8
12
|
def parse_scene(scence)
|
data/lib/sidebar.rb
CHANGED
@@ -1,9 +1,15 @@
|
|
1
|
+
#encoding: utf-8
|
1
2
|
class Sidebar
|
2
3
|
include Mongoid::Document
|
4
|
+
|
5
|
+
field :name, :type => String
|
3
6
|
field :description, :type => String
|
4
7
|
field :display_name, :type => String
|
5
8
|
field :config, :type=>Hash,:default=>{}
|
6
|
-
|
9
|
+
has_and_belongs_to_many :scene_sidebars
|
10
|
+
|
11
|
+
validates_presence_of :name
|
12
|
+
validates_uniqueness_of :name
|
7
13
|
|
8
14
|
class ParamField
|
9
15
|
attr_accessor :key
|
@@ -124,6 +130,10 @@ class Sidebar
|
|
124
130
|
|
125
131
|
|
126
132
|
class << self
|
133
|
+
def parse_sidebar(sidebar)
|
134
|
+
self.find_by :name => sidebar.to_s
|
135
|
+
end
|
136
|
+
|
127
137
|
def setting(key, default=nil, options = { })
|
128
138
|
return if instance_methods.include?(key.to_s)
|
129
139
|
param_fields << ParamField.build(key.to_s, default, options)
|
data/lib/sidebar_helper.rb
CHANGED
@@ -1,22 +1,33 @@
|
|
1
1
|
module SidebarHelper
|
2
|
+
#==render scene sidebars
|
3
|
+
# params:
|
4
|
+
# +scene+ scene name
|
2
5
|
def render_scene_sidebars(scene)
|
3
6
|
scene_htmls = []
|
4
7
|
begin
|
5
8
|
@scene = SceneSidebar.parse_scene(scene)
|
6
9
|
if @scene
|
7
10
|
@scene.sidebars.each do |sb|
|
8
|
-
sb.parse_request(params,content_hash,controller.current_user)
|
9
11
|
scene_htmls << render_sidebar(sb)
|
10
12
|
end
|
11
13
|
end
|
12
14
|
end
|
13
|
-
scene_htmls.join
|
15
|
+
scene_htmls.join.html_safe
|
14
16
|
end
|
15
17
|
|
16
|
-
|
17
|
-
|
18
|
+
#==render_sidebar
|
19
|
+
# params:
|
20
|
+
# +sidebar+ Sidebar instance or sidebar name
|
21
|
+
# +current_user+ sidebar of current_user, default controller.current_user
|
22
|
+
# +options+ optional parameters
|
23
|
+
def render_sidebar(sidebar,current_user=controller.current_user,options={})
|
24
|
+
sidebar = sidebar.is_a?(Sidebar) ? sidebar : Sidebar.parse_sidebar(sidebar)
|
25
|
+
if sidebar
|
26
|
+
sidebar.parse_request(params,content_hash,current_user)
|
27
|
+
render_to_string(:partial => sidebar.content_partial,
|
18
28
|
:locals => sidebar.to_locals_hash,
|
19
|
-
:layout => false)
|
29
|
+
:layout => false).html_safe
|
30
|
+
end
|
20
31
|
end
|
21
32
|
|
22
33
|
# get controller instance variables
|
data/sidebar-engine.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidebar-engine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-05-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mongoid
|