Module: GraphQL::Definable

Included in:
Enum, Field, ObjectType
Defined in:
lib/graphql.rb

Instance Method Summary collapse

Instance Method Details

#attr_definable(*names) ⇒ Object



16
17
18
19
20
21
22
23
24
25
# File 'lib/graphql.rb', line 16

def attr_definable(*names)
  attr_accessor(*names)
  names.each do |name|
    ivar_name = "@#{name}".to_sym
    define_method(name) do |new_value=nil|
      new_value && self.instance_variable_set(ivar_name, new_value)
      instance_variable_get(ivar_name)
    end
  end
end