Class: ColorSchemeRevisor
- Inherits:
-
Object
- Object
- ColorSchemeRevisor
- Defined in:
- app/services/color_scheme_revisor.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(color_scheme, params = {}) ⇒ ColorSchemeRevisor
constructor
A new instance of ColorSchemeRevisor.
- #revise ⇒ Object
Constructor Details
#initialize(color_scheme, params = {}) ⇒ ColorSchemeRevisor
Returns a new instance of ColorSchemeRevisor.
4 5 6 7 |
# File 'app/services/color_scheme_revisor.rb', line 4 def initialize(color_scheme, params = {}) @color_scheme = color_scheme @params = params end |
Class Method Details
.revise(color_scheme, params) ⇒ Object
9 10 11 |
# File 'app/services/color_scheme_revisor.rb', line 9 def self.revise(color_scheme, params) self.new(color_scheme, params).revise end |
Instance Method Details
#revise ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'app/services/color_scheme_revisor.rb', line 13 def revise ColorScheme.transaction do @color_scheme.name = @params[:name] if @params.has_key?(:name) @color_scheme.user_selectable = @params[:user_selectable] if @params.has_key?( :user_selectable, ) @color_scheme.base_scheme_id = @params[:base_scheme_id] if @params.has_key?(:base_scheme_id) has_colors = @params[:colors] if has_colors @params[:colors].each do |c| if existing = @color_scheme.colors_by_name[c[:name]] existing.update(c) else @color_scheme.color_scheme_colors << ColorSchemeColor.new(name: c[:name], hex: c[:hex]) end end @color_scheme.clear_colors_cache end if has_colors || @color_scheme.saved_change_to_name? || @color_scheme.will_save_change_to_user_selectable? || @color_scheme.saved_change_to_base_scheme_id? @color_scheme.save end end @color_scheme end |