Class: AngularSprinkles::ModelDecorator

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/angular_sprinkles/model_decorator.rb

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ ModelDecorator

Returns a new instance of ModelDecorator.



3
4
5
6
7
8
9
10
# File 'lib/angular_sprinkles/model_decorator.rb', line 3

def initialize(args)
  @key = args.fetch(:key)
  @json_wrapper = args.fetch(:json_wrapper)
  @object_wrapper = args.fetch(:object_wrapper)
  @object = args.fetch(:object)

  super(@object)
end

Instance Method Details

#bind(attribute = nil) ⇒ Object



12
13
14
# File 'lib/angular_sprinkles/model_decorator.rb', line 12

def bind(attribute = nil)
  @object_wrapper.new(@key, attribute, @json_wrapper)
end

#classObject

Rails uses #class as a part of #form_for to create labels. Delegate this method to the model class to prevent this issue.



19
20
21
# File 'lib/angular_sprinkles/model_decorator.rb', line 19

def class
  @object.class
end