Class: ArelExtensions::Nodes::Json

Inherits:
JsonNode show all
Defined in:
lib/arel_extensions/nodes/json.rb

Constant Summary

Constants inherited from JsonNode

ArelExtensions::Nodes::JsonNode::RETURN_TYPE

Constants inherited from Function

Function::MBSTRING, Function::RETURN_TYPE

Instance Attribute Summary

Attributes inherited from JsonNode

#dict

Instance Method Summary collapse

Methods inherited from JsonNode

#convert_to_json_node, #get, #group, #hash, #merge, #set, #type_of_node

Methods inherited from Function

#!=, #==, #as, #convert_to_date_node, #convert_to_datetime_node, #convert_to_node, #convert_to_number, #convert_to_string_node, #expr, #left, #return_type, #right, #type_of_attribute

Methods included from Predications

#cast, #convert_to_node, #imatches, #in, #matches, #not_in, #when

Methods inherited from Arel::Nodes::Function

#as

Methods included from ArelExtensions::NullFunctions

#coalesce, #coalesce_blank, #if_present, #is_not_null, #is_null

Methods included from BooleanFunctions

#and, #or, #then, #⋀, #⋁

Methods included from StringFunctions

#&, #[], #ai_collate, #ai_imatches, #ai_matches, #blank, #byte_length, #char_length, #ci_collate, #collate, #concat, #downcase, #edit_distance, #group_concat, #idoes_not_match, #idoes_not_match_all, #idoes_not_match_any, #imatches, #imatches_all, #imatches_any, #length, #levenshtein_distance, #locate, #ltrim, #md5, #not_blank, #regexp_replace, #repeat, #replace, #rtrim, #smatches, #soundex, #substring, #trim, #upcase

Methods included from MathFunctions

#*, #/, #abs, #ceil, #floor, #format_number, #log10, #pow, #power, #round, #std, #sum, #variance

Methods included from DateDuration

#day, #format, #format_date, #hour, #minute, #month, #second, #wday, #week, #year

Methods included from Comparators

#!~, #<, #<=, #=~, #>, #>=

Methods included from Math

#+, #-

Methods included from Aliases

#xas

Constructor Details

#initialize(*expr) ⇒ Json

Returns a new instance of Json.



75
76
77
78
79
80
81
82
83
# File 'lib/arel_extensions/nodes/json.rb', line 75

def initialize *expr
  @dict =
    if expr.length == 1
      convert_to_json_node(expr.first)
    else
      expr.map{|e| convert_to_json_node(e) }
    end
  super
end