Class: Toast::ConfigDSL::InCollection

Inherits:
Object
  • Object
show all
Includes:
Blockenspiel::DSL
Defined in:
lib/toast/config_dsl.rb

Instance Method Summary collapse

Constructor Details

#initialize(model, base_config) ⇒ InCollection

Returns a new instance of InCollection.



100
101
102
103
104
105
106
107
# File 'lib/toast/config_dsl.rb', line 100

def initialize model, base_config
  @model = model
  @fields = base_config.fields
  @disallow_methods = []
  # @exposed_attributes = base_config.exposed_attributes
  # @exposed_associations = base_config.exposed_associations
  @media_type = "application/json"
end

Instance Method Details

#disallow_methods(*arg) ⇒ Object



143
144
145
146
# File 'lib/toast/config_dsl.rb', line 143

def disallow_methods *arg
  return(@disallow_methods) if arg.empty?
  self.disallow_methods = *arg        
end

#disallow_methods=(*arg) ⇒ Object



139
140
141
# File 'lib/toast/config_dsl.rb', line 139

def disallow_methods= *arg
  @disallow_methods.push *ConfigDSL.sanitize(arg,"disallow methods")
end

#exposed_associationsObject



134
135
136
137
# File 'lib/toast/config_dsl.rb', line 134

def exposed_associations
  assocs = @model.reflect_on_all_associations.map{|a| a.name.to_s}
  @fields.select{|f| assocs.include?(f)}
end

#exposed_attributesObject



129
130
131
132
# File 'lib/toast/config_dsl.rb', line 129

def exposed_attributes
  assocs = @model.reflect_on_all_associations.map{|a| a.name.to_s}
  @fields.select{|f| !assocs.include?(f)}
end

#fields(*arg) ⇒ Object



124
125
126
127
# File 'lib/toast/config_dsl.rb', line 124

def fields *arg
  return(@fields) if arg.empty?
  self.fields = *arg
end

#fields=(*fields) ⇒ Object



109
110
111
112
113
114
115
116
117
118
119
120
121
122
# File 'lib/toast/config_dsl.rb', line 109

def fields= *fields
  @fields = ConfigDSL.sanitize(fields,"fields")

  # @exposed_attributes = []
  # @exposed_associations = []

  # @fields.each do |attr_or_assoc|
  #   if @model.new.attributes.keys.include? attr_or_assoc
  #     @exposed_attributes << attr_or_assoc
  #   else
  #     @exposed_associations << attr_or_assoc
  #   end
  # end
end