[Git][noosfero/noosfero][master] 3 commits: make a refactoring of section block

Leandro Nunes gitlab at mg.gitlab.com
Tue Jul 11 15:07:50 BRT 2017


Leandro Nunes pushed to branch master at Noosfero / noosfero


Commits:
2c961763 by Leandro Nunes dos Santos at 2017-07-10T18:40:57-03:00
make a refactoring of section block

- - - - -
4a805a2b by Leandro Nunes dos Santos at 2017-07-11T08:10:49-03:00
fix unit tests

- - - - -
70b12d62 by Leandro Nunes at 2017-07-11T18:07:36+00:00
Merge branch 'section-block-refactoring' into 'master'

make a refactoring of section block

See merge request !1283
- - - - -


2 changed files:

- plugins/section_block/lib/section_block_plugin/section_block.rb
- plugins/section_block/test/unit/section_block_plugin/section_block_test.rb


Changes:

=====================================
plugins/section_block/lib/section_block_plugin/section_block.rb
=====================================
--- a/plugins/section_block/lib/section_block_plugin/section_block.rb
+++ b/plugins/section_block/lib/section_block_plugin/section_block.rb
@@ -2,25 +2,23 @@ class SectionBlockPlugin::SectionBlock < Block
 
   attr_accessible :name, :description, :font_color, :background_color
 
-  DEFAULT_SECTION_NAME = 'New Section'
-  DEFAULT_BACKGROUND_COLOR = "E6E6E6"
-  DEFAULT_FONT_COLOR = "000000"
-
-  settings_items :name, :type => :string, :default => DEFAULT_SECTION_NAME
+  settings_items :name, :type => :string, :default => _('New Section')
   settings_items :description, :type => :string
-  settings_items :background_color, :type => :string, :default => DEFAULT_BACKGROUND_COLOR
-  settings_items :font_color, :type => :string, :default => DEFAULT_FONT_COLOR
+  settings_items :background_color, :type => :string
+  settings_items :font_color, :type => :string
 
-  validate :valid_section_name
+  before_save :set_default_values
 
-  def valid_section_name
-    errors.add(:name, _('This Section Name is not valid.')) if name.blank?
+  def initialize(*params)
+    super(params)
+    self.set_default_values
   end
 
-  before_save :normalize_colors
-
-  before_save do |section|
-    raise _('This Section Name is not valid.') if section.name.blank?
+  def set_default_values
+    self.background_color ||= 'E6E6E6'
+    self.background_color.gsub!('#', '')
+    self.font_color ||= '000000'
+    self.font_color.gsub!('#', '')
   end
 
   def self.description
@@ -45,24 +43,12 @@ class SectionBlockPlugin::SectionBlock < Block
 
   private
 
-  def normalize_colors
-    normalize_color(background_color, DEFAULT_BACKGROUND_COLOR)
-    normalize_color(font_color, DEFAULT_FONT_COLOR)
-  end
-
-  def normalize_color(color, default_color)
-    color.gsub!('#', '') if color
-    color = default_color if color.blank?
-  end
-
   def font_css_inline_style
-    return '' if font_color.blank?
-    'color: #' + font_color + ';'
+    font_color.blank? ? '' : 'color: #' + font_color + ';'
   end
 
   def background_css_inline_style
-    return '' if background_color.blank?
-    'background-color: #' + background_color + ';'
+    background_color.blank? ? '' : 'background-color: #' + background_color + ';'
   end
 
 end


=====================================
plugins/section_block/test/unit/section_block_plugin/section_block_test.rb
=====================================
--- a/plugins/section_block/test/unit/section_block_plugin/section_block_test.rb
+++ b/plugins/section_block/test/unit/section_block_plugin/section_block_test.rb
@@ -20,21 +20,23 @@ class SectionBlockPlugin::SectionBlockTest < ActiveSupport::TestCase
     refute @block.name.blank?
   end
 
-  should 'have a default font color' do
+  should 'have a default font color after save' do
     @block.save!
     refute @block.font_color.blank?
   end
 
-  should 'have a default background color' do
+  should 'have a default font color on creation' do
+    refute @block.font_color.blank?
+  end
+
+  should 'have a default background color after save' do
     @block.save!
     refute @block.background_color.blank?
   end
 
-  should 'raise exception while trying to save empty name' do
-    @block.name = ''
-    assert_raise ActiveRecord::RecordInvalid do
-      @block.save!
-    end
+  should 'have a default background color on creation' do
+
+    refute @block.background_color.blank?
   end
 
   should 'not be cacheable' do
@@ -52,7 +54,7 @@ class SectionBlockPlugin::SectionBlockTest < ActiveSupport::TestCase
     assert_match 'background-color: ', @block.css_inline_style
   end
 
-  should 'normalize colors on save block' do
+  should 'remove # from colors on save block' do
     @block.font_color = '#FFFFFF'
     @block.background_color = "#000000"
     @block.save!



View it on GitLab: https://gitlab.com/noosfero/noosfero/compare/1c9ce1e63d8d25e2d75694f4d04ef95895720bf4...70b12d62d752f0ea391fc1143b0331ef0d970c0b

---
View it on GitLab: https://gitlab.com/noosfero/noosfero/compare/1c9ce1e63d8d25e2d75694f4d04ef95895720bf4...70b12d62d752f0ea391fc1143b0331ef0d970c0b
You're receiving this email because of your account on gitlab.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-dev/attachments/20170711/dfa07818/attachment-0001.html>


More information about the Noosfero-dev mailing list