scribble_cms 0.6 → 0.7

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 417706a2e5c1f05f6907232662bea318abcf0981
4
- data.tar.gz: c18425befd5a6f054e79f47f6945128ade015d34
3
+ metadata.gz: 6eea813b6d779270fd95f07d7667801fdae47b3f
4
+ data.tar.gz: 1852321d6672d2948dd4096b81110ac07106bcaf
5
5
  SHA512:
6
- metadata.gz: db9640381f3dc7cc5d578502e5c22ca0d62d17b8174aa948a003025732b531767c1c80de84343428c93c0fdae5fe04f5157fb8caba8e6bf4075728ad8ba6c28c
7
- data.tar.gz: 18a3a823e58b39d3d80e22bef44a023da2f3873ed9bf2374c9fe7a32bc8d28284467110b237ebc178f8355829295115aad658cf6a79eac0dd32eb98919948c12
6
+ metadata.gz: a5f4d09b451abc6bfee20339e338afff0ee5482cdd38adc57c825c90b41646692b8e4cb25d385fe50ddfe77dacc9148050d90cdd12c3b2e97485e82ccbca177b
7
+ data.tar.gz: 64c93fc8640a74504a7f73ed3d30ea07f2cf944a8b78a31b255f660a18cedbb0912ce2d3de2862def9eefa42cc906c07469b7419b33c22c08637ef1bb269e9f1
@@ -1,5 +1,5 @@
1
1
  module ScribblerContentHelper
2
-
2
+
3
3
  def scribbler_container(container_name, options = {}, &block)
4
4
  container_name = "#{container_name}-#{options[:element].page.name}-#{options[:element].id}" if options[:element]
5
5
  q = {:name => container_name, :scaleable => (options[:scaleable].nil? ? false : options[:scaleable]), :element_id => (options[:element] ? options[:element].id : nil)}
@@ -7,28 +7,28 @@ module ScribblerContentHelper
7
7
  container.update_attributes(:scaleable => options[:scaleable]) if options[:scaleable] && container.scaleable != options[:scaleable]
8
8
  yield(container)
9
9
  end
10
-
10
+
11
11
  def scribbler_group(container, group, &block)
12
12
  scribbler_container(container) do |c|
13
13
  c.scribbler_group(group) do |g|
14
14
  yield(g)
15
- end
16
- end
15
+ end
16
+ end
17
17
  end
18
-
18
+
19
19
  def scribbler_element(container, group, type, name, options = {}, &block)
20
20
  if block_given?
21
21
  options[:default] = capture(&block).html_safe.strip.force_encoding("UTF-8")
22
- end
23
-
22
+ end
23
+
24
24
  scribbler_group(container.to_s, group.to_s) do |g|
25
25
  v = g.send(type.to_s, name.to_s, options)
26
26
  if v.blank? && options[:default]
27
27
  options[:default]
28
- else
28
+ else
29
29
  return v
30
- end
30
+ end
31
31
  end
32
- end
33
-
34
- end
32
+ end
33
+
34
+ end
@@ -1,10 +1,10 @@
1
1
  module Scribbler
2
2
  class Engine < Rails::Engine
3
-
3
+
4
4
  engine_name 'scribbler'
5
-
5
+
6
6
  initializer "dragonfly.scribbler" do
7
-
7
+
8
8
  # Pictures
9
9
  Dragonfly.app(:scribbler).configure do
10
10
  plugin :imagemagick
@@ -12,9 +12,8 @@ module Scribbler
12
12
  url_format "/s/static/pictures/:job/:name.:format"
13
13
  secret Digest::SHA1.hexdigest(Rails.root.to_s)
14
14
  end
15
-
16
-
17
- end
18
-
15
+ end
16
+
19
17
  end
20
- end
18
+ end
19
+
@@ -0,0 +1,36 @@
1
+ class ScribblerContentCreator
2
+
3
+ include ::ScribblerContentHelper
4
+
5
+ attr_reader :scribbler_element_instance
6
+
7
+ def initialize(container_name, group_name, type, name)
8
+ scribbler_element(container_name, group_name, type, name)
9
+
10
+ # find what the element is, by searching throug the levels of scribbler
11
+ container = ScribblerContainer.find_by_name(container_name)
12
+ group = ScribblerGroup.find_by(name: group_name, container_id: container.id)
13
+ opts = { name: name, released: true, group_id: group.id }
14
+ element_type = case type.to_sym
15
+ when :link
16
+ ScribblerLink
17
+ when :row
18
+ opts.merge!(plain: true)
19
+ ScribblerText
20
+ when :text
21
+ opts.merge!(plain: false)
22
+ ScribblerText
23
+ when :image
24
+ ScribblerImage
25
+ when :var
26
+ ScribblerVar
27
+ end
28
+
29
+ @scribbler_element_instance = element_type.find_by(opts)
30
+ end
31
+
32
+ def update_instance!(data = {})
33
+ @scribbler_element_instance.update_attributes(data)
34
+ end
35
+
36
+ end
data/lib/scribble_cms.rb CHANGED
@@ -1,26 +1,27 @@
1
1
  require "scribble_cms/engine"
2
- require 'scribble_cms/scribbler_controller_plugin'
2
+ require 'scribble_cms/scribbler_controller_plugin'
3
3
  require 'scribble_cms/scribbler_element_setup'
4
+
4
5
  require 'dragonfly'
5
6
  require "smart_search"
6
7
 
7
8
  module ScribbleCms
8
9
  mattr_accessor :tiny_mce_css, :tiny_mce_js
9
-
10
+
10
11
  self.tiny_mce_css = "default_tinymce"
11
12
  self.tiny_mce_js = "Alchemy.Tinymce.initAll();"
12
- end
13
+ end
13
14
 
14
15
  ActionController::Base.send(:include, ScribbleCms::ScribblerControllerPlugin)
15
16
 
16
17
  String.class_eval do
17
-
18
+
18
19
  def replace_scribbler_vars(vars = {})
19
20
  r = self
20
21
  vars.each do |var_name, var_content|
21
22
  r = r.gsub("*#{var_name}*", var_content.to_s)
22
23
  end
23
- return r
24
- end
25
-
26
- end
24
+ return r
25
+ end
26
+
27
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scribble_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.6'
4
+ version: '0.7'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Eck
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-23 00:00:00.000000000 Z
11
+ date: 2016-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: friendly_extensions
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.2'
19
+ version: 0.2.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
- version: '0.2'
26
+ version: 0.2.4
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: dragonfly
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.0.78
47
+ version: 0.0.79
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.0.78
54
+ version: 0.0.79
55
55
  description: Easy-to-use tool for placing user-editable content in your pages
56
56
  email:
57
57
  - florian.eck@el-digital.de
@@ -89,6 +89,7 @@ files:
89
89
  - db/migrate/20140313012637_create_scribblers.rb
90
90
  - lib/scribble_cms.rb
91
91
  - lib/scribble_cms/engine.rb
92
+ - lib/scribble_cms/scribbler_content_creator.rb
92
93
  - lib/scribble_cms/scribbler_controller_plugin.rb
93
94
  - lib/scribble_cms/scribbler_element_setup.rb
94
95
  homepage: http://www.el-digital.de
@@ -110,7 +111,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
111
  version: '0'
111
112
  requirements: []
112
113
  rubyforge_project:
113
- rubygems_version: 2.4.6
114
+ rubygems_version: 2.4.5.1
114
115
  signing_key:
115
116
  specification_version: 4
116
117
  summary: Easy-to-use tool for placing user-editable content in your pages