Class: Toast::ConfigDSL::InCollection
- Inherits:
-
Object
- Object
- Toast::ConfigDSL::InCollection
- Includes:
- Blockenspiel::DSL
- Defined in:
- lib/toast/config_dsl.rb
Instance Method Summary collapse
- #disallow_methods(*arg) ⇒ Object
- #disallow_methods=(*arg) ⇒ Object
- #exposed_associations ⇒ Object
- #exposed_attributes ⇒ Object
- #fields(*arg) ⇒ Object
- #fields=(*fields) ⇒ Object
-
#initialize(model, base_config) ⇒ InCollection
constructor
A new instance of InCollection.
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_associations ⇒ Object
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_attributes ⇒ Object
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 |