Class: Webmock::Graphql::ParamsContext

Inherits:
Object
  • Object
show all
Defined in:
lib/webmock/graphql.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(builder_context_class) ⇒ ParamsContext

Returns a new instance of ParamsContext.



60
61
62
# File 'lib/webmock/graphql.rb', line 60

def initialize(builder_context_class)
  @builder_context_class = builder_context_class
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, &block) ⇒ Object



65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/webmock/graphql.rb', line 65

def method_missing(name, &block)
  builder_context_class.define_method(name) do
    # self == builder_context instance
    vname = "@#{name}"
    if instance_variable_defined?(vname)
      instance_variable_get(vname)
    elsif block
      instance_exec(&block)
    else
      raise "#{name} is not passed"
    end
  end
end

Instance Attribute Details

#builder_context_classObject (readonly)

Returns the value of attribute builder_context_class.



63
64
65
# File 'lib/webmock/graphql.rb', line 63

def builder_context_class
  @builder_context_class
end

Instance Method Details

#respond_to_missing?(sym, include_private) ⇒ Boolean

Returns:

  • (Boolean)


79
80
81
# File 'lib/webmock/graphql.rb', line 79

def respond_to_missing?(sym, include_private)
  true
end