Module: Gon

Defined in:
lib/gon.rb,
lib/gon/rabl.rb,
lib/gon/escaper.rb,
lib/gon/helpers.rb,
lib/gon/version.rb,
lib/gon/jbuilder.rb

Defined Under Namespace

Modules: Escaper, GonHelpers, Helpers, Jbuilder, Rabl

Constant Summary collapse

VERSION =
'2.2.2'

Class Method Summary collapse

Class Method Details

.all_variablesObject



18
19
20
# File 'lib/gon.rb', line 18

def all_variables
  @request_env['gon']
end

.clearObject



22
23
24
# File 'lib/gon.rb', line 22

def clear
  @request_env['gon'] = {}
end

.get_variable(name) ⇒ Object



56
57
58
# File 'lib/gon.rb', line 56

def get_variable(name)
  @request_env['gon'][name]
end

.jbuilder(*options) ⇒ Object

Raises:

  • (NoMethodError)


90
91
92
93
# File 'lib/gon.rb', line 90

def jbuilder(*options)
  raise NoMethodError.new('You can use Jbuilder support only in 1.9+') if RUBY_VERSION < '1.9'
  orig_jbuilder(*options)
end

.method_missing(m, *args, &block) ⇒ Object



45
46
47
48
49
50
51
52
53
54
# File 'lib/gon.rb', line 45

def method_missing(m, *args, &block)
  if ( m.to_s =~ /=$/ )
    if public_methods.include?(RUBY_VERSION > '1.9' ? m.to_s[0..-2].to_sym : m.to_s[0..-2])
      raise "You can't use Gon public methods for storing data"
    end
    set_variable(m.to_s.delete('='), args[0])
  else
    get_variable(m.to_s)
  end
end

.orig_jbuilderObject



88
# File 'lib/gon.rb', line 88

alias_method :orig_jbuilder, :jbuilder

.requestObject



37
38
39
# File 'lib/gon.rb', line 37

def request
  @request_id if defined? @request_id
end

.request=(request_id) ⇒ Object



41
42
43
# File 'lib/gon.rb', line 41

def request=(request_id)
  @request_id = request_id
end

.request_envObject



31
32
33
34
35
# File 'lib/gon.rb', line 31

def request_env
  if defined?(@request_env)
    return @request_env
  end
end

.request_env=(environment) ⇒ Object



26
27
28
29
# File 'lib/gon.rb', line 26

def request_env=(environment)
  @request_env = environment
  @request_env['gon'] ||= {}
end

.set_variable(name, value) ⇒ Object



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

def set_variable(name, value)
  @request_env['gon'][name] = value
end