Class: Userlist::Rails::Transform

Inherits:
Object
  • Object
show all
Defined in:
lib/userlist/rails/transform.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(model, config = Userlist.config) ⇒ Transform

Returns a new instance of Transform.



8
9
10
11
# File 'lib/userlist/rails/transform.rb', line 8

def initialize(model, config = Userlist.config)
  @model = model
  @config = config
end

Class Method Details

.attributesObject



4
5
6
# File 'lib/userlist/rails/transform.rb', line 4

def self.attributes
  @attributes = []
end

Instance Method Details

#[](name) ⇒ Object



13
14
15
# File 'lib/userlist/rails/transform.rb', line 13

def [](name)
  model.try("userlist_#{name}") || public_send("default_#{name}") if key?(name)
end

#delete?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/userlist/rails/transform.rb', line 33

def delete?
  (!model.respond_to?(:userlist_delete?) || model.userlist_delete?)
end

#hashObject



25
26
27
# File 'lib/userlist/rails/transform.rb', line 25

def hash
  model.hash
end

#key?(name) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/userlist/rails/transform.rb', line 17

def key?(name)
  keys.include?(name.to_sym)
end

#keysObject



21
22
23
# File 'lib/userlist/rails/transform.rb', line 21

def keys
  self.class.attributes
end

#push?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/userlist/rails/transform.rb', line 29

def push?
  (!model.respond_to?(:userlist_push?) || model.userlist_push?)
end