Class: FriendlyAttributes::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/friendly_attributes/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(active_record_model) ⇒ Configuration

Returns a new instance of Configuration.



5
6
7
8
9
# File 'lib/friendly_attributes/configuration.rb', line 5

def initialize(active_record_model)
  @model = active_record_model
  @details_delegators = []
  @attributes = {}
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



3
4
5
# File 'lib/friendly_attributes/configuration.rb', line 3

def attributes
  @attributes
end

#details_delegatorsObject (readonly)

Returns the value of attribute details_delegators.



3
4
5
# File 'lib/friendly_attributes/configuration.rb', line 3

def details_delegators
  @details_delegators
end

#modelObject (readonly)

Returns the value of attribute model.



3
4
5
# File 'lib/friendly_attributes/configuration.rb', line 3

def model
  @model
end

Instance Method Details

#add(delegator) ⇒ Object



11
12
13
# File 'lib/friendly_attributes/configuration.rb', line 11

def add(delegator)
  details_delegators << delegator
end

#add_attribute(name, friendly_model) ⇒ Object



15
16
17
# File 'lib/friendly_attributes/configuration.rb', line 15

def add_attribute(name, friendly_model)
  attributes[name] = friendly_model
end

#each_model(&block) ⇒ Object



31
32
33
# File 'lib/friendly_attributes/configuration.rb', line 31

def each_model(&block)
  friendly_models.each(&block)
end

#friendly_modelsObject



23
24
25
# File 'lib/friendly_attributes/configuration.rb', line 23

def friendly_models
  details_delegators.map { |dd| dd.friendly_model }
end

#map_models(&block) ⇒ Object



27
28
29
# File 'lib/friendly_attributes/configuration.rb', line 27

def map_models(&block)
  friendly_models.map(&block)
end

#model_for_attribute(attr) ⇒ Object



19
20
21
# File 'lib/friendly_attributes/configuration.rb', line 19

def model_for_attribute(attr)
  attributes[attr]
end