Class: Comet::SearchClause

Inherits:
Object
  • Object
show all
Defined in:
lib/comet/models/search_clause.rb

Overview

SearchClause is a typed class wrapper around the underlying Comet Server API data structure.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeSearchClause

Returns a new instance of SearchClause.



35
36
37
# File 'lib/comet/models/search_clause.rb', line 35

def initialize
  clear
end

Instance Attribute Details

#clause_childrenObject

Returns the value of attribute clause_children.



30
31
32
# File 'lib/comet/models/search_clause.rb', line 30

def clause_children
  @clause_children
end

#clause_typeObject

Returns the value of attribute clause_type.



18
19
20
# File 'lib/comet/models/search_clause.rb', line 18

def clause_type
  @clause_type
end

#rule_fieldObject

Returns the value of attribute rule_field.



21
22
23
# File 'lib/comet/models/search_clause.rb', line 21

def rule_field
  @rule_field
end

#rule_operatorObject

Returns the value of attribute rule_operator.



24
25
26
# File 'lib/comet/models/search_clause.rb', line 24

def rule_operator
  @rule_operator
end

#rule_valueObject

Returns the value of attribute rule_value.



27
28
29
# File 'lib/comet/models/search_clause.rb', line 27

def rule_value
  @rule_value
end

#unknown_json_fieldsObject

Returns the value of attribute unknown_json_fields.



33
34
35
# File 'lib/comet/models/search_clause.rb', line 33

def unknown_json_fields
  @unknown_json_fields
end

Instance Method Details

#clearObject



39
40
41
42
43
44
45
46
# File 'lib/comet/models/search_clause.rb', line 39

def clear
  @clause_type = ''
  @rule_field = ''
  @rule_operator = ''
  @rule_value = ''
  @clause_children = []
  @unknown_json_fields = {}
end

#from_hash(obj) ⇒ Object

Parameters:

  • obj (Hash)

    The complete object as a Ruby hash



56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/comet/models/search_clause.rb', line 56

def from_hash(obj)
  raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash

  obj.each do |k, v|
    case k
    when 'ClauseType'
      raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String

      @clause_type = v
    when 'RuleField'
      raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String

      @rule_field = v
    when 'RuleOperator'
      raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String

      @rule_operator = v
    when 'RuleValue'
      raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String

      @rule_value = v
    when 'ClauseChildren'
      if v.nil?
        @clause_children = []
      else
        @clause_children = Array.new(v.length)
        v.each_with_index do |v1, i1|
          @clause_children[i1] = Comet::SearchClause.new
          @clause_children[i1].from_hash(v1)
        end
      end
    else
      @unknown_json_fields[k] = v
    end
  end
end

#from_json(json_string) ⇒ Object

Parameters:

  • json_string (String)

    The complete object in JSON format



49
50
51
52
53
# File 'lib/comet/models/search_clause.rb', line 49

def from_json(json_string)
  raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String

  from_hash(JSON.parse(json_string))
end

#to_hHash

Returns The complete object as a Ruby hash.

Returns:

  • (Hash)

    The complete object as a Ruby hash



110
111
112
# File 'lib/comet/models/search_clause.rb', line 110

def to_h
  to_hash
end

#to_hashHash

Returns The complete object as a Ruby hash.

Returns:

  • (Hash)

    The complete object as a Ruby hash



94
95
96
97
98
99
100
101
102
103
104
105
106
107
# File 'lib/comet/models/search_clause.rb', line 94

def to_hash
  ret = {}
  ret['ClauseType'] = @clause_type
  ret['RuleField'] = @rule_field
  ret['RuleOperator'] = @rule_operator
  ret['RuleValue'] = @rule_value
  unless @clause_children.nil?
    ret['ClauseChildren'] = @clause_children
  end
  @unknown_json_fields.each do |k, v|
    ret[k] = v
  end
  ret
end

#to_json(options = {}) ⇒ String

Returns The complete object as a JSON string.

Returns:

  • (String)

    The complete object as a JSON string



115
116
117
# File 'lib/comet/models/search_clause.rb', line 115

def to_json(options = {})
  to_hash.to_json(options)
end