refinerycms-copywriting 1.0.6 → 1.0.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,11 +1,14 @@
1
1
  module CopywritingHelper
2
2
 
3
3
  def copywriting(name, options = {}, &block)
4
+ options = @copywriting_options.merge(options) if @copywriting_options
4
5
  options[:default] = block_given? ? capture(&block) : options[:default]
5
-
6
- result = ::CopywritingPhrase.for(name, options)
7
-
8
- options[:html_safe] ? result.html_safe : result
6
+ ::CopywritingPhrase.for(name, options)
9
7
  end
10
8
 
9
+ def copywriting_options(options, &block)
10
+ @copywriting_options = options
11
+ yield
12
+ @copywriting_options = nil
13
+ end
11
14
  end
@@ -14,7 +14,6 @@ class CopywritingPhrase < ActiveRecord::Base
14
14
  phrase = self.create(:name => name,
15
15
  :scope => options[:scope],
16
16
  :default => options[:default],
17
- :value => options[:value],
18
17
  :page_id => (options[:page].try(:id) || options[:page_id] || nil),
19
18
  :phrase_type => options[:phrase_type])
20
19
  end
@@ -1,11 +1,12 @@
1
1
  <div class='field'>
2
2
  <%= f.label :value, f.object.name.capitalize -%>
3
+ <% value = f.object.default_or_value %>
3
4
  <% case f.object.phrase_type %>
4
5
  <% when "text" %>
5
- <%= f.text_area :value, :rows => 12, :class => 'widest' -%>
6
+ <%= f.text_area :value, :value => value, :rows => 12, :class => 'widest' -%>
6
7
  <% when "wysiwyg" %>
7
- <%= f.text_area :value, :rows => 5, :class => 'widest wymeditor' -%>
8
+ <%= f.text_area :value, :value => value, :rows => 5, :class => 'widest wymeditor' -%>
8
9
  <% else %>
9
- <%= f.text_field :value, :class => 'widest larger' -%>
10
+ <%= f.text_field :value, :value => value, :class => 'widest larger' -%>
10
11
  <% end %>
11
12
  </div>
@@ -24,7 +24,32 @@ describe CopywritingHelper do
24
24
 
25
25
  copywriting("test block").should == block_text
26
26
  end
27
-
27
+
28
+ it "it should allow you to set default options with copywriting_options block" do
29
+ copywriting_options({:scope => 'default_scope'}) do
30
+ copywriting("test with default scope")
31
+ end
32
+
33
+ CopywritingPhrase.where(:name => "test with default scope").scope.should == 'default_scope'
34
+ end
35
+
36
+ it "it should allow you to overwrite the default options set with copywriting_options block" do
37
+ copywriting_options({:scope => 'default_scope'}) do
38
+ copywriting("test without default scope", {:scope => 'without_default_scope'})
39
+ end
40
+
41
+ CopywritingPhrase.where(:name => "test without default scope").scope.should == 'without_default_scope'
42
+ end
43
+
44
+ it "it should clear the default options after copywriting_options block" do
45
+ copywriting_options({:scope => 'default_scope'}) do
46
+ copywriting("test with default scope")
47
+ end
48
+ copywriting("test outside default scope")
49
+
50
+ CopywritingPhrase.where(:name => "test outside default scope").scope.should_not == 'default_scope'
51
+ end
52
+
28
53
  end
29
54
 
30
55
  end
metadata CHANGED
@@ -1,21 +1,22 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: refinerycms-copywriting
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 6
10
- version: 1.0.6
9
+ - 7
10
+ version: 1.0.7
11
11
  platform: ruby
12
12
  authors:
13
13
  - Charles Barbier
14
+ - David Jones
14
15
  autorequire:
15
16
  bindir: bin
16
17
  cert_chain: []
17
18
 
18
- date: 2011-07-01 00:00:00 Z
19
+ date: 2011-07-08 00:00:00 Z
19
20
  dependencies: []
20
21
 
21
22
  description: Extract all your strings and leave no human word behind, with i18n